const char *File;
int Line;
+ void *BlockState; //!< BlockState pointer (for cache integrity)
+ int BlockIdent; //!< Ident (same as above)
+ void *ValueCache; //!< Cached value / pointer
+
union
{
struct {
int DataType;
tAST_Node *LevelSizes;
tAST_Node *LevelSizes_Last;
+ tAST_Node *InitialValue;
char Name[];
} DefVar;
tAST_Node *Value;
} Cast;
- struct {
- int Length;
- char Data[];
- } String;
-
- uint64_t Integer;
- double Real;
+ // Used for NODETYPE_REAL, NODETYPE_INTEGER and NODETYPE_STRING
+ tSpiderValue Constant;
};
};
tSpiderValue *RetVal;
tSpiderNamespace *BaseNamespace; //!< Base namespace (for entire block)
tSpiderNamespace *CurNamespace; //!< Currently selected namespace
+ int Ident;
};
struct sAST_Variable