Author: chromatic Date: Mon Jan 19 21:19:27 2009 New Revision: 35788 Modified: trunk/docs/pdds/pdd17_pmc.pod trunk/docs/pdds/pdd28_strings.pod
Changes in other areas also in this revision: Modified: trunk/DEPRECATED.pod trunk/compilers/imcc/pbc.c trunk/languages/lua/src/pmc/luaboolean.pmc trunk/languages/lua/src/pmc/luanil.pmc trunk/languages/lua/src/pmc/luanumber.pmc trunk/languages/lua/src/pmc/luastring.pmc trunk/src/dynext.c trunk/src/pmc/fixedintegerarray.pmc trunk/src/pmc/float.pmc trunk/src/pmc/integer.pmc trunk/src/pmc/string.pmc trunk/src/vtable.tbl trunk/t/pmc/float.t trunk/t/pmc/string.t trunk/tools/dev/vtablize.pl Log: [PMC] Changed new_from_string VTABLE entry name to instantiate_str, per RT #47011. That's good enough to meet the deprecation goal. Sigh. Modified: trunk/docs/pdds/pdd17_pmc.pod ============================================================================== --- trunk/docs/pdds/pdd17_pmc.pod (original) +++ trunk/docs/pdds/pdd17_pmc.pod Mon Jan 19 21:19:27 2009 @@ -59,12 +59,12 @@ typedef union UnionVal { struct { - void * _bufstart; + void *_bufstart; size_t _buflen; } _b; struct { - DPOINTER* _struct_val; - PMC* _pmc_val; + DPOINTER *_struct_val; + PMC *_pmc_val; } _ptrs; struct _i { INTVAL _int_val; @@ -454,14 +454,14 @@ =item init - void init(INTERP, PMC* self) + void init(INTERP, PMC *self) Called when a PMC is first instantiated. It takes an unused PMC parameter and turns it into a PMC of the appropriate class. =item init_pmc - void init_pmc(INTERP, PMC* self, PMC* initializer) + void init_pmc(INTERP, PMC *self, PMC *initializer) Alternative entry point called when a PMC is first instantiated. Accepts a PMC parameter used to initialize the given object. Interpretation of the PMC @@ -473,16 +473,16 @@ =item instantiate - PMC* instantiate(INTERP, PMC* self, PMC* init) + PMC* instantiate(INTERP, PMC *self, PMC *init) Creates a new PMC object of the type of the class and calls init_pmc(), passing in the initialization argument, I<init>, which is usually a hash. This opcode is most often used with high-level classes, but low-level PMCs may instantiate an object of their own type. -=item new_from_string [deprecated: See RT# 47011] +=item instantiate_str - PMC* new_from_string(INTERP, PMC* self, STRING* rep, INTVAL flags) + PMC* instantiate_str(INTERP, PMC *self, STRING *rep, INTVAL flags) Construct a PMC initializing it from a string representation and integer flags. [NOTE: this has been replaced by C<instantiate>. Any @@ -490,19 +490,19 @@ =item inspect - PMC* inspect(INTERP, PMC* self) + PMC* inspect(INTERP, PMC *self) Return a hash of all characteristics of the I<self> PMC available for introspection. - PMC* inspect_str(INTERP, PMC* self, STRING* what) + PMC* inspect_str(INTERP, PMC *self, STRING *what) Return a PMC value for one characteristic of the I<self> PMC, selected by string name. Returns PMCNULL if the characteristic doesn't exist. =item morph - void morph(INTERP, PMC* self, INTVAL type) + void morph(INTERP, PMC *self, INTVAL type) Turn the PMC into a PMC of type I<type>. If the morphing can't be done in any reasonable way -- for instance if an integer is asked to turn into an Array -- @@ -515,7 +515,7 @@ =item mark - void mark(INTERP, PMC* self) + void mark(INTERP, PMC *self) Called when the DOD is tracing live PMCs. If this method is called then the code must mark all strings and PMCs that it contains as live, otherwise they @@ -537,7 +537,7 @@ =item destroy - void destroy(INTERP, PMC* self) + void destroy(INTERP, PMC *self) Called when the PMC is destroyed. This method is called by the DOD when it determines that a PMC is dead and that the PMC has marked itself as having a @@ -551,19 +551,19 @@ =item clone - PMC* clone(INTERP, PMC* self) + PMC* clone(INTERP, PMC *self) Return a clone of a PMC. =item defined - INTVAL defined(INTERP, PMC* self) + INTVAL defined(INTERP, PMC *self) Return a true value if the PMC is defined, false otherwise. =item get_class - PMC* get_class(INTERP, PMC* self) + PMC* get_class(INTERP, PMC *self) Return the class object for this PMC. For high-level objects, this is a C<Class> object (or other high-level class object). For low-level PMCs, @@ -571,41 +571,41 @@ =item get_namespace - PMC* get_namespace(INTERP, PMC* self) + PMC* get_namespace(INTERP, PMC *self) Return the namespace object for this PMC. =item freeze - void freeze(INTERP, PMC* self, visit_info* info) + void freeze(INTERP, PMC *self, visit_info* info) Freeze the PMC to an archived string format (a bytecode string constant that can be saved in a packfile). =item thaw - void thaw (INTERP, PMC* self, visit_info* info) + void thaw (INTERP, PMC *self, visit_info* info) Thaw a PMC from an archived string format (a bytecode string constant that can be saved in a packfile). =item thawfinish - void thawfinish (INTERP, PMC* self, visit_info* info) + void thawfinish (INTERP, PMC *self, visit_info* info) Called after the PMC has been thawed to perform any finalization steps. =item visit - void visit (INTERP, PMC* self, visit_info* info) + void visit (INTERP, PMC *self, visit_info* info) Used by C<freeze> and C<thaw> to visit the contents of the PMC. =item share - void share(INTERP, PMC* self) + void share(INTERP, PMC *self) - PMC* share_ro(INTERP, PMC* self) + PMC* share_ro(INTERP, PMC *self) Mark a PMC as shared and read-only. @@ -620,34 +620,34 @@ =item getprop - PMC* getprop(INTERP, PMC* self, STRING* key) + PMC* getprop(INTERP, PMC *self, STRING *key) Return the value from the property hash of I<self> keyed by I<key>. The key should not be null. =item setprop - void setprop(INTERP, PMC* self, STRING* key, PMC* value) + void setprop(INTERP, PMC *self, STRING *key, PMC *value) Set the value in the property hash of I<self> that is keyed by I<key> to the value of I<value>. The key should not be null. =item delprop - void delprop(INTERP, PMC* self, STRING* key) + void delprop(INTERP, PMC *self, STRING *key) Delete the value from the property hash of I<self> keyed by I<key>. The key should not be null. =item getprops - PMC* getprops(INTERP, PMC* self) + PMC* getprops(INTERP, PMC *self) Return the entire property hash for I<self>. =item type [deprecated: See RT #48567] - INTVAL type(INTERP, PMC* self) + INTVAL type(INTERP, PMC *self) Return the type of the PMC. Type is a unique number associated with the PMC when the PMC's class is loaded. Negative numbers are considered @@ -655,45 +655,45 @@ =item name - STRING* name(INTERP, PMC* self) + STRING* name(INTERP, PMC *self) Return the name of the class for the PMC. =item get_integer - INTVAL get_integer(INTERP, PMC* self) + INTVAL get_integer(INTERP, PMC *self) Return the native integer value of the PMC. =item get_number - FLOATVAL get_number(INTERP, PMC* self) + FLOATVAL get_number(INTERP, PMC *self) Return the native floating-point value of the PMC. =item get_bignum - PMC* get_bignum(INTERP, PMC* self) + PMC* get_bignum(INTERP, PMC *self) Return the extended precision numeric value of the PMC as a new bignum PMC. =item get_string - STRING* get_string(INTERP, PMC* self) + STRING* get_string(INTERP, PMC *self) Return the native string value of the PMC. This may be in any encoding, chosen by the PMC. =item get_repr - STRING* get_repr(INTERP, PMC* self) + STRING* get_repr(INTERP, PMC *self) Return a string representation of the PMC. [NOTE: redundant with C<get_string>, candidate for deprecation.] =item get_bool - INTVAL get_bool(INTERP, PMC* self) + INTVAL get_bool(INTERP, PMC *self) Return the true/false value of the PMC (the constant TRUE or the constant FALSE). The definition of truth for a given PMC will depend on the type of the @@ -702,7 +702,7 @@ =item get_pmc - PMC* get_pmc(INTERP, PMC* self) + PMC* get_pmc(INTERP, PMC *self) Return the PMC value for this PMC. This is useful in circumstances where the thing being accessed may return something other than its own value. For @@ -711,14 +711,14 @@ =item set_integer_native - void set_integer_native(INTERP, PMC* self, INTVAL value) + void set_integer_native(INTERP, PMC *self, INTVAL value) Set the integer value of this PMC from a native integer value (integer register/constant). =item set_integer_same - void set_integer_same(INTERP, PMC* self, PMC* value) + void set_integer_same(INTERP, PMC *self, PMC *value) Set the value of this PMC from the integer value of another PMC. The value PMC is guaranteed to be of the same type as the I<self> PMC, so optimizations may @@ -726,14 +726,14 @@ =item set_number_native - void set_number_native(INTERP, PMC* self, FLOATVAL value) + void set_number_native(INTERP, PMC *self, FLOATVAL value) Set the value of this PMC from a native floating-point value (float register/constant). =item set_number_same - void set_number_same(INTERP, PMC* self, PMC* value) + void set_number_same(INTERP, PMC *self, PMC *value) Set the value of this PMC from the floating-point value another PMC. The value PMC is guaranteed to be of the same type as the I<self> PMC, so optimizations @@ -741,7 +741,7 @@ =item get_pointer - void* get_pointer(INTERP, PMC* self) + void* get_pointer(INTERP, PMC *self) Returns a pointer value for the PMC. Useful for PMCs that hold pointers to arbitrary data. The details of the data (type, location etc.) depend on the @@ -749,28 +749,28 @@ =item set_bignum_int - void set_bignum_int(INTERP, PMC* self, INTVAL value) + void set_bignum_int(INTERP, PMC *self, INTVAL value) Morph the PMC to a BIGNUM PMC, and set the extended-precision value from a native integer. =item set_string_native - void set_string_native(INTERP, PMC* self, STRING* value) + void set_string_native(INTERP, PMC *self, STRING *value) Set the value of this PMC from a native string value (string register/constant). =item assign_string_native - void assign_string_native(INTERP, PMC* self, STRING* value) + void assign_string_native(INTERP, PMC *self, STRING *value) Set the value of this PMC to a copied native string value (string register/constant). =item set_string_same - void set_string_same(INTERP, PMC* self, PMC* value) + void set_string_same(INTERP, PMC *self, PMC *value) Set the value of this PMC from the string value of another PMC. The value PMC is guaranteed to be of the same type as the I<self> PMC, so optimizations may @@ -778,7 +778,7 @@ =item set_bool - void set_bool(INTERP, PMC* self, INTVAL value) + void set_bool(INTERP, PMC *self, INTVAL value) Set the boolean state of the PMC to TRUE if the native integer value passed in is TRUE, or FALSE if the value is FALSE. The definition of truth is left open @@ -787,20 +787,20 @@ =item assign_pmc - void assign_pmc(INTERP, PMC* self, PMC* value) + void assign_pmc(INTERP, PMC *self, PMC *value) Set the value of the PMC in I<self> to the value of the PMC in I<value> by copying the value. =item set_pmc - void set_pmc(INTERP, PMC* self, PMC* value) + void set_pmc(INTERP, PMC *self, PMC *value) Make the PMC in I<self> refer to the PMC passed as I<value>. =item set_pointer - void set_pointer(INTERP, PMC* self, void* value) + void set_pointer(INTERP, PMC *self, void* value) Set the pointer value of the PMC Useful for PMCs that hold pointers to arbitrary data. The details of the data (type, location etc.) depend on the @@ -811,8 +811,8 @@ =head3 Aggregate Vtable Functions Many of the following functions have a *_keyed form, a *_keyed_int form, and a -*_keyed_str form. The keyed forms take a PMC*, INTVAL, or STRING* key as a -parameter. The PMC* parameter is null (PMCNULL) if there is no key for that +*_keyed_str form. The keyed forms take a PMC *, INTVAL, or STRING * key as a +parameter. The PMC * parameter is null (PMCNULL) if there is no key for that PMC; this means that that argument is unkeyed. In some cases, the caller must provide a non-null key. Those cases are @@ -822,31 +822,31 @@ class is a non-aggregate type, the _keyed_* methods should throw an exception. If you do not implement the *_keyed_int and *_keyed_str functions, the default -will convert the INTVAL or STRING* into a key PMC* and call the corresponding +will convert the INTVAL or STRING * into a key PMC * and call the corresponding *_keyed functions. =over 4 =item elements - INTVAL elements(INTERP, PMC* self) + INTVAL elements(INTERP, PMC *self) Return the number of elements in the PMC. =item get_integer_keyed - INTVAL get_integer_keyed(INTERP, PMC* self, PMC* key) - INTVAL get_integer_keyed_int(INTERP, PMC* self, INTVAL key) - INTVAL get_integer_keyed_str(INTERP, PMC* self, STRING* key) + INTVAL get_integer_keyed(INTERP, PMC *self, PMC *key) + INTVAL get_integer_keyed_int(INTERP, PMC *self, INTVAL key) + INTVAL get_integer_keyed_str(INTERP, PMC *self, STRING *key) Return the integer value for the element indexed by a PMC, integer, or string key. The key is guaranteed not to be null for this function. =item get_number_keyed - FLOATVAL get_number_keyed(INTERP, PMC* self, PMC* key) - FLOATVAL get_number_keyed_int(INTERP, PMC* self, INTVAL key) - FLOATVAL get_number_keyed_str(INTERP, PMC* self, STRING* key) + FLOATVAL get_number_keyed(INTERP, PMC *self, PMC *key) + FLOATVAL get_number_keyed_int(INTERP, PMC *self, INTVAL key) + FLOATVAL get_number_keyed_str(INTERP, PMC *self, STRING *key) Return the native floating-point value for the element indexed by a PMC, integer, or string key. The key is guaranteed not to be null for this @@ -854,27 +854,27 @@ =item get_string_keyed - STRING* get_string_keyed(INTERP, PMC* self, PMC* key) - STRING* get_string_keyed_int(INTERP, PMC* self, INTVAL key) - STRING* get_string_keyed_str(INTERP, PMC* self, STRING* key) + STRING* get_string_keyed(INTERP, PMC *self, PMC *key) + STRING* get_string_keyed_int(INTERP, PMC *self, INTVAL key) + STRING* get_string_keyed_str(INTERP, PMC *self, STRING *key) Return the string value for the element indexed by a PMC, integer, or string key. The key is guaranteed not to be null for this function. =item get_pmc_keyed - PMC* get_pmc_keyed(INTERP, PMC* self, PMC* key) - PMC* get_pmc_keyed_int(INTERP, PMC* self, INTVAL key) - PMC* get_pmc_keyed_str(INTERP, PMC* self, STRING* key) + PMC* get_pmc_keyed(INTERP, PMC *self, PMC *key) + PMC* get_pmc_keyed_int(INTERP, PMC *self, INTVAL key) + PMC* get_pmc_keyed_str(INTERP, PMC *self, STRING *key) Return the PMC value for the element indexed by a PMC, integer, or string key. The key is guaranteed not to be null for this function. =item get_pointer_keyed - void* get_pointer_keyed(INTERP, PMC* self, PMC* key) - void* get_pointer_keyed_int(INTERP, PMC* self, INTVAL key) - void* get_pointer_keyed_str(INTERP, PMC* self, STRING* key) + void* get_pointer_keyed(INTERP, PMC *self, PMC *key) + void* get_pointer_keyed_int(INTERP, PMC *self, INTVAL key) + void* get_pointer_keyed_str(INTERP, PMC *self, STRING *key) Return the pointer value for the element indexed by a PMC, integer, or string key. The details of the data (type, location etc.) depend on the @@ -882,149 +882,149 @@ =item set_integer_keyed - void set_integer_keyed(INTERP, PMC* self, PMC* key, INTVAL value) - void set_integer_keyed_int(INTERP, PMC* self, INTVAL key, INTVAL value) - void set_integer_keyed_str(INTERP, PMC* self, STRING* key, INTVAL value) + void set_integer_keyed(INTERP, PMC *self, PMC *key, INTVAL value) + void set_integer_keyed_int(INTERP, PMC *self, INTVAL key, INTVAL value) + void set_integer_keyed_str(INTERP, PMC *self, STRING *key, INTVAL value) Set the integer value of the element indexed by a PMC, integer, or string key. The key is guaranteed not to be null for this function. =item set_number_keyed - void set_number_keyed(INTERP, PMC* self, PMC* key, FLOATVAL value) - void set_number_keyed_int(INTERP, PMC* self, INTVAL key, FLOATVAL value) - void set_number_keyed_str(INTERP, PMC* self, STRING* key, FLOATVAL value) + void set_number_keyed(INTERP, PMC *self, PMC *key, FLOATVAL value) + void set_number_keyed_int(INTERP, PMC *self, INTVAL key, FLOATVAL value) + void set_number_keyed_str(INTERP, PMC *self, STRING *key, FLOATVAL value) Set the floating-point value of the element indexed by a PMC, integer, or string key. The key is guaranteed not to be null for this function. =item set_string_keyed - void set_string_keyed(INTERP, PMC* self, PMC* key, STRING* value) - void set_string_keyed_int(INTERP, PMC* self, INTVAL key, STRING* value) - void set_string_keyed_str(INTERP, PMC* self, STRING* key, STRING* value) + void set_string_keyed(INTERP, PMC *self, PMC *key, STRING *value) + void set_string_keyed_int(INTERP, PMC *self, INTVAL key, STRING *value) + void set_string_keyed_str(INTERP, PMC *self, STRING *key, STRING *value) Set the string value of the element indexed by a PMC, integer, or string key. The key is guaranteed not to be null for this function. =item set_pmc_keyed - void set_pmc_keyed(INTERP, PMC* self, PMC* key, PMC* value) - void set_pmc_keyed_int(INTERP, PMC* self, INTVAL key, PMC* value) - void set_pmc_keyed_str(INTERP, PMC* self, STRING* key, PMC* value) + void set_pmc_keyed(INTERP, PMC *self, PMC *key, PMC *value) + void set_pmc_keyed_int(INTERP, PMC *self, INTVAL key, PMC *value) + void set_pmc_keyed_str(INTERP, PMC *self, STRING *key, PMC *value) Set the PMC value of the element indexed by a PMC, integer, or string key by copying the value of another PMC. =item set_pointer_keyed - void set_pointer_keyed(INTERP, PMC* self, PMC* key, void* value) - void set_pointer_keyed_int(INTERP, PMC* self, INTVAL key, void* value) - void set_pointer_keyed_str(INTERP, PMC* self, STRING* key, void* value) + void set_pointer_keyed(INTERP, PMC *self, PMC *key, void* value) + void set_pointer_keyed_int(INTERP, PMC *self, INTVAL key, void* value) + void set_pointer_keyed_str(INTERP, PMC *self, STRING *key, void* value) Set the pointer value of the element indexed by a PMC, integer, or string key. =item pop_integer - INTVAL pop_integer(INTERP, PMC* self) + INTVAL pop_integer(INTERP, PMC *self) Return the integer value of the last item on the list, removing that item. =item pop_float - FLOATVAL pop_float(INTERP, PMC* self) + FLOATVAL pop_float(INTERP, PMC *self) Return the floating-point value of the last item on the list, removing that item. =item pop_string - STRING* pop_string(INTERP, PMC* self) + STRING* pop_string(INTERP, PMC *self) Return the string value of the last item on the list, removing that item. =item pop_pmc - PMC* pop_pmc(INTERP, PMC* self) + PMC* pop_pmc(INTERP, PMC *self) Return the PMC value of the last item on the list, removing that item. =item push_integer - void push_integer(INTERP, PMC* self, INTVAL value) + void push_integer(INTERP, PMC *self, INTVAL value) Add the passed in integer value to the end of the list. =item push_float - void push_float(INTERP, PMC* self, FLOATVAL value) + void push_float(INTERP, PMC *self, FLOATVAL value) Add the passed in floating-point number to the end of the list. =item push_string - void push_string(INTERP, PMC* self, STRING* value) + void push_string(INTERP, PMC *self, STRING *value) Add the passed in string to the end of the list. =item push_pmc - void push_pmc(INTERP, PMC* self, PMC* value) + void push_pmc(INTERP, PMC *self, PMC *value) Add the passed in PMC to the end of the list. =item shift_integer - INTVAL shift_integer(INTERP, PMC* self) + INTVAL shift_integer(INTERP, PMC *self) Return the integer value of the first item on the list, removing that item. =item shift_float - FLOATVAL shift_float(INTERP, PMC* self) + FLOATVAL shift_float(INTERP, PMC *self) Return the floating-point value of the first item on the list, removing that item. =item shift_string - STRING* shift_string(INTERP, PMC* self) + STRING* shift_string(INTERP, PMC *self) Return the string value of the first item on the list, removing that item. =item shift_pmc - PMC* shift_pmc(INTERP, PMC* self) + PMC* shift_pmc(INTERP, PMC *self) Return the PMC value of the first item on the list, removing that item. =item unshift_integer - void unshift_integer(INTERP, PMC* self, INTVAL value) + void unshift_integer(INTERP, PMC *self, INTVAL value) Add the passed in integer value to the beginning of the list. =item unshift_float - void unshift_float(INTERP, PMC* self, FLOATVAL value) + void unshift_float(INTERP, PMC *self, FLOATVAL value) Add the passed in floating-point number to the beginning of the list. =item unshift_string - void unshift_string(INTERP, PMC* self, STRING* value) + void unshift_string(INTERP, PMC *self, STRING *value) Add the passed in string to the beginning of the list. =item unshift_pmc - void unshift_pmc(INTERP, PMC* self, PMC* value) + void unshift_pmc(INTERP, PMC *self, PMC *value) Add the passed in PMC to the beginning of the list. =item splice - void splice(INTERP, PMC* self, PMC* value, INTVAL offset, INTVAL count) + void splice(INTERP, PMC *self, PMC *value, INTVAL offset, INTVAL count) Replace some number of PMCs (specified by the integer I<count>) at offset I<offset> from the beginning of I<self> with the PMCs in the @@ -1032,33 +1032,33 @@ =item exists_keyed - INTVAL exists_keyed(INTERP, PMC* self, PMC* key) - INTVAL exists_keyed_int(INTERP, PMC* self, INTVAL key) - INTVAL exists_keyed_str(INTERP, PMC* self, STRING* key) + INTVAL exists_keyed(INTERP, PMC *self, PMC *key) + INTVAL exists_keyed_int(INTERP, PMC *self, INTVAL key) + INTVAL exists_keyed_str(INTERP, PMC *self, STRING *key) Check if the element indexed by a PMC, integer, or string key exists. =item defined_keyed - INTVAL defined_keyed(INTERP, PMC* self, PMC* key) - INTVAL defined_keyed_int(INTERP, PMC* self, INTVAL key) - INTVAL defined_keyed_str(INTERP, PMC* self, STRING* key) + INTVAL defined_keyed(INTERP, PMC *self, PMC *key) + INTVAL defined_keyed_int(INTERP, PMC *self, INTVAL key) + INTVAL defined_keyed_str(INTERP, PMC *self, STRING *key) Check if the element indexed by a PMC, integer, or string key is defined. =item delete_keyed - void delete_keyed(INTERP, PMC* self, PMC* key) - void delete_keyed_int(INTERP, PMC* self, INTVAL key) - void delete_keyed_str(INTERP, PMC* self, STRING* key) + void delete_keyed(INTERP, PMC *self, PMC *key) + void delete_keyed_int(INTERP, PMC *self, INTVAL key) + void delete_keyed_str(INTERP, PMC *self, STRING *key) Delete the element indexed by a PMC, integer, or string key. =item nextkey_keyed - PMC* nextkey_keyed(INTERP, PMC* self, PMC* key, INTVAL what) - PMC* nextkey_keyed_int(INTERP, PMC* self, INTVAL key, INTVAL what) - PMC* nextkey_keyed_str(INTERP, PMC* self, STRING* key, INTVAL what) + PMC* nextkey_keyed(INTERP, PMC *self, PMC *key, INTVAL what) + PMC* nextkey_keyed_int(INTERP, PMC *self, INTVAL key, INTVAL what) + PMC* nextkey_keyed_str(INTERP, PMC *self, STRING *key, INTVAL what) Advance to the next position while iterating through an aggregate. [NOTE: this feature needs review together with the Iterator PMC.] @@ -1071,13 +1071,13 @@ =item add - void add(INTERP, PMC* self, PMC* value, PMC* dest) - void add_int(INTERP, PMC* self, INTVAL value, PMC* dest) - void add_float(INTERP, PMC* self, FLOATVAL value, PMC* dest) - - void i_add(INTERP, PMC* self, PMC* value) - void i_add_int(INTERP, PMC* self, INTVAL value) - void i_add_float(INTERP, PMC* self, FLOATVAL value) + void add(INTERP, PMC *self, PMC *value, PMC *dest) + void add_int(INTERP, PMC *self, INTVAL value, PMC *dest) + void add_float(INTERP, PMC *self, FLOATVAL value, PMC *dest) + + void i_add(INTERP, PMC *self, PMC *value) + void i_add_int(INTERP, PMC *self, INTVAL value) + void i_add_float(INTERP, PMC *self, FLOATVAL value) Add the value of I<self> to the value of a PMC, native integer, or native floating-point number and store the result in a PMC I<dest>. Note that I<dest> @@ -1087,13 +1087,13 @@ =item subtract - PMC* subtract(INTERP, PMC* self, PMC* value, PMC* dest) - PMC* subtract_int(INTERP, PMC* self, INTVAL value, PMC* dest) - PMC* subtract_float(INTERP, PMC* self, FLOATVAL value, PMC* dest) - - void i_subtract(INTERP, PMC* self, PMC* value) - void i_subtract_int(INTERP, PMC* self, INTVAL value) - void i_subtract_float(INTERP, PMC* self, FLOATVAL value) + PMC* subtract(INTERP, PMC *self, PMC *value, PMC *dest) + PMC* subtract_int(INTERP, PMC *self, INTVAL value, PMC *dest) + PMC* subtract_float(INTERP, PMC *self, FLOATVAL value, PMC *dest) + + void i_subtract(INTERP, PMC *self, PMC *value) + void i_subtract_int(INTERP, PMC *self, INTVAL value) + void i_subtract_float(INTERP, PMC *self, FLOATVAL value) Subtract the value of a PMC, native integer, or native floating-point number from a PMC and store the result in I<dest>. If I<dest> is null create a result @@ -1103,25 +1103,25 @@ =item increment - void increment(INTERP, PMC* self) + void increment(INTERP, PMC *self) Increment the value of a PMC by 1. =item decrement - void decrement(INTERP, PMC* self) + void decrement(INTERP, PMC *self) Decrement the value of a PMC by 1. =item multiply - void multiply(INTERP, PMC* self, PMC* value, PMC* dest) - void multiply_int(INTERP, PMC* self, INTVAL value, PMC* dest) - void multiply_float(INTERP, PMC* self, FLOATVAL value, PMC* dest) - - void i_multiply(INTERP, PMC* self, PMC* value) - void i_multiply_int(INTERP, PMC* self, INTVAL value) - void i_multiply_float(INTERP, PMC* self, FLOATVAL value) + void multiply(INTERP, PMC *self, PMC *value, PMC *dest) + void multiply_int(INTERP, PMC *self, INTVAL value, PMC *dest) + void multiply_float(INTERP, PMC *self, FLOATVAL value, PMC *dest) + + void i_multiply(INTERP, PMC *self, PMC *value) + void i_multiply_int(INTERP, PMC *self, INTVAL value) + void i_multiply_float(INTERP, PMC *self, FLOATVAL value) Multiply a PMC, native integer, or floating-point value by the value of the PMC I<self> and store the result in the I<dest> PMC. Note that I<dest> may be @@ -1130,13 +1130,13 @@ =item divide - void divide(INTERP, PMC* self, PMC* value, PMC* dest) - void divide_int(INTERP, PMC* self, INTVAL value, PMC* dest) - void divide_float(INTERP, PMC* self, FLOATVAL value, PMC* dest) - - void i_divide(INTERP, PMC* self, PMC* value) - void i_divide_int(INTERP, PMC* self, INTVAL value) - void i_divide_float(INTERP, PMC* self, FLOATVAL value) + void divide(INTERP, PMC *self, PMC *value, PMC *dest) + void divide_int(INTERP, PMC *self, INTVAL value, PMC *dest) + void divide_float(INTERP, PMC *self, FLOATVAL value, PMC *dest) + + void i_divide(INTERP, PMC *self, PMC *value) + void i_divide_int(INTERP, PMC *self, INTVAL value) + void i_divide_float(INTERP, PMC *self, FLOATVAL value) Divide the value of the I<self> PMC by a PMC, native integer, or native floating-point number and store the result in I<dest>. Note that I<dest> may @@ -1146,13 +1146,13 @@ =item floor_divide - PMC* floor_divide(INTERP, PMC* self, PMC* value, PMC* dest) - PMC* floor_divide_int(INTERP, PMC* self, INTVAL value, PMC* dest) - PMC* floor_divide_float(INTERP, PMC* self, FLOATVAL value, PMC* dest) - - void i_floor_divide(INTERP, PMC* self, PMC* value) - void i_floor_divide_int(INTERP, PMC* self, INTVAL value) - void i_floor_divide_float(INTERP, PMC* self, FLOATVAL value) + PMC* floor_divide(INTERP, PMC *self, PMC *value, PMC *dest) + PMC* floor_divide_int(INTERP, PMC *self, INTVAL value, PMC *dest) + PMC* floor_divide_float(INTERP, PMC *self, FLOATVAL value, PMC *dest) + + void i_floor_divide(INTERP, PMC *self, PMC *value) + void i_floor_divide_int(INTERP, PMC *self, INTVAL value) + void i_floor_divide_float(INTERP, PMC *self, FLOATVAL value) Divide the PMC's value number by I<value> and return the result in I<dest>. The result is the C<floor()> of the division i.e. the next @@ -1162,13 +1162,13 @@ =item modulus - void modulus(INTERP, PMC* self, PMC* value, PMC* dest) - void modulus_int(INTERP, PMC* self, INTVAL value, PMC* dest) - void modulus_float(INTERP, PMC* self, FLOATVAL value, PMC* dest) - - void i_modulus(INTERP, PMC* self, PMC* value) - void i_modulus_int(INTERP, PMC* self, INTVAL value) - void i_modulus_float(INTERP, PMC* self, FLOATVAL value) + void modulus(INTERP, PMC *self, PMC *value, PMC *dest) + void modulus_int(INTERP, PMC *self, INTVAL value, PMC *dest) + void modulus_float(INTERP, PMC *self, FLOATVAL value, PMC *dest) + + void i_modulus(INTERP, PMC *self, PMC *value) + void i_modulus_int(INTERP, PMC *self, INTVAL value) + void i_modulus_float(INTERP, PMC *self, FLOATVAL value) Divide the value of the I<self> PMC by the value of a PMC, native integer, or native floating-point number and store the remainder in I<dest>. Note that @@ -1178,13 +1178,13 @@ =item cmodulus - void cmodulus(INTERP, PMC* self, PMC* value, PMC* dest) - void cmodulus_int(INTERP, PMC* self, INTVAL value, PMC* dest) - void cmodulus_float(INTERP, PMC* self, FLOATVAL value, PMC* dest) - - void i_cmodulus(INTERP, PMC* self, PMC* value) - void i_cmodulus_int(INTERP, PMC* self, INTVAL value) - void i_cmodulus_float(INTERP, PMC* self, FLOATVAL value) + void cmodulus(INTERP, PMC *self, PMC *value, PMC *dest) + void cmodulus_int(INTERP, PMC *self, INTVAL value, PMC *dest) + void cmodulus_float(INTERP, PMC *self, FLOATVAL value, PMC *dest) + + void i_cmodulus(INTERP, PMC *self, PMC *value) + void i_cmodulus_int(INTERP, PMC *self, INTVAL value) + void i_cmodulus_float(INTERP, PMC *self, FLOATVAL value) Divide the value of the I<self> PMC by the value of a PMC, native integer, or native floating-point number and store the remainder in I<dest>. Note that @@ -1197,29 +1197,29 @@ =item pow - PMC* pow(INTERP, PMC* self, PMC* value, PMC* dest) - PMC* pow_int(INTERP, PMC* self, INTVAL value, PMC* dest) - PMC* pow_float(INTERP, PMC* self, FLOATVAL value, PMC* dest) - - void i_pow(INTERP, PMC* self, PMC* value) - void i_pow_int(INTERP, PMC* self, INTVAL value) - void i_pow_float(INTERP, PMC* self, FLOATVAL value) + PMC* pow(INTERP, PMC *self, PMC *value, PMC *dest) + PMC* pow_int(INTERP, PMC *self, INTVAL value, PMC *dest) + PMC* pow_float(INTERP, PMC *self, FLOATVAL value, PMC *dest) + + void i_pow(INTERP, PMC *self, PMC *value) + void i_pow_int(INTERP, PMC *self, INTVAL value) + void i_pow_float(INTERP, PMC *self, FLOATVAL value) Return the value of I<self> raised to the power of I<value>. The C<i_> variants perform an inplace operation, modifying the value of I<self>. =item absolute - PMC* absolute(INTERP, PMC* self, PMC* dest) - void i_absolute(INTERP, PMC* self) + PMC* absolute(INTERP, PMC *self, PMC *dest) + void i_absolute(INTERP, PMC *self) Return the absolute value of I<self>. The C<i_> variant performs an inplace operation, modifying the value of I<self>. =item neg - void neg(INTERP, PMC* self, PMC* dest) - void i_neg(INTERP, PMC* self) + void neg(INTERP, PMC *self, PMC *dest) + void i_neg(INTERP, PMC *self) Negate the sign of I<self> and store the result in I<dest>. Note that I<self> and I<dest> may refer to the same PMC, in which case @@ -1234,10 +1234,10 @@ =item bitwise_or - void bitwise_or(INTERP, PMC* self, PMC* value, PMC* dest) - void bitwise_or_int(INTERP, PMC* self, INTVAL value, PMC* dest) - void i_bitwise_or(INTERP, PMC* self, PMC* value) - void i_bitwise_or_int(INTERP, PMC* self, INTVAL value) + void bitwise_or(INTERP, PMC *self, PMC *value, PMC *dest) + void bitwise_or_int(INTERP, PMC *self, INTVAL value, PMC *dest) + void i_bitwise_or(INTERP, PMC *self, PMC *value) + void i_bitwise_or_int(INTERP, PMC *self, INTVAL value) Calculate the bitwise-OR of the value of the I<self> PMC and the value of a PMC or native integer and store the result in I<dest>. Note that I<dest> may @@ -1249,10 +1249,10 @@ =item bitwise_and - PMC* bitwise_and(INTERP, PMC* self, PMC* value, PMC* dest) - PMC* bitwise_and_int(INTERP, PMC* self, INTVAL value, PMC* dest) - void i_bitwise_and(INTERP, PMC* self, PMC* value) - void i_bitwise_and_int(INTERP, PMC* self, INTVAL value) + PMC* bitwise_and(INTERP, PMC *self, PMC *value, PMC *dest) + PMC* bitwise_and_int(INTERP, PMC *self, INTVAL value, PMC *dest) + void i_bitwise_and(INTERP, PMC *self, PMC *value) + void i_bitwise_and_int(INTERP, PMC *self, INTVAL value) Return the result of a bitwise AND on the passed in I<value> and the I<self> PMC. The C<i_> variants perform an inplace operation and store the result in @@ -1260,10 +1260,10 @@ =item bitwise_xor - PMC* bitwise_xor(INTERP, PMC* self, PMC* value, PMC* dest) - PMC* bitwise_xor_int(INTERP, PMC* self, INTVAL value, PMC* dest) - void i_bitwise_xor(INTERP, PMC* self, PMC* value) - void i_bitwise_xor_int(INTERP, PMC* self, INTVAL value) + PMC* bitwise_xor(INTERP, PMC *self, PMC *value, PMC *dest) + PMC* bitwise_xor_int(INTERP, PMC *self, INTVAL value, PMC *dest) + void i_bitwise_xor(INTERP, PMC *self, PMC *value) + void i_bitwise_xor_int(INTERP, PMC *self, INTVAL value) Return the result of a bitwise XOR on the passed in I<value> and the I<self> PMC. The C<i_> variants perform an inplace operation and store the result in @@ -1271,10 +1271,10 @@ =item bitwise_ors - PMC* bitwise_ors(INTERP, PMC* self, PMC* value, PMC* dest) - PMC* bitwise_ors_str(INTERP, PMC* self, STRING* value, PMC* dest) - void i_bitwise_ors(INTERP, PMC* self, PMC* value) - void i_bitwise_ors_str(INTERP, PMC* self, STRING* value) + PMC* bitwise_ors(INTERP, PMC *self, PMC *value, PMC *dest) + PMC* bitwise_ors_str(INTERP, PMC *self, STRING *value, PMC *dest) + void i_bitwise_ors(INTERP, PMC *self, PMC *value) + void i_bitwise_ors_str(INTERP, PMC *self, STRING *value) Return the result of a bitwise OR over an entire string on the passed in I<value> and the I<self> PMC. The C<i_> variants perform an inplace operation @@ -1282,10 +1282,10 @@ =item bitwise_ands - PMC* bitwise_ands(INTERP, PMC* self, PMC* value, PMC* dest) - PMC* bitwise_ands_str(INTERP, PMC* self, STRING* value, PMC* dest) - void i_bitwise_ands(INTERP, PMC* self, PMC* value) - void i_bitwise_ands_str(INTERP, PMC* self, STRING* value) + PMC* bitwise_ands(INTERP, PMC *self, PMC *value, PMC *dest) + PMC* bitwise_ands_str(INTERP, PMC *self, STRING *value, PMC *dest) + void i_bitwise_ands(INTERP, PMC *self, PMC *value) + void i_bitwise_ands_str(INTERP, PMC *self, STRING *value) Return the result of a bitwise AND over an entire string on the passed in I<value> and the I<self> PMC. The C<i_> variants perform an inplace operation @@ -1293,10 +1293,10 @@ =item bitwise_xors - PMC* bitwise_xors(INTERP, PMC* self, PMC* value, PMC* dest) - PMC* bitwise_xors_str(INTERP, PMC* self, STRING* value, PMC* dest) - void i_bitwise_xors(INTERP, PMC* self, PMC* value) - void i_bitwise_xors_str(INTERP, PMC* self, STRING* value) + PMC* bitwise_xors(INTERP, PMC *self, PMC *value, PMC *dest) + PMC* bitwise_xors_str(INTERP, PMC *self, STRING *value, PMC *dest) + void i_bitwise_xors(INTERP, PMC *self, PMC *value) + void i_bitwise_xors_str(INTERP, PMC *self, STRING *value) Return the result of a bitwise XOR over an entire string on the passed in I<value> and the I<self> PMC. The C<i_> variants perform an inplace operation @@ -1304,26 +1304,26 @@ =item bitwise_not - PMC* bitwise_not(INTERP, PMC* self, PMC* dest) - void i_bitwise_not(INTERP, PMC* self) + PMC* bitwise_not(INTERP, PMC *self, PMC *dest) + void i_bitwise_not(INTERP, PMC *self) Returns the bitwise negation of the I<self> PMC. The C<i_> variant performs an inplace operation, storing the result in I<self>. =item bitwise_nots - PMC* bitwise_nots(INTERP, PMC* self, PMC* dest) - void i_bitwise_nots(INTERP, PMC* self) + PMC* bitwise_nots(INTERP, PMC *self, PMC *dest) + void i_bitwise_nots(INTERP, PMC *self) Returns the bitwise negation of the string I<self> PMC. The C<i_> variant performs an inplace operation, storing the result in I<self>. =item bitwise_shl - PMC* bitwise_shl(INTERP, PMC* self, PMC* value, PMC* dest) - PMC* bitwise_shl_int(INTERP, PMC* self, INTVAL value, PMC* dest) - void i_bitwise_shl(INTERP, PMC* self, PMC* value) - void i_bitwise_shl_int(INTERP, PMC* self, INTVAL value) + PMC* bitwise_shl(INTERP, PMC *self, PMC *value, PMC *dest) + PMC* bitwise_shl_int(INTERP, PMC *self, INTVAL value, PMC *dest) + void i_bitwise_shl(INTERP, PMC *self, PMC *value) + void i_bitwise_shl_int(INTERP, PMC *self, INTVAL value) Return the value of the I<self> PMC bitwise shifted left by the amount specified in I<value>, shifting in zeroes on the right (arithmetic/logical @@ -1334,10 +1334,10 @@ =item bitwise_shr - PMC* bitwise_shr(INTERP, PMC* self, PMC* value, PMC* dest) - PMC* bitwise_shr_int(INTERP, PMC* self, INTVAL value, PMC* dest) - void i_bitwise_shr(INTERP, PMC* self, PMC* value) - void i_bitwise_shr_int(INTERP, PMC* self, INTVAL value) + PMC* bitwise_shr(INTERP, PMC *self, PMC *value, PMC *dest) + PMC* bitwise_shr_int(INTERP, PMC *self, INTVAL value, PMC *dest) + void i_bitwise_shr(INTERP, PMC *self, PMC *value) + void i_bitwise_shr_int(INTERP, PMC *self, INTVAL value) Return the value of the I<self> PMC bitwise shifted right by the amount specified in I<value>, shifting in copies of the sign bit on the left @@ -1348,10 +1348,10 @@ =item bitwise_lsr - PMC* bitwise_lsr(INTERP, PMC* self, PMC* value, PMC* dest) - PMC* bitwise_lsr_int(INTERP, PMC* self, INTVAL value, PMC* dest) - void i_bitwise_lsr(INTERP, PMC* self, PMC* value) - void i_bitwise_lsr_int(INTERP, PMC* self, INTVAL value) + PMC* bitwise_lsr(INTERP, PMC *self, PMC *value, PMC *dest) + PMC* bitwise_lsr_int(INTERP, PMC *self, INTVAL value, PMC *dest) + void i_bitwise_lsr(INTERP, PMC *self, PMC *value) + void i_bitwise_lsr_int(INTERP, PMC *self, INTVAL value) Return the value of the I<self> PMC bitwise shifted right by the amount specified in I<value>, shifting in zeroes on the left (logical bitwise shift). @@ -1360,9 +1360,9 @@ =item is_equal - INTVAL is_equal(INTERP, PMC* self, PMC* value) - INTVAL is_equal_num(INTERP, PMC* self, PMC* value) - INTVAL is_equal_string(INTERP, PMC* self, PMC* value) + INTVAL is_equal(INTERP, PMC *self, PMC *value) + INTVAL is_equal_num(INTERP, PMC *self, PMC *value) + INTVAL is_equal_string(INTERP, PMC *self, PMC *value) Return an integer value (1/0) indicating if the I<self> PMC is equal to the I<value> PMC. The C<_num> version tests for numeric equality, while @@ -1370,16 +1370,16 @@ =item is_same - INTVAL is_same(INTERP, PMC* self, PMC* value) + INTVAL is_same(INTERP, PMC *self, PMC *value) Return an integer value (1/0) indicating if I<self> is the same as I<value> (with "sameness" determined by each PMC). =item cmp - INTVAL cmp(INTERP, PMC* self, PMC* value) - INTVAL cmp_num(INTERP, PMC* self, PMC* value) - INTVAL cmp_string(INTERP, PMC* self, PMC* value) + INTVAL cmp(INTERP, PMC *self, PMC *value) + INTVAL cmp_num(INTERP, PMC *self, PMC *value) + INTVAL cmp_string(INTERP, PMC *self, PMC *value) Returns the integer result of comparing the values of I<self> and I<value> (0 for equal, 1 if I<self> is greater, -1 if I<value> is @@ -1388,14 +1388,14 @@ =item logical_or - PMC* logical_or(INTERP, PMC* self, PMC* value, PMC* dest) + PMC* logical_or(INTERP, PMC *self, PMC *value, PMC *dest) Performs a logical OR, returning I<self> if it is true, and I<value> otherwise. =item logical_and - PMC* logical_and(INTERP, PMC* self, PMC* value, PMC* dest) + PMC* logical_and(INTERP, PMC *self, PMC *value, PMC *dest) Performs a logical AND, returning a true value if both I<self> and I<value> are true, and a false value otherwise. (Currently implemented @@ -1405,7 +1405,7 @@ =item logical_xor - PMC* logical_xor(INTERP, PMC* self, PMC* value, PMC* dest) + PMC* logical_xor(INTERP, PMC *self, PMC *value, PMC *dest) Performs a logical XOR, returning I<self> if it is true and I<value> is false, returning I<value> if it is true and I<self> is false, and @@ -1414,8 +1414,8 @@ =item logical_not - PMC* logical_not(INTERP, PMC* self, PMC* dest) - void i_logical_not(INTERP, PMC* self) + PMC* logical_not(INTERP, PMC *self, PMC *dest) + void i_logical_not(INTERP, PMC *self) Returns the logical negation of I<self>. The C<i_> variant performs an inplace negation, modifying the value of I<self>. @@ -1428,10 +1428,10 @@ =item concatenate - PMC* concatenate(INTERP, PMC* self, PMC* value, PMC* dest) - PMC* concatenate_str(INTERP, PMC* self, STRING* value, PMC* dest) - void i_concatenate(INTERP, PMC* self, PMC* value) - void i_concatenate_str(INTERP, PMC* self, STRING* value) + PMC* concatenate(INTERP, PMC *self, PMC *value, PMC *dest) + PMC* concatenate_str(INTERP, PMC *self, STRING *value, PMC *dest) + void i_concatenate(INTERP, PMC *self, PMC *value) + void i_concatenate_str(INTERP, PMC *self, STRING *value) Concatenate I<self> with a PMC or string value and return the result. The C<i_> variant performs an inplace concatenation, modifying the value @@ -1439,10 +1439,10 @@ =item repeat - PMC* repeat(INTERP, PMC* self, PMC* value, PMC* dest) - PMC* repeat_int(INTERP, PMC* self, INTVAL value, PMC* dest) - void i_repeat(INTERP, PMC* self, PMC* value) - void i_repeat_int(INTERP, PMC* self, INTVAL value) + PMC* repeat(INTERP, PMC *self, PMC *value, PMC *dest) + PMC* repeat_int(INTERP, PMC *self, INTVAL value, PMC *dest) + void i_repeat(INTERP, PMC *self, PMC *value) + void i_repeat_int(INTERP, PMC *self, INTVAL value) Return the result of repeating the value in I<self> the number of times indicated in I<value>. The C<i_> variants perform an inplace operation, @@ -1450,8 +1450,8 @@ =item substr - void substr(INTERP, PMC* self, INTVAL offset, INTVAL length, PMC* dest) - STRING* substr_str(INTERP, PMC* self, INTVAL offset, INTVAL length) + void substr(INTERP, PMC *self, INTVAL offset, INTVAL length, PMC *dest) + STRING* substr_str(INTERP, PMC *self, INTVAL offset, INTVAL length) Extracts the string starting at I<offset> with size I<length> and return it as a PMC in I<dest> or as a string return value. @@ -1464,7 +1464,7 @@ =item invoke - opcode_t* invoke(INTERP, PMC* self, void* next) + opcode_t* invoke(INTERP, PMC *self, void* next) Invoke the code object I<self>. @@ -1476,46 +1476,46 @@ =item can - INTVAL can(INTERP, PMC* self, STRING* method) + INTVAL can(INTERP, PMC *self, STRING *method) Return a true value if the PMC has a method named I<method>, return 0 otherwise. =item isa - INTVAL isa(INTERP, PMC* self, STRING* classname) + INTVAL isa(INTERP, PMC *self, STRING *classname) Return a true value if the PMC inherits from the class named I<classname>, return 0 otherwise. =item does - INTVAL does(INTERP, PMC* self, STRING* role) + INTVAL does(INTERP, PMC *self, STRING *role) Return a true value if the PMC C<does> (composes) or C<performs> (satisfies the interface of) the role named I<role>, return 0 otherwise. =item get_attr - PMC* get_attr_str(INTERP, PMC* self, STRING* idx) + PMC* get_attr_str(INTERP, PMC *self, STRING *idx) Retrieve an attribute value from the PMC (instance object). =item set_attr - void set_attr_str(INTERP, PMC* self, STRING* idx, PMC* value) + void set_attr_str(INTERP, PMC *self, STRING *idx, PMC *value) Store an attribute value in the PMC (instance object). =item add_parent - void add_parent(INTERP, PMC* self, PMC* parent) + void add_parent(INTERP, PMC *self, PMC *parent) Add a parent to the PMC (class object), establishing an inheritance relation. =item remove_parent - void remove_parent(INTERP, PMC* self, PMC* parent) + void remove_parent(INTERP, PMC *self, PMC *parent) Remove a parent from a PMC (class object). @@ -1523,13 +1523,13 @@ =item add_role - void add_role(INTERP, PMC* self, PMC* role) + void add_role(INTERP, PMC *self, PMC *role) Add a role to the PMC (class object), establishing a composition relation. =item remove_role - void remove_role(INTERP, PMC* self, PMC* role) + void remove_role(INTERP, PMC *self, PMC *role) Remove a role from the PMC (class object). @@ -1537,13 +1537,13 @@ =item add_attribute - void add_attribute(INTERP, PMC* self, STRING* name, PMC* type) + void add_attribute(INTERP, PMC *self, STRING *name, PMC *type) Add an attribute to the PMC (class object). =item remove_attribute - void remove_attribute(INTERP, PMC* self, STRING* name) + void remove_attribute(INTERP, PMC *self, STRING *name) Remove an attribute from the PMC (class object). @@ -1551,13 +1551,13 @@ =item add_method - void add_method(INTERP, PMC* self, STRING* method_name, PMC* sub_pmc) + void add_method(INTERP, PMC *self, STRING *method_name, PMC *sub_pmc) Add a method to the PMC (class object). =item remove_method - void remove_method(INTERP, PMC* self, STRING* method_name) + void remove_method(INTERP, PMC *self, STRING *method_name) Remove a method from the PMC (class object). @@ -1570,13 +1570,13 @@ Add a vtable override to the PMC (class object). - void remove_vtable_override(INTERP, PMC* self, STRING* vtable_name) + void remove_vtable_override(INTERP, PMC *self, STRING *vtable_name) Remove a vtable override from the PMC (class object). =item find_method - PMC* find_method(INTERP, PMC* self, STRING* method_name) + PMC* find_method(INTERP, PMC *self, STRING *method_name) Return a subroutine PMC for the passed method name. This subroutine PMC may be cached, so the method I<must> return an equivalent sub PMC each time, or be Modified: trunk/docs/pdds/pdd28_strings.pod ============================================================================== --- trunk/docs/pdds/pdd28_strings.pod (original) +++ trunk/docs/pdds/pdd28_strings.pod Mon Jan 19 21:19:27 2009 @@ -611,7 +611,7 @@ Initialize a new String PMC. -=item new_from_string +=item instantiate_str Create a new String PMC from a Parrot string argument.