comparison src/luan/lib/BasicLib.java @ 77:4bf3d0c0b6b9

make LuanState cloneable git-svn-id: https://luan-java.googlecode.com/svn/trunk@78 21e917c8-12df-6dd8-5cb6-c86387c605b9
author fschmidt@gmail.com <fschmidt@gmail.com@21e917c8-12df-6dd8-5cb6-c86387c605b9>
date Fri, 15 Feb 2013 09:55:17 +0000
parents aa7538ae5fb6
children 6db8f286fa6c
comparison
equal deleted inserted replaced
76:97b03fc807ad 77:4bf3d0c0b6b9
21 21
22 public static final String NAME = "basic"; 22 public static final String NAME = "basic";
23 23
24 public static final LuanFunction LOADER = new LuanFunction() { 24 public static final LuanFunction LOADER = new LuanFunction() {
25 public Object[] call(LuanState luan,Object[] args) throws LuanException { 25 public Object[] call(LuanState luan,Object[] args) throws LuanException {
26 LuanTable global = luan.global; 26 LuanTable global = luan.global();
27 global.put( "_G", global ); 27 global.put( "_G", global );
28 try { 28 try {
29 global.put( "assert", new LuanJavaFunction(BasicLib.class.getMethod("assert_",LuanState.class,Object.class,String.class),null) ); 29 global.put( "assert", new LuanJavaFunction(BasicLib.class.getMethod("assert_",LuanState.class,Object.class,String.class),null) );
30 add( global, "assert_boolean", LuanState.class, Boolean.TYPE ); 30 add( global, "assert_boolean", LuanState.class, Boolean.TYPE );
31 add( global, "assert_nil", LuanState.class, Object.class ); 31 add( global, "assert_nil", LuanState.class, Object.class );
61 private static void add(LuanTable t,String method,Class<?>... parameterTypes) throws NoSuchMethodException { 61 private static void add(LuanTable t,String method,Class<?>... parameterTypes) throws NoSuchMethodException {
62 t.put( method, new LuanJavaFunction(BasicLib.class.getMethod(method,parameterTypes),null) ); 62 t.put( method, new LuanJavaFunction(BasicLib.class.getMethod(method,parameterTypes),null) );
63 } 63 }
64 64
65 public static void make_standard(LuanState luan) { 65 public static void make_standard(LuanState luan) {
66 LuanTable global = luan.global; 66 LuanTable global = luan.global();
67 global.put( "dofile", global.get("do_file") ); 67 global.put( "dofile", global.get("do_file") );
68 global.put( "getmetatable", global.get("get_metatable") ); 68 global.put( "getmetatable", global.get("get_metatable") );
69 global.put( "loadfile", global.get("load_file") ); 69 global.put( "loadfile", global.get("load_file") );
70 global.put( "rawequal", global.get("raw_equal") ); 70 global.put( "rawequal", global.get("raw_equal") );
71 global.put( "rawget", global.get("raw_get") ); 71 global.put( "rawget", global.get("raw_get") );