Mercurial Hosting > luan
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; |