/*
* Created by LuaView.
* Copyright (c) 2017, Alibaba Group. All rights reserved.
*
* This source code is licensed under the MIT.
* For the full copyright and license information,please view the LICENSE file in the root directory of this source tree.
*/
package com.taobao.luaview.fun.mapper.ui;
import com.taobao.luaview.fun.base.BaseMethodMapper;
import com.taobao.luaview.util.LogUtil;
import org.luaj.vm2.LuaValue;
import org.luaj.vm2.Varargs;
/**
* 属性赋值操作
* @author song
*/
public class NewIndexFunction extends BaseMethodMapper {
private LuaValue metatable;
public NewIndexFunction(LuaValue metatable) {
this.metatable = metatable;
}
@Override
public Varargs invoke(Varargs args) {
LuaValue key = args.arg(2);
Varargs newargs = varargsOf(args.arg(1), args.arg(3));
LuaValue func = metatable.get(key);
if (func.isfunction()) {//函数调用
func.invoke(newargs);
} else {
LogUtil.d("[LuaView error]", "property not fount :", key.toString());
}
return NONE;
}
}