NAME
src/pmc/opcode.pmc - Opcode information
DESCRIPTION
Contains information on an opcode.
Returned by various functions in the OpLib
PMC.
Vtable functions
void init()
Throws an exception.
Opcode PMCs are not to be created directly.
void set_pointer(void *i)
Sets the INTVAL get_integer()
FLOATVAL get_number()
Returns the opcode number.
void set_integer_native(INTVAL value)
Sets the number for this opcode.
See also STRING* get_string()
Returns the full name of the opcode.
INTVAL elements()
Returns the number of arguments for the opcode.
INTVAL get_integer_keyed_int(INTVAL i)
Returns the type information for the - 0 = Integer
- 1 = String
- 2 = PMC
- 3 = Float
- 0x10 = Constant
- 0x20 = Keyed
op_info_t
this PMC gets information from.
Throws an exception if the pointer has already been set.
See also set_integer_native()
,
below.
set_pointer
,
above.Throws an exception if set_pointer has already been called.
i
th argument.
Returns -1 if the i
is out of range.The type is returned as an integer.
The value is determined by bitwise oring together the basic type and a number of flags:Basic Types:
Methods
STRING *family_name()
Returns the family,
or short,
name of the opcode.
INTVAL jump()
Returns the jump value for the opcode.
PMC *dirs()
Returns an array of direction information for the arguments.
- 0 = ignored
- 1 = in (read-only)
- 2 = out (write-only)
- 3 = inout (read-write)
labels()
Returns an array describing if each argument is a label.
(0 or 1)
SEE ALSO
src/pmc/oplib.pmc