[svn:parrot] r45236 - trunk/src/pmc

bacek at svn.parrot.org bacek at svn.parrot.org
Sun Mar 28 10:00:07 UTC 2010


Author: bacek
Date: Sun Mar 28 10:00:07 2010
New Revision: 45236
URL: https://trac.parrot.org/parrot/changeset/45236

Log:
Headerize Class PMC

Modified:
   trunk/src/pmc/class.pmc

Modified: trunk/src/pmc/class.pmc
==============================================================================
--- trunk/src/pmc/class.pmc	Sun Mar 28 09:59:43 2010	(r45235)
+++ trunk/src/pmc/class.pmc	Sun Mar 28 10:00:07 2010	(r45236)
@@ -103,14 +103,20 @@
         __attribute__nonnull__(2);
 
 static int cache_class_attribs(PARROT_INTERP,
-    PMC *cur_class,
-    PMC *attrib_index,
-    PMC *cache,
+    ARGIN(PMC *cur_class),
+    ARGIN(PMC *attrib_index),
+    ARGIN(PMC *cache),
     int cur_index)
-        __attribute__nonnull__(1);
+        __attribute__nonnull__(1)
+        __attribute__nonnull__(2)
+        __attribute__nonnull__(3)
+        __attribute__nonnull__(4);
 
-static void calculate_mro(PARROT_INTERP, PMC *SELF, INTVAL num_parents)
-        __attribute__nonnull__(1);
+static void calculate_mro(PARROT_INTERP,
+    ARGIN(PMC *SELF),
+    INTVAL num_parents)
+        __attribute__nonnull__(1)
+        __attribute__nonnull__(2);
 
 static void init_class_from_hash(PARROT_INTERP,
     ARGMOD(PMC *self),
@@ -119,41 +125,62 @@
         __attribute__nonnull__(2)
         FUNC_MODIFIES(*self);
 
-static void initialize_parents(PARROT_INTERP, PMC *object, PMC *all_parents)
-        __attribute__nonnull__(1);
+static void initialize_parents(PARROT_INTERP,
+    ARGIN(PMC *object),
+    ARGIN(PMC *all_parents))
+        __attribute__nonnull__(1)
+        __attribute__nonnull__(2)
+        __attribute__nonnull__(3);
 
 static void initialize_parents_pmc(PARROT_INTERP,
-    PMC *object,
-    PMC *all_parents,
-    PMC *init)
-        __attribute__nonnull__(1);
+    ARGIN(PMC *object),
+    ARGIN(PMC *all_parents),
+    ARGIN(PMC *init))
+        __attribute__nonnull__(1)
+        __attribute__nonnull__(2)
+        __attribute__nonnull__(3)
+        __attribute__nonnull__(4);
 
-static STRING * make_class_name(PARROT_INTERP, PMC *SELF)
-        __attribute__nonnull__(1);
+PARROT_CANNOT_RETURN_NULL
+static STRING * make_class_name(PARROT_INTERP, ARGIN(PMC *SELF))
+        __attribute__nonnull__(1)
+        __attribute__nonnull__(2);
 
 #define ASSERT_ARGS_build_attrib_index __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
        PARROT_ASSERT_ARG(interp) \
     , PARROT_ASSERT_ARG(self))
 #define ASSERT_ARGS_cache_class_attribs __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
-       PARROT_ASSERT_ARG(interp))
+       PARROT_ASSERT_ARG(interp) \
+    , PARROT_ASSERT_ARG(cur_class) \
+    , PARROT_ASSERT_ARG(attrib_index) \
+    , PARROT_ASSERT_ARG(cache))
 #define ASSERT_ARGS_calculate_mro __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
-       PARROT_ASSERT_ARG(interp))
+       PARROT_ASSERT_ARG(interp) \
+    , PARROT_ASSERT_ARG(SELF))
 #define ASSERT_ARGS_init_class_from_hash __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
        PARROT_ASSERT_ARG(interp) \
     , PARROT_ASSERT_ARG(self))
 #define ASSERT_ARGS_initialize_parents __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
-       PARROT_ASSERT_ARG(interp))
+       PARROT_ASSERT_ARG(interp) \
+    , PARROT_ASSERT_ARG(object) \
+    , PARROT_ASSERT_ARG(all_parents))
 #define ASSERT_ARGS_initialize_parents_pmc __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
-       PARROT_ASSERT_ARG(interp))
+       PARROT_ASSERT_ARG(interp) \
+    , PARROT_ASSERT_ARG(object) \
+    , PARROT_ASSERT_ARG(all_parents) \
+    , PARROT_ASSERT_ARG(init))
 #define ASSERT_ARGS_make_class_name __attribute__unused__ int _ASSERT_ARGS_CHECK = (\
-       PARROT_ASSERT_ARG(interp))
+       PARROT_ASSERT_ARG(interp) \
+    , PARROT_ASSERT_ARG(SELF))
 /* Don't modify between HEADERIZER BEGIN / HEADERIZER END.  Your changes will be lost. */
 /* HEADERIZER END: static */
 
 static int
-cache_class_attribs(PARROT_INTERP, PMC *cur_class, PMC *attrib_index,
-    PMC *cache, int cur_index)
+cache_class_attribs(PARROT_INTERP,
+        ARGIN(PMC *cur_class), ARGIN(PMC *attrib_index),
+        ARGIN(PMC *cache), int cur_index)
 {
+    ASSERT_ARGS(cache_class_attribs)
     /* The attribute metadata hash. */
     Parrot_Class_attributes * const class_info = PARROT_CLASS(cur_class);
     PMC          * const attribs     = class_info->attrib_metadata;
@@ -192,6 +219,7 @@
 static void
 build_attrib_index(PARROT_INTERP, ARGIN(PMC *self))
 {
+    ASSERT_ARGS(build_attrib_index)
     Parrot_Class_attributes * const _class      = PARROT_CLASS(self);
     int                  cur_index    = 0;
     PMC * const          attrib_index = Parrot_pmc_new(interp, enum_class_Hash);
@@ -221,6 +249,7 @@
 static void
 init_class_from_hash(PARROT_INTERP, ARGMOD(PMC *self), ARGIN_NULLOK(PMC *info))
 {
+    ASSERT_ARGS(init_class_from_hash)
     Parrot_Class_attributes * const _class      = PARROT_CLASS(self);
     STRING       * const name_str    = CONST_STRING(interp, "name");
     STRING       * const parents_str = CONST_STRING(interp, "parents");
@@ -379,8 +408,9 @@
 }
 
 static void
-initialize_parents(PARROT_INTERP, PMC *object, PMC *all_parents)
+initialize_parents(PARROT_INTERP, ARGIN(PMC *object), ARGIN(PMC *all_parents))
 {
+    ASSERT_ARGS(initialize_parents)
     INTVAL  parent_index = VTABLE_elements(interp, all_parents) - 1;
     STRING * const name  = CONST_STRING(interp, "init");
 
@@ -407,8 +437,10 @@
 }
 
 static void
-initialize_parents_pmc(PARROT_INTERP, PMC *object, PMC *all_parents, PMC *init)
+initialize_parents_pmc(PARROT_INTERP, ARGIN(PMC *object),
+        ARGIN(PMC *all_parents), ARGIN(PMC *init))
 {
+    ASSERT_ARGS(initialize_parents_pmc)
     INTVAL parent_index = VTABLE_elements(interp, all_parents) - 1;
     STRING * const name  = CONST_STRING(interp, "init_pmc");
 
@@ -437,9 +469,11 @@
  * directly.  VTABLE_isa() uses the name without copying it, for efficiency
  * reasons, as it does not modify the STRING.  VTABLE_get_string() makes a copy
  * of the STRING, so its callers are free to modify it. */
+PARROT_CANNOT_RETURN_NULL
 static STRING *
-make_class_name(PARROT_INTERP, PMC *SELF)
+make_class_name(PARROT_INTERP, ARGIN(PMC *SELF))
 {
+    ASSERT_ARGS(make_class_name)
     Parrot_Class_attributes * const  _class    = PARROT_CLASS(SELF);
     PMC          * const _namespace = _class->_namespace;
 
@@ -471,8 +505,9 @@
  * see the documentation associated with C<Parrot_ComputeMRO_C3>.
  */
 static void
-calculate_mro(PARROT_INTERP, PMC *SELF, INTVAL num_parents)
+calculate_mro(PARROT_INTERP, ARGIN(PMC *SELF), INTVAL num_parents)
 {
+    ASSERT_ARGS(calculate_mro)
     Parrot_Class_attributes  * const _class = PARROT_CLASS(SELF);
 
     /* SELF is already on the all_parents */


More information about the parrot-commits mailing list