comparison src/luan/modules/Boot.luan @ 1283:503bde9a7c80

add luan.require() and table.call()
author Franklin Schmidt <fschmidt@gmail.com>
date Fri, 21 Dec 2018 09:12:09 -0700
parents 781ec0a92bb5
children 9eb3a9724853
comparison
equal deleted inserted replaced
1282:2531942abaf3 1283:503bde9a7c80
2 local System = require "java:java.lang.System" 2 local System = require "java:java.lang.System"
3 local URL = require "java:java.net.URL" 3 local URL = require "java:java.net.URL"
4 local BasicLuan = require "java:luan.modules.BasicLuan" 4 local BasicLuan = require "java:luan.modules.BasicLuan"
5 local new_error = BasicLuan.new_error 5 local new_error = BasicLuan.new_error
6 local ipairs = BasicLuan.ipairs 6 local ipairs = BasicLuan.ipairs
7 local set_metatable = BasicLuan.set_metatable
7 local StringLuan = require "java:luan.modules.StringLuan" 8 local StringLuan = require "java:luan.modules.StringLuan"
8 local match = StringLuan.match -- String.match 9 local match = StringLuan.match -- String.match
9 local IoLuan = require "java:luan.modules.IoLuan" 10 local IoLuan = require "java:luan.modules.IoLuan"
10 local LuanUrl = require "java:luan.modules.url.LuanUrl" 11 local LuanUrl = require "java:luan.modules.url.LuanUrl"
11 12
183 end 184 end
184 return u.read_text() 185 return u.read_text()
185 end 186 end
186 187
187 188
189 local error_mt = {}
190
191 function error_mt.__to_string(t)
192 return t.java.getLuanStackTraceString()
193 end
194
195 function Boot.new_error_table(ex) -- for LuanException.java
196 local this = {}
197 set_metatable(this,error_mt)
198 this.java = ex
199 this.get_message = ex.getMessage
200 this.throw = ex.throwThis
201 this.get_stack_trace_string = ex.getLuanStackTraceString
202 this.get_java_stack_trace_string = ex.getLuanStackTraceString
203 return this
204 end
205
206
188 return Boot 207 return Boot