- _REF_TYPE_DECL(OT_TABLE,SQTable,pTable)\r
- _REF_TYPE_DECL(OT_CLASS,SQClass,pClass)\r
- _REF_TYPE_DECL(OT_INSTANCE,SQInstance,pInstance)\r
- _REF_TYPE_DECL(OT_ARRAY,SQArray,pArray)\r
- _REF_TYPE_DECL(OT_CLOSURE,SQClosure,pClosure)\r
- _REF_TYPE_DECL(OT_NATIVECLOSURE,SQNativeClosure,pNativeClosure)\r
- _REF_TYPE_DECL(OT_OUTER,SQOuter,pOuter)\r
- _REF_TYPE_DECL(OT_GENERATOR,SQGenerator,pGenerator)\r
- _REF_TYPE_DECL(OT_STRING,SQString,pString)\r
- _REF_TYPE_DECL(OT_USERDATA,SQUserData,pUserData)\r
- _REF_TYPE_DECL(OT_WEAKREF,SQWeakRef,pWeakRef)\r
- _REF_TYPE_DECL(OT_THREAD,SQVM,pThread)\r
- _REF_TYPE_DECL(OT_FUNCPROTO,SQFunctionProto,pFunctionProto)\r
- \r
- _SCALAR_TYPE_DECL(OT_INTEGER,SQInteger,nInteger)\r
- _SCALAR_TYPE_DECL(OT_FLOAT,SQFloat,fFloat)\r
- _SCALAR_TYPE_DECL(OT_USERPOINTER,SQUserPointer,pUserPointer)\r
-\r
+ SQObjectPtr(SQTable *pTable)\r
+ {\r
+ SQ_OBJECT_RAWINIT()\r
+ _type=OT_TABLE;\r
+ _unVal.pTable=pTable;\r
+ assert(_unVal.pTable);\r
+ __AddRef(_type,_unVal);\r
+ }\r
+ SQObjectPtr(SQClass *pClass)\r
+ {\r
+ SQ_OBJECT_RAWINIT()\r
+ _type=OT_CLASS;\r
+ _unVal.pClass=pClass;\r
+ assert(_unVal.pClass);\r
+ __AddRef(_type,_unVal);\r
+ }\r
+ SQObjectPtr(SQInstance *pInstance)\r
+ {\r
+ SQ_OBJECT_RAWINIT()\r
+ _type=OT_INSTANCE;\r
+ _unVal.pInstance=pInstance;\r
+ assert(_unVal.pInstance);\r
+ __AddRef(_type,_unVal);\r
+ }\r
+ SQObjectPtr(SQArray *pArray)\r
+ {\r
+ SQ_OBJECT_RAWINIT()\r
+ _type=OT_ARRAY;\r
+ _unVal.pArray=pArray;\r
+ assert(_unVal.pArray);\r
+ __AddRef(_type,_unVal);\r
+ }\r
+ SQObjectPtr(SQClosure *pClosure)\r
+ {\r
+ SQ_OBJECT_RAWINIT()\r
+ _type=OT_CLOSURE;\r
+ _unVal.pClosure=pClosure;\r
+ assert(_unVal.pClosure);\r
+ __AddRef(_type,_unVal);\r
+ }\r
+ SQObjectPtr(SQGenerator *pGenerator)\r
+ {\r
+ SQ_OBJECT_RAWINIT()\r
+ _type=OT_GENERATOR;\r
+ _unVal.pGenerator=pGenerator;\r
+ assert(_unVal.pGenerator);\r
+ __AddRef(_type,_unVal);\r
+ }\r
+ SQObjectPtr(SQNativeClosure *pNativeClosure)\r
+ {\r
+ SQ_OBJECT_RAWINIT()\r
+ _type=OT_NATIVECLOSURE;\r
+ _unVal.pNativeClosure=pNativeClosure;\r
+ assert(_unVal.pNativeClosure);\r
+ __AddRef(_type,_unVal);\r
+ }\r
+ SQObjectPtr(SQString *pString)\r
+ {\r
+ SQ_OBJECT_RAWINIT()\r
+ _type=OT_STRING;\r
+ _unVal.pString=pString;\r
+ assert(_unVal.pString);\r
+ __AddRef(_type,_unVal);\r
+ }\r
+ SQObjectPtr(SQUserData *pUserData)\r
+ {\r
+ SQ_OBJECT_RAWINIT()\r
+ _type=OT_USERDATA;\r
+ _unVal.pUserData=pUserData;\r
+ assert(_unVal.pUserData);\r
+ __AddRef(_type,_unVal);\r
+ }\r
+ SQObjectPtr(SQVM *pThread)\r
+ {\r
+ SQ_OBJECT_RAWINIT()\r
+ _type=OT_THREAD;\r
+ _unVal.pThread=pThread;\r
+ assert(_unVal.pThread);\r
+ __AddRef(_type,_unVal);\r
+ }\r
+ SQObjectPtr(SQWeakRef *pWeakRef)\r
+ {\r
+ SQ_OBJECT_RAWINIT()\r
+ _type=OT_WEAKREF;\r
+ _unVal.pWeakRef=pWeakRef;\r
+ assert(_unVal.pWeakRef);\r
+ __AddRef(_type,_unVal);\r
+ }\r
+ SQObjectPtr(SQFunctionProto *pFunctionProto)\r
+ {\r
+ SQ_OBJECT_RAWINIT()\r
+ _type=OT_FUNCPROTO;\r
+ _unVal.pFunctionProto=pFunctionProto;\r
+ assert(_unVal.pFunctionProto);\r
+ __AddRef(_type,_unVal);\r
+ }\r
+ SQObjectPtr(SQInteger nInteger)\r
+ {\r
+ SQ_OBJECT_RAWINIT()\r
+ _type=OT_INTEGER;\r
+ _unVal.nInteger=nInteger;\r
+ }\r
+ SQObjectPtr(SQFloat fFloat)\r
+ {\r
+ SQ_OBJECT_RAWINIT()\r
+ _type=OT_FLOAT;\r
+ _unVal.fFloat=fFloat;\r
+ }\r