X-Git-Url: https://git.ucc.asn.au/?a=blobdiff_plain;ds=sidebyside;f=Usermode%2FLibraries%2Flibspiderscript.so_src%2Fast.h;h=680299b6369c77af18fb298cc77d676b0e7bc6f8;hb=0f81e4f273cdf1032e9bca55b4185ca9113596cc;hp=a9cf1db238a0d7062af72755072bdf94cf2804e9;hpb=9b714e5ea3767470ab5c35f14da67bcb97275021;p=tpg%2Facess2.git diff --git a/Usermode/Libraries/libspiderscript.so_src/ast.h b/Usermode/Libraries/libspiderscript.so_src/ast.h index a9cf1db2..680299b6 100644 --- a/Usermode/Libraries/libspiderscript.so_src/ast.h +++ b/Usermode/Libraries/libspiderscript.so_src/ast.h @@ -105,6 +105,10 @@ struct sAST_Node 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 { @@ -175,13 +179,8 @@ struct sAST_Node 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; }; }; @@ -196,6 +195,7 @@ struct sAST_BlockState tSpiderValue *RetVal; tSpiderNamespace *BaseNamespace; //!< Base namespace (for entire block) tSpiderNamespace *CurNamespace; //!< Currently selected namespace + int Ident; }; struct sAST_Variable