diff options
Diffstat (limited to 'Runtime/Scripting/luax_ref.cpp')
-rw-r--r-- | Runtime/Scripting/luax_ref.cpp | 72 |
1 files changed, 0 insertions, 72 deletions
diff --git a/Runtime/Scripting/luax_ref.cpp b/Runtime/Scripting/luax_ref.cpp deleted file mode 100644 index d4be775..0000000 --- a/Runtime/Scripting/luax_ref.cpp +++ /dev/null @@ -1,72 +0,0 @@ -#include "luax_vm.h" -#include "luax_ref.h" - -namespace Luax -{ - - LuaxRef::LuaxRef(int mode) - : mRefID(LUA_NOREF) - , mMode(mode) - { - } - - LuaxRef::~LuaxRef() - { - } - - LuaxRef::operator bool() - { - return (mRefID != LUA_NOREF); - } - - bool LuaxRef::PushRef(LuaxState& state) - { - assert(mRefID != LUA_NOREF); - - LuaxVM* vm = state.GetVM(); - if (!vm) return false; - if (mMode == STRONG_REF) - { - LuaxRefTable& table = vm->GetStrongRefTable(); - table.PushRef(state, mRefID); - } - else if (mMode == WEAK_REF) - { - LuaxRefTable& table = vm->GetWeakRefTable(); - table.PushRef(state, mRefID); - } - else - { - state.PushNil(); - return false; - } - return true; - } - - void LuaxRef::SetRef(LuaxState& state, int idx) - { - LuaxVM* vm = state.GetVM(); - if (!vm) return; - if (mMode == STRONG_REF) - { - LuaxRefTable& table = vm->GetStrongRefTable(); - mRefID = table.Ref(state, idx); - } - else if (mMode == WEAK_REF) - { - LuaxRefTable& table = vm->GetWeakRefTable(); - mRefID = table.Ref(state, idx); - } - } - - LuaxStrongRef::LuaxStrongRef() - : LuaxRef(STRONG_REF) - { - } - - LuaxWeakRef::LuaxWeakRef() - : LuaxRef(WEAK_REF) - { - } - -} |