comparison core/src/luan/impl/LuanImpl.java @ 660:e064377994b2

compile table put
author Franklin Schmidt <fschmidt@gmail.com>
date Wed, 06 Apr 2016 21:06:29 -0600
parents e2be71451d04
children ee00a619eec1
comparison
equal deleted inserted replaced
659:f1150518c467 660:e064377994b2
6 import luan.Luan; 6 import luan.Luan;
7 import luan.LuanState; 7 import luan.LuanState;
8 import luan.LuanTable; 8 import luan.LuanTable;
9 import luan.LuanFunction; 9 import luan.LuanFunction;
10 import luan.LuanException; 10 import luan.LuanException;
11 import luan.modules.JavaLuan;
11 12
12 13
13 public final class LuanImpl { 14 public final class LuanImpl {
14 private LuanImpl() {} // never 15 private LuanImpl() {} // never
15 16
207 vars[0].set(luan,obj); 208 vars[0].set(luan,obj);
208 for( int i=1; i<vars.length; i++ ) { 209 for( int i=1; i<vars.length; i++ ) {
209 vars[i].set(luan,null); 210 vars[i].set(luan,null);
210 } 211 }
211 } 212 }
213 }
214
215 public static void put(LuanState luan,Object t,Object key,Object value) throws LuanException {
216 if( t instanceof LuanTable ) {
217 LuanTable tbl = (LuanTable)t;
218 tbl.put(luan,key,value);
219 return;
220 }
221 if( t != null && luan.hasJava() )
222 JavaLuan.__new_index(luan,t,key,value);
223 else
224 throw new LuanException( "attempt to index a " + Luan.type(t) + " value" );
212 } 225 }
213 226
214 public static Object[] concatArgs(Object o1,Object o2) { 227 public static Object[] concatArgs(Object o1,Object o2) {
215 if( o1 instanceof Object[] ) { 228 if( o1 instanceof Object[] ) {
216 Object[] a1 = (Object[])o1; 229 Object[] a1 = (Object[])o1;