In the runtime, not only in the C world, a selector is identifyable by a string which is called the selector's name. Such a name consists of the various name parts and an abbreviated form of the types involved. The abbreviated type names are:
v void o boolean b byte c char i int l long f float d double p pointer s selector r object reference x dynamic
The following table shows examples: for several method declarations the name of the corresponding selector.
[Note: I should write down the grammar for this, but I'm too lazy. End note.]
int value;
"i_value"
void setValue float d;
"v_setValue_d"
(Foo) bar (int, double) (a, b) with: int c = 0;
"r_bar_(id)_with:_i"
In C, a selector is defined by a struct; The struct selector
is
the direct implementation of the TOM selectors.
typedef struct selector { unsigned int sel_id; struct name name; struct trt_selector_args *in, *out; } *selector;
sel_id
a
and b
:
a->sel_id == b->sel_id <-> a == b.
name
s
being the zero
terminated string, and len
being its length.
in
out
in
) and
return value from (out
) methods denoted by this selector.
Go to the first, previous, next, last section, table of contents.