Exemplo n.º 1
0
 def type(self, idx):
     if self.stack.is_valid(idx):
         return LuaValue.type_of(self.stack.get(idx))
     return LuaType.NONE
Exemplo n.º 2
0
 def get_metatable_k(self, val):
     if isinstance(val, LuaTable):
         return val.metatable
     else:
         key = '_MT' + str(LuaValue.type_of(val))
         return self.registry.get(key)
Exemplo n.º 3
0
 def get_i(self, idx, i):
     t = self.stack.get(idx)
     v = self.get_table_val(t, i, False)
     self.stack.push(v)
     return LuaValue.type_of(v)
Exemplo n.º 4
0
 def set_metatable_kv(self, val, mt):
     if isinstance(val, LuaTable):
         val.metatable = mt
     else:
         key = '_MT' + LuaValue.type_of(val)
         self.registry.put(key, mt)
Exemplo n.º 5
0
 def get_table(self, idx):
     t = self.stack.get(idx)
     k = self.stack.pop()
     v = self.get_table_val(t, k, False)
     self.stack.push(v)
     return LuaValue.type_of(v)