public LuaValue call(LuaValue table, LuaValue index, LuaValue value) { LuaTable t = table.checktable(); t.rawset(index.checknotnil(), value); return t; } }
public LuaValue call(LuaValue table, LuaValue index, LuaValue value) { LuaTable t = table.checktable(); t.rawset(index.checknotnil(), value); return t; } }
@Override public LuaValue call(LuaValue table, LuaValue index, LuaValue value) { LuaTable t = table.checktable(); t.rawset(index.checknotnil(), value); return t; } }
/** * Construct table with named and unnamed parts. * @param named Named elements in order {@code key-a, value-a, key-b, value-b, ... } * @param unnamed Unnamed elements in order {@code value-1, value-2, ... } * @param lastarg Additional unnamed values beyond {@code unnamed.length} */ public LuaTable(LuaValue[] named, LuaValue[] unnamed, Varargs lastarg) { int nn = (named!=null? named.length: 0); int nu = (unnamed!=null? unnamed.length: 0); int nl = (lastarg!=null? lastarg.narg(): 0); presize(nu+nl, nn>>1); for ( int i=0; i<nu; i++ ) rawset(i+1,unnamed[i]); if ( lastarg != null ) for ( int i=1,n=lastarg.narg(); i<=n; ++i ) rawset(nu+i,lastarg.arg(i)); for ( int i=0; i<nn; i+=2 ) if (!named[i+1].isnil()) rawset(named[i], named[i+1]); }
/** * Construct table with named and unnamed parts. * @param named Named elements in order {@code key-a, value-a, key-b, value-b, ... } * @param unnamed Unnamed elements in order {@code value-1, value-2, ... } * @param lastarg Additional unnamed values beyond {@code unnamed.length} */ public LuaTable(LuaValue[] named, LuaValue[] unnamed, Varargs lastarg) { int nn = (named!=null? named.length: 0); int nu = (unnamed!=null? unnamed.length: 0); int nl = (lastarg!=null? lastarg.narg(): 0); presize(nu+nl, nn>>1); for ( int i=0; i<nu; i++ ) rawset(i+1,unnamed[i]); if ( lastarg != null ) for ( int i=1,n=lastarg.narg(); i<=n; ++i ) rawset(nu+i,lastarg.arg(i)); for ( int i=0; i<nn; i+=2 ) if (!named[i+1].isnil()) rawset(named[i], named[i+1]); }
/** * Construct table with named and unnamed parts. * @param named Named elements in order {@code key-a, value-a, key-b, value-b, ... } * @param unnamed Unnamed elements in order {@code value-1, value-2, ... } * @param lastarg Additional unnamed values beyond {@code unnamed.length} */ public LuaTable(LuaValue[] named, LuaValue[] unnamed, Varargs lastarg) { int nn = (named!=null? named.length: 0); int nu = (unnamed!=null? unnamed.length: 0); int nl = (lastarg!=null? lastarg.narg(): 0); presize(nu+nl, nn>>1); for ( int i=0; i<nu; i++ ) rawset(i+1,unnamed[i]); if ( lastarg != null ) for ( int i=1,n=lastarg.narg(); i<=n; ++i ) rawset(nu+i,lastarg.arg(i)); for ( int i=0; i<nn; i+=2 ) if (!named[i+1].isnil()) rawset(named[i], named[i+1]); }
/** Insert an element at a position in a list-table * * @param pos the position to remove * @param value The value to insert */ public void insert(int pos, LuaValue value) { if ( pos == 0 ) pos = length()+1; while ( ! value.isnil() ) { LuaValue v = rawget( pos ); rawset(pos++, value); value = v; } }
/** Insert an element at a position in a list-table * * @param pos the position to remove * @param value The value to insert */ public void insert(int pos, LuaValue value) { if ( pos == 0 ) pos = rawlen()+1; while ( ! value.isnil() ) { LuaValue v = rawget( pos ); rawset(pos++, value); value = v; } }
/** Insert an element at a position in a list-table * * @param pos the position to remove * @param value The value to insert */ public void insert(int pos, LuaValue value) { if ( pos == 0 ) pos = rawlen()+1; while ( ! value.isnil() ) { LuaValue v = rawget( pos ); rawset(pos++, value); value = v; } }
public void set( int key, LuaValue value ) { if ( m_metatable==null || ! rawget(key).isnil() || ! settable(this,LuaInteger.valueOf(key),value) ) rawset(key, value); }
@Override public void set( int key, LuaValue value ) { if ( m_metatable==null || ! rawget(key).isnil() || ! settable(this,LuaInteger.valueOf(key),value) ) rawset(key, value); }
public void set( int key, LuaValue value ) { if ( m_metatable==null || ! rawget(key).isnil() || ! settable(this,LuaInteger.valueOf(key),value) ) rawset(key, value); }
/** Remove the element at a position in a list-table * * @param pos the position to remove * @return The removed item, or {@link #NONE} if not removed */ public LuaValue remove(int pos) { int n = rawlen(); if ( pos == 0 ) pos = n; else if (pos > n) return NONE; LuaValue v = rawget(pos); for ( LuaValue r=v; !r.isnil(); ) { r = rawget(pos+1); rawset(pos++, r); } return v.isnil()? NONE: v; }
/** Remove the element at a position in a list-table * * @param pos the position to remove * @return The removed item, or {@link #NONE} if not removed */ public LuaValue remove(int pos) { int n = length(); if ( pos == 0 ) pos = n; else if (pos > n) return NONE; LuaValue v = rawget(pos); for ( LuaValue r=v; !r.isnil(); ) { r = rawget(pos+1); rawset(pos++, r); } return v.isnil()? NONE: v; }
/** Remove the element at a position in a list-table * * @param pos the position to remove * @return The removed item, or {@link #NONE} if not removed */ public LuaValue remove(int pos) { int n = rawlen(); if ( pos == 0 ) pos = n; else if (pos > n) return NONE; LuaValue v = rawget(pos); for ( LuaValue r=v; !r.isnil(); ) { r = rawget(pos+1); rawset(pos++, r); } return v.isnil()? NONE: v; }
/** caller must ensure key is not nil */ public void set( LuaValue key, LuaValue value ) { if (!key.isvalidkey() && !metatag(NEWINDEX).isfunction()) typerror("table index"); if ( m_metatable==null || ! rawget(key).isnil() || ! settable(this,key,value) ) rawset(key, value); }
/** caller must ensure key is not nil */ public void set( LuaValue key, LuaValue value ) { if (!key.isvalidkey() && !metatag(NEWINDEX).isfunction()) typerror("table index"); if ( m_metatable==null || ! rawget(key).isnil() || ! settable(this,key,value) ) rawset(key, value); }
/** caller must ensure key is not nil */ @Override public void set( LuaValue key, LuaValue value ) { if (!key.isvalidkey() && !metatag(NEWINDEX).isfunction()) typerror("table index"); if ( m_metatable==null || ! rawget(key).isnil() || ! settable(this,key,value) ) rawset(key, value); }