summaryrefslogtreecommitdiff
path: root/Runner/Scripting/luax_ref.cpp
diff options
context:
space:
mode:
authorchai <chaifix@163.com>2021-10-17 16:01:30 +0800
committerchai <chaifix@163.com>2021-10-17 16:01:30 +0800
commit6e73ca6ada8a41692809dae5db89c8db0675ce1e (patch)
tree3ca6f06b29b3e2c183750ddcff8d7a09d0785e6b /Runner/Scripting/luax_ref.cpp
parente13f699ee5f575198552d94ada1167305c82bb2f (diff)
-Runner
Diffstat (limited to 'Runner/Scripting/luax_ref.cpp')
-rw-r--r--Runner/Scripting/luax_ref.cpp72
1 files changed, 0 insertions, 72 deletions
diff --git a/Runner/Scripting/luax_ref.cpp b/Runner/Scripting/luax_ref.cpp
deleted file mode 100644
index d4be775..0000000
--- a/Runner/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)
- {
- }
-
-}