// -- JavaFunction methods @Override public int invoke(LuaState luaState) { LuaMap luaMap = (LuaMap) luaState.toJavaObjectRaw(1); Object key = luaState.toJavaObject(2, Object.class); if (key == null) { throw new LuaRuntimeException( String.format("attempt to write map with %s accessor", luaState.typeName(2))); } Object value = luaState.toJavaObject(3, Object.class); if (value != null) { luaMap.getMap().put(key, value); } else { luaMap.getMap().remove(key); } return 0; }
// -- JavaFunction methods @Override public int invoke(LuaState luaState) { LuaMap luaMap = (LuaMap) luaState.toJavaObjectRaw(1); Object key = luaState.toJavaObject(2, Object.class); if (key == null) { throw new LuaRuntimeException( String.format("attempt to read map with %s accessor", luaState.typeName(2))); } luaState.pushJavaObject(luaMap.getMap().get(key)); return 1; }