Package org.luaj.vm2

Examples of org.luaj.vm2.LuaString


    int level = args.checkint(a++);
    int local = args.checkint(a++);
   
    DebugState ds = getDebugState(thread);
    DebugInfo di = ds.getDebugInfo(level-1);
    LuaString name = (di!=null? di.getlocalname(local): null);
    if ( name != null ) {
      LuaValue value = di.stack[local-1];
      return varargsOf( name, value );
    } else {
      return NIL;
View Full Code Here


    int local = args.checkint(a++);
    LuaValue value = args.arg(a++);
   
    DebugState ds = getDebugState(thread);
    DebugInfo di = ds.getDebugInfo(level-1);
    LuaString name = (di!=null? di.getlocalname(local): null);
    if ( name != null ) {
      di.stack[local-1] = value;
      return name;
    } else {
      return NIL;
View Full Code Here

  static Varargs _getupvalue(Varargs args) {
    LuaValue func = args.checkfunction(1);
    int up = args.checkint(2);
    if ( func instanceof LuaClosure ) {
      LuaClosure c = (LuaClosure) func;
      LuaString name = findupvalue(c, up);
      if ( name != null ) {
        return varargsOf(name, c.upValues[up-1].getValue() );
      }
    }
    return NIL;
View Full Code Here

    LuaValue func = args.checkfunction(1);
    int up = args.checkint(2);
    LuaValue value = args.arg(3);
    if ( func instanceof LuaClosure ) {
      LuaClosure c = (LuaClosure) func;
      LuaString name = findupvalue(c, up);
      if ( name != null ) {
        c.upValues[up-1].setValue(value);
        return name;
      }
    }
View Full Code Here

 

 
  // return StrValue[] { name, namewhat } if found, null if not
  static LuaString[] getobjname(DebugInfo di, int stackpos) {
    LuaString name;
    if (di.closure != null) { /* a Lua function? */
      Prototype p = di.closure.p;
      int pc = di.pc; // currentpc(L, ci);
      int i;// Instruction i;
      name = p.getlocalname(stackpos + 1, pc);
View Full Code Here

          BaseLib.loadStream( baselib.STDIN, "stdin" ):
          BaseLib.loadFile( args.checkjstring(1) );
      }
      case 6: // "loadstring", // ( string [,chunkname] ) -> chunk | nil, msg
      {
        LuaString script = args.checkstring(1);
        String chunkname = args.optjstring(2, "string");
        return BaseLib.loadStream(script.toInputStream(),chunkname);
      }
      case 7: // "pcall", // (f, arg1, ...) -> status, result1, ...
      {
        LuaValue func = args.checkvalue(1);
        LuaThread.onCall(this);
        try {
          return pcall(func,args.subargs(2),null);
        } finally {
          LuaThread.onReturn();
        }
      }
      case 8: // "xpcall", // (f, err) -> result1, ...       
      {
        LuaThread.onCall(this);
        try {
          return pcall(args.arg1(),NONE,args.checkvalue(2));
        } finally {
          LuaThread.onReturn();
        }
      }
      case 9: // "print", // (...) -> void
      {
        LuaValue tostring = LuaThread.getGlobals().get("tostring");
        for ( int i=1, n=args.narg(); i<=n; i++ ) {
          if ( i>1 ) baselib.STDOUT.write( '\t' );
          LuaString s = tostring.call( args.arg(i) ).strvalue();
          int z = s.indexOf((byte)0, 0);
          baselib.STDOUT.write( s.m_bytes, s.m_offset, z>=0? z: s.m_length );
        }
        baselib.STDOUT.println();
        return NONE;
      }
View Full Code Here

   *
   * This function may receive optional options after the module name, where
   * each option is a function to be applied over the module.
   */
  public Varargs module(Varargs args) {
    LuaString modname = args.checkstring(1);
    int n = args.narg();
    LuaValue value = LOADED.get(modname);
    LuaValue module;
    if ( ! value.istable() ) { /* not found? */
     
 
View Full Code Here

    int b, e=(-1);
    do {
      e = fname.indexOf(_DOT, b=e+1 );
      if ( e < 0 )
        e = fname.m_length;
      LuaString key = fname.substring(b, e);
      LuaValue val = table.rawget(key);
      if ( val.isnil() ) { /* no such field? */
        LuaTable field = new LuaTable(); /* new table for field */
        table.set(key, field);
        table = field;
View Full Code Here

   *
   * If there is any error loading or running the module, or if it cannot find any loader for
   * the module, then require signals an error.
   */ 
  public LuaValue require( LuaValue arg ) {
    LuaString name = arg.checkstring();
    LuaValue loaded = LOADED.get(name);
    if ( loaded.toboolean() ) {
      if ( loaded == _SENTINEL )
        error("loop or previous error loading module '"+name+"'");
      return loaded;
View Full Code Here

    args.checkstring(1);
    return varargsOf(NIL, valueOf("dynamic libraries not enabled"), valueOf("absent"));
  }

  LuaValue loader_preload( Varargs args ) {
    LuaString name = args.checkstring(1);
    LuaValue preload = PACKAGE.get(_PRELOAD).checktable();
    LuaValue val = preload.get(name);
    return val.isnil()?
      valueOf("\n\tno field package.preload['"+name+"']"):
      val;
View Full Code Here

TOP

Related Classes of org.luaj.vm2.LuaString

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.