pike.git / src / program.h

version» Context lines:

pike.git/src/program.h:1:   /*\   ||| This file a part of Pike, and is copyright by Fredrik Hubinette   ||| Pike is distributed as GPL (General Public License)   ||| See the files COPYING and DISCLAIMER for more information.   \*/      /* -  * $Id: program.h,v 1.132 2001/07/01 22:29:40 mast Exp $ +  * $Id: program.h,v 1.133 2001/07/03 17:01:48 grubba Exp $    */   #ifndef PROGRAM_H   #define PROGRAM_H      #include <stdarg.h>   #include "global.h"   #include "pike_types.h"   #include "pike_macros.h"   #include "svalue.h"   #include "time_stuff.h"
pike.git/src/program.h:131:   };      #define IDENTIFIER_PIKE_FUNCTION 1   #define IDENTIFIER_C_FUNCTION 2   #define IDENTIFIER_FUNCTION 3   #define IDENTIFIER_CONSTANT 4   #define IDENTIFIER_VARARGS 8   #define IDENTIFIER_PROTOTYPED 16   #define IDENTIFIER_SCOPED 32 /* This is used for local functions only */   #define IDENTIFIER_SCOPE_USED 64 /* contains scoped local functions */ + #define IDENTIFIER_ALIAS 128 /* This identifier is an alias. */      #define IDENTIFIER_IS_FUNCTION(X) ((X) & IDENTIFIER_FUNCTION)   #define IDENTIFIER_IS_PIKE_FUNCTION(X) ((X) & IDENTIFIER_PIKE_FUNCTION)   #define IDENTIFIER_IS_CONSTANT(X) ((X) & IDENTIFIER_CONSTANT)   #define IDENTIFIER_IS_VARIABLE(X) (!((X) & (IDENTIFIER_FUNCTION | IDENTIFIER_CONSTANT))) -  + #define IDENTIFIER_IS_ALIAS(X) ((X) & IDENTIFIER_ALIAS)    - #define IDENTIFIER_MASK 127 + #define IDENTIFIER_MASK 255      struct identifier   {    struct pike_string *name;    struct pike_type *type;    unsigned INT8 identifier_flags; /* IDENTIFIER_??? */    unsigned INT8 run_time_type; /* PIKE_T_??? */    unsigned INT16 opt_flags; /* OPT_??? */   #ifdef PROFILING    unsigned INT32 num_calls;
pike.git/src/program.h:178:   #define ID_PRIVATE 0x02 /* Symbol is not visible by inherit */   #define ID_NOMASK 0x04 /* Symbol may not be overloaded */   #define ID_PUBLIC 0x08   #define ID_PROTECTED 0x10   #define ID_INLINE 0x20   #define ID_HIDDEN 0x40 /* needed? */   #define ID_INHERITED 0x80   #define ID_OPTIONAL 0x100 /* Symbol is not required by the interface */   #define ID_EXTERN 0x200 /* Symbol is defined later */   #define ID_VARIANT 0x400 /* Function is overloaded by argument. */ + #define ID_ALIAS 0x800 /* Variable is an overloaded alias. */    - #define ID_MODIFIER_MASK 0x07ff + #define ID_MODIFIER_MASK 0x0fff      #define ID_STRICT_TYPES 0x8000 /* #pragma strict_types */   #define ID_SAVE_PARENT 0x10000 /* pragma save_parent */      struct reference   {    unsigned INT16 inherit_offset;    unsigned INT16 identifier_offset;    INT16 id_flags; /* static, private etc.. */   };