pike.git
/
src
/
program.h
version
»
Context lines:
10
20
40
80
file
none
3
pike.git/src/program.h:201:
/* External symbol reference. (IDENTIFIER_EXTERN) * * Note that this bit MUST be checked to be zero * before looking at the other four cases! */ struct { unsigned short depth; /* Scope count. */ unsigned short id; /* Reference number. */ } ext_ref;
+
/* Constant. (IDENTIFIER_CONSTANT)
+
*
+
* Offset of the struct program_constant in program.constants
+
* in the program pointed to by prog in the struct inherit
+
* that corresponds to the identifier.
+
*/
+
struct {
+
ptrdiff_t offset; /* Offset in the constants table. */
+
} const_info;
+
/* Getter/setter reference pair. (IDENTIFIER_VARIABLE && PIKE_T_GET_SET) */ struct { INT16 getter; /* Reference to getter. */ INT16 setter; /* Reference to setter. */ } gs_info; /* C function pointer. (IDENTIFIER_C_FUNCTION) */ void (*c_fun)(INT32); /* For variables: Offset of the variable in the storage pointed to * by inherit.storage_offset in the struct inherit that corresponds * to the identifier. See LOW_GET_GLOBAL and GET_GLOBAL. The stored * variable may be either a normal or a short svalue, depending on * identifier.run_time_type. (IDENTIFIER_VARIABLE) *
-
* For constants: Offset of the struct program_constant in
-
* program.constants in the program pointed to by prog in the struct
-
* inherit that corresponds to the identifier. (IDENTIFIER_CONSTANT)
-
*
+
* For pike functions: Offset to the start of the function in * program.program in the program pointed to by prog in the struct * inherit that corresponds to the identifier. Or -1 if a prototype. * (IDENTIFIER_PIKE_FUNCTION) */ ptrdiff_t offset; }; #define IDENTIFIER_VARIABLE 0 #define IDENTIFIER_CONSTANT 1
pike.git/src/program.h:374:
/* The depth of the inherited program in this program. I.e. the * number of times the program has been inherited, directly or * indirectly. * * Note that the struct inherit for the program that directly * inherited the program represented by this struct inherit can be * found by going backwards in program.inherits from this struct * until one is found with an inherit_level less than this one. */ INT16 inherit_level;
-
/* All the identifier references in the inherited program
has
been
+
/* All the identifier references in the inherited program
have
been
* copied to this program with the first one at this offset. */ INT16 identifier_level; /* The index of the identifier reference in the parent program for * the identifier from which this inherit was done. -1 if there's no * such thing. It's always -1 in the inherit struct for the top * level program. */ INT16 parent_identifier; /* Describes how to find the parent object for the external