parrotcode: Abstract root class | |
Contents | PMCs |
src/pmc/default.pmc - Abstract root class
These are the vtable functions for the default PMC class.
All methods which are not defined here get a default implementation generated from vtable.tbl by tools/build/pmc2c.pl.
static const char *caller(Interp *interpreter, PMC *pmc)
*pmc
.static void cant_do_method(Interp *interpreter, PMC *pmc, const char *methname)
static void check_set_std_props(Interp *interpreter, PMC *pmc, STRING *key, PMC *value)
setprop()
.static INTVAL does_isa(Interp *interpreter, STRING *method, STRING *what)
*method
and *what
.void init()
void init_pmc(PMC *value)
init()
.
*value
is ignored.void init_pmc_props (PMC *initializer, PMC *properties)
properties
as the PMC's metadata,
and calls init_pmc()
with initializer
if it is supplied,
otherwise init()
is called.PMC *instantiate()
void mark()
PMC *getprop(STRING *key)
*key
.
If no property is defined then an "undef" PMC is returned.void setprop(STRING *key, PMC *value)
*key
to *value
.void delprop(STRING *key)
*key
.PMC *getprops()
INTVAL type()
INTVAL type_keyed_int(INTVAL key)
key
to a PMC key and returns the result of calling type_keyed()
with it.STRING *name()
PMC *find_method(STRING *method_name)
*method_name
and returns it.
If no method is found then NULL
is returned.void add_method(STRING *method_name, PMC *sub)
INTVAL get_integer_keyed_int(INTVAL key)
key
to a PMC key and returns the result of calling get_integer_keyed()
with it.FLOATVAL get_number_keyed_int(INTVAL key)
key
to a PMC key and returns the result of calling get_number_keyed()
with it.STRING *get_string_keyed_int(INTVAL key)
key
to a PMC key and returns the result of calling get_string_keyed()
with it.INTVAL get_bool_keyed_int(INTVAL key)
key
to a PMC key and returns the result of calling get_bool_keyed()
with it.INTVAL elements_keyed_int(INTVAL key)
key
to a PMC key and returns the result of calling elements_keyed()
with it.PMC *get_pmc_keyed_int(INTVAL key)
key
to a PMC key and returns the result of calling get_pmc_keyed()
with it.INTVAL is_same(PMC *value)
value
.void assign_pmc (PMC *value)
void assign_string_native (PMC *value)
set_pmc
and set_string_native
.void set_integer_keyed_int (INTVAL key, INTVAL value)
key
to a PMC key and calls set_integer_keyed()
with it and value
.void set_number_keyed_int (INTVAL key, FLOATVAL value)
key
to a PMC key and calls set_number_keyed()
with it and value
.void set_string_keyed_int(INTVAL key, STRING *string)
key
to a PMC key and calls set_string_keyed()
with it and value
.void set_bool_keyed_int(INTVAL key, INTVAL value)
key
to a PMC key and calls set_bool_keyed()
with it and value
.void set_pmc_keyed_int(INTVAL key, PMC *value)
key
to a PMC key and calls set_pmc_keyed()
with it and value
.INTVAL is_equal(PMC *value)
*value
.INTVAL is_equal_num(PMC *value)
*value
.INTVAL is_equal_str(PMC *value)
*value
.INTVAL exists_keyed_int(INTVAL key)
key
to a PMC key and returns the result of calling exists_keyed()
with it.INTVAL defined()
INTVAL defined_keyed_int(INTVAL key)
key
to a PMC key and returns the result of calling defined_keyed()
with it.void delete_keyed_int(INTVAL key)
key
to a PMC key and calls delete_keyed()
with it.PMC *nextkey_keyed_int(INTVAL key, INTVAL w)
key
to a PMC key and returns the result of calling nextkey_keyed()
with it.INTVAL can(STRING *method)
*method
.INTVAL does(STRING *method)
*method
.INTVAL isa(STRING *method)
*method
.PMC *subclass(STRING *name)
name
.PMC *get_class()
PMC *get_attr_str(STRING *attr)
void add_parent(PMC *parent)
parent
to the list of our parents.void visit(visit_info *info)
void freeze(visit_info *info)
void thaw(visit_info *info)
void thawfinish(visit_info *info)
|