content: /*
   * 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.vm.extend;
  
  import com.taobao.luaview.userdata.base.BaseLuaTable;
  import com.taobao.luaview.userdata.base.BaseUserdata;
  import com.taobao.luaview.userdata.ui.UDView;
  import com.taobao.luaview.util.LogUtil;
  
  import org.luaj.vm2.Globals;
  import org.luaj.vm2.LuaValue;
  import org.luaj.vm2.Varargs;
  import org.luaj.vm2.lib.VarArgFunction;
  
  /**
   * Base Lib extend for LuaJ
   * @author song
   * @date 16/2/22
   */
  public class BaseLib {
      org.luaj.vm2.lib.BaseLib baseLib;
      Globals globals;
  
      public BaseLib(org.luaj.vm2.lib.BaseLib baseLib, Globals globals) {
          this.baseLib = baseLib;
          this.globals = globals;
      }
  
      public void extend(LuaValue env) {
          env.set("printLV", new printLV(baseLib));
      }
  
      // "print", // (...) -> void
      final class printLV extends VarArgFunction {
          final org.luaj.vm2.lib.BaseLib baselib;
  
          printLV(org.luaj.vm2.lib.BaseLib baselib) {
              this.baselib = baselib;
          }
  
          public Varargs invoke(Varargs args) {
              StringBuffer sb = new StringBuffer();
              for (int i = 1, n = args.narg(); i <= n; i++) {
                  if (i > 1) {
                      sb.append('\t');
                  }
  
                  if (args.arg(i) instanceof UDView) {//基础的View对象
  
                  } else if (args.arg(i) instanceof BaseUserdata) {//基础用户数据扩展
  
                  } else if (args.arg(i) instanceof BaseLuaTable) {//基础Table表的扩展
  
                  }
  
              }
              LogUtil.i(sb);
              return NONE;
          }
      }
  }
  