pike.git / src / program.h

version» Context lines:

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