From ac1bd1065454f749b6d27b6af47f1b8ae675b6e9 Mon Sep 17 00:00:00 2001 From: Edouard DUPIN Date: Wed, 4 Jul 2018 21:56:29 +0200 Subject: [PATCH] [DEV] remove _userdataval() --- rabbit/Object.cpp | 8 +++++++- rabbit/Object.hpp | 3 +-- rabbit/VirtualMachine.cpp | 2 +- rabbit/sqapi.cpp | 2 +- 4 files changed, 10 insertions(+), 5 deletions(-) diff --git a/rabbit/Object.cpp b/rabbit/Object.cpp index c0b2f17..15a1f07 100644 --- a/rabbit/Object.cpp +++ b/rabbit/Object.cpp @@ -9,6 +9,8 @@ #include #include #include +#include +#include const char* rabbit::Object::getStringValue() const { return (const char*)&_unVal.pString->_val[0]; @@ -24,4 +26,8 @@ rabbit::Object rabbit::Object::getRealObject() const { return *this; } return toWeakRef()->_obj; -} \ No newline at end of file +} + +rabbit::UserPointer rabbit::Object::getUserDataValue() const { + return (rabbit::UserPointer)sq_aligning(_unVal.pUserData + 1); +} diff --git a/rabbit/Object.hpp b/rabbit/Object.hpp index 140e9f7..59f486e 100644 --- a/rabbit/Object.hpp +++ b/rabbit/Object.hpp @@ -222,6 +222,7 @@ namespace rabbit { return rabbit::ObjectType(_type&_RT_MASK); } rabbit::Object getRealObject() const; + rabbit::UserPointer getUserDataValue() const; }; #define ISREFCOUNTED(t) (t&SQOBJECT_REF_COUNTED) @@ -236,8 +237,6 @@ namespace rabbit { unval.pRefCounted->release(); \ } - #define _userdataval(obj) ((rabbit::UserPointer)sq_aligning((obj)._unVal.pUserData + 1)) - inline void _Swap(rabbit::Object &a,rabbit::Object &b) { rabbit::ObjectType tOldType = a._type; diff --git a/rabbit/VirtualMachine.cpp b/rabbit/VirtualMachine.cpp index 6884a96..9aab933 100644 --- a/rabbit/VirtualMachine.cpp +++ b/rabbit/VirtualMachine.cpp @@ -1855,7 +1855,7 @@ void rabbit::VirtualMachine::dumpstack(int64_t stackbase,bool dumpall) case rabbit::OT_ARRAY: printf("ARRAY %p",obj.toArray());break; case rabbit::OT_CLOSURE: printf("CLOSURE [%p]",obj.toClosure());break; case rabbit::OT_NATIVECLOSURE: printf("NATIVECLOSURE");break; - case rabbit::OT_USERDATA: printf("USERDATA %p[%p]",_userdataval(obj),obj.toUserData()->_delegate);break; + case rabbit::OT_USERDATA: printf("USERDATA %p[%p]", obj.getUserDataValue(), obj.toUserData()->_delegate);break; case rabbit::OT_GENERATOR: printf("GENERATOR %p",obj.toGenerator());break; case rabbit::OT_THREAD: printf("THREAD [%p]",obj.toVirtualMachine());break; case rabbit::OT_USERPOINTER: printf("USERPOINTER %p",obj.toUserPointer());break; diff --git a/rabbit/sqapi.cpp b/rabbit/sqapi.cpp index 768c390..93d6252 100644 --- a/rabbit/sqapi.cpp +++ b/rabbit/sqapi.cpp @@ -776,7 +776,7 @@ rabbit::Result rabbit::sq_getuserdata(rabbit::VirtualMachine* v,int64_t idx,rabb { rabbit::ObjectPtr *o = NULL; _GETSAFE_OBJ(v, idx, rabbit::OT_USERDATA,o); - (*p) = _userdataval(*o); + (*p) = o->getUserDataValue(); if(typetag) { *typetag = o->toUserData()->getTypeTag(); }