comparison src/luan/lib/BasicLib.java @ 39:e5bcb1eeafc1

change naming convention git-svn-id: https://luan-java.googlecode.com/svn/trunk@40 21e917c8-12df-6dd8-5cb6-c86387c605b9
author fschmidt@gmail.com <fschmidt@gmail.com@21e917c8-12df-6dd8-5cb6-c86387c605b9>
date Thu, 20 Dec 2012 02:54:06 +0000
parents 8a57ebfdfd78
children e3624b7cd603
comparison
equal deleted inserted replaced
38:30fcb4fb0f76 39:e5bcb1eeafc1
21 public final class BasicLib { 21 public final class BasicLib {
22 22
23 public static void register(LuaState lua) { 23 public static void register(LuaState lua) {
24 LuaTable global = lua.global(); 24 LuaTable global = lua.global();
25 global.put( "_G", global ); 25 global.put( "_G", global );
26 add( global, "getmetatable", LuaState.class, Object.class ); 26 add( global, "do_file", LuaState.class, String.class );
27 add( global, "get_metatable", LuaState.class, Object.class );
27 add( global, "ipairs", LuaTable.class ); 28 add( global, "ipairs", LuaTable.class );
28 add( global, "load", LuaState.class, String.class ); 29 add( global, "load", LuaState.class, String.class );
29 add( global, "loadfile", LuaState.class, String.class ); 30 add( global, "load_file", LuaState.class, String.class );
30 add( global, "pairs", LuaTable.class ); 31 add( global, "pairs", LuaTable.class );
31 add( global, "print", LuaState.class, new Object[0].getClass() ); 32 add( global, "print", LuaState.class, new Object[0].getClass() );
32 add( global, "rawequal", Object.class, Object.class ); 33 add( global, "raw_equal", Object.class, Object.class );
33 add( global, "rawget", LuaTable.class, Object.class ); 34 add( global, "raw_get", LuaTable.class, Object.class );
34 add( global, "rawlen", Object.class ); 35 add( global, "raw_len", Object.class );
35 add( global, "rawset", LuaTable.class, Object.class, Object.class ); 36 add( global, "raw_set", LuaTable.class, Object.class, Object.class );
36 add( global, "setmetatable", LuaTable.class, LuaTable.class ); 37 add( global, "set_metatable", LuaTable.class, LuaTable.class );
37 add( global, "tonumber", Object.class, Integer.class ); 38 add( global, "to_number", Object.class, Integer.class );
38 add( global, "tostring", LuaState.class, Object.class ); 39 add( global, "to_string", LuaState.class, Object.class );
39 add( global, "type", Object.class ); 40 add( global, "type", Object.class );
40 global.put( "_VERSION", Lua.version ); 41 global.put( "_VERSION", Lua.version );
42
43 add( global, "make_standard", LuaState.class );
41 } 44 }
42 45
43 private static void add(LuaTable t,String method,Class<?>... parameterTypes) { 46 private static void add(LuaTable t,String method,Class<?>... parameterTypes) {
44 try { 47 try {
45 t.put( method, new LuaJavaFunction(BasicLib.class.getMethod(method,parameterTypes),null) ); 48 t.put( method, new LuaJavaFunction(BasicLib.class.getMethod(method,parameterTypes),null) );
46 } catch(NoSuchMethodException e) { 49 } catch(NoSuchMethodException e) {
47 throw new RuntimeException(e); 50 throw new RuntimeException(e);
48 } 51 }
52 }
53
54 public static void make_standard(LuaState lua) {
55 LuaTable global = lua.global();
56 global.put( "dofile", global.get("do_file") );
57 global.put( "getmetatable", global.get("get_metatable") );
58 global.put( "loadfile", global.get("load_file") );
59 global.put( "rawequal", global.get("raw_equal") );
60 global.put( "rawget", global.get("raw_get") );
61 global.put( "rawlen", global.get("raw_len") );
62 global.put( "rawset", global.get("raw_set") );
63 global.put( "setmetatable", global.get("set_metatable") );
64 global.put( "tonumber", global.get("to_number") );
65 global.put( "tostring", global.get("to_string") );
49 } 66 }
50 67
51 public static void print(LuaState lua,Object... args) throws LuaException { 68 public static void print(LuaState lua,Object... args) throws LuaException {
52 for( int i=0; i<args.length; i++ ) { 69 for( int i=0; i<args.length; i++ ) {
53 if( i > 0 ) 70 if( i > 0 )
85 in.close(); 102 in.close();
86 return s; 103 return s;
87 } 104 }
88 105
89 106
90 public static LuaFunction loadfile(LuaState lua,String fileName) throws LuaException,IOException { 107 public static LuaFunction load_file(LuaState lua,String fileName) throws LuaException,IOException {
91 String src = fileName==null ? readAll(new InputStreamReader(System.in)) : read(new File(fileName)); 108 String src = fileName==null ? readAll(new InputStreamReader(System.in)) : read(new File(fileName));
92 return load(lua,src); 109 return load(lua,src);
93 } 110 }
94 111
95 public static Object[] dofile(LuaState lua,String fileName) throws LuaException,IOException { 112 public static Object[] do_file(LuaState lua,String fileName) throws LuaException,IOException {
96 return loadfile(lua,fileName).call(lua); 113 return load_file(lua,fileName).call(lua);
97 } 114 }
98 115
99 private static class TableIter { 116 private static class TableIter {
100 private final Iterator<Map.Entry<Object,Object>> iter; 117 private final Iterator<Map.Entry<Object,Object>> iter;
101 118
156 public static LuaFunction ipairs(LuaTable t) { 173 public static LuaFunction ipairs(LuaTable t) {
157 ArrayIter ai = new ArrayIter(t); 174 ArrayIter ai = new ArrayIter(t);
158 return new LuaJavaFunction(nextArrayIter,ai); 175 return new LuaJavaFunction(nextArrayIter,ai);
159 } 176 }
160 177
161 public static LuaTable getmetatable(LuaState lua,Object obj) { 178 public static LuaTable get_metatable(LuaState lua,Object obj) {
162 return lua.getMetatable(obj); 179 return lua.getMetatable(obj);
163 } 180 }
164 181
165 public static LuaTable setmetatable(LuaTable table,LuaTable metatable) { 182 public static LuaTable set_metatable(LuaTable table,LuaTable metatable) {
166 table.setMetatable(metatable); 183 table.setMetatable(metatable);
167 return table; 184 return table;
168 } 185 }
169 186
170 public static boolean rawequal(Object v1,Object v2) { 187 public static boolean raw_equal(Object v1,Object v2) {
171 return v1 == v2 || v1 != null && v1.equals(v2); 188 return v1 == v2 || v1 != null && v1.equals(v2);
172 } 189 }
173 190
174 public static Object rawget(LuaTable table,Object index) { 191 public static Object raw_get(LuaTable table,Object index) {
175 return table.get(index); 192 return table.get(index);
176 } 193 }
177 194
178 public static LuaTable rawset(LuaTable table,Object index,Object value) { 195 public static LuaTable raw_set(LuaTable table,Object index,Object value) {
179 table.put(index,value); 196 table.put(index,value);
180 return table; 197 return table;
181 } 198 }
182 199
183 public static int rawlen(Object v) throws LuaException { 200 public static int raw_len(Object v) throws LuaException {
184 if( v instanceof String ) { 201 if( v instanceof String ) {
185 String s = (String)v; 202 String s = (String)v;
186 return s.length(); 203 return s.length();
187 } 204 }
188 if( v instanceof LuaTable ) { 205 if( v instanceof LuaTable ) {
189 LuaTable t = (LuaTable)v; 206 LuaTable t = (LuaTable)v;
190 return t.length(); 207 return t.length();
191 } 208 }
192 throw new LuaException( "bad argument #1 to 'rawlen' (table or string expected)" ); 209 throw new LuaException( "bad argument #1 to 'raw_len' (table or string expected)" );
193 } 210 }
194 211
195 public static LuaNumber tonumber(Object e,Integer base) { 212 public static LuaNumber to_number(Object e,Integer base) {
196 return Lua.toNumber(e,base); 213 return Lua.toNumber(e,base);
197 } 214 }
198 215
199 public static String tostring(LuaState lua,Object v) throws LuaException { 216 public static String to_string(LuaState lua,Object v) throws LuaException {
200 return lua.toString(v); 217 return lua.toString(v);
201 } 218 }
202 } 219 }