comparison src/luan/modules/Boot.luan @ 1520:d9a5405a3102

try statement
author Franklin Schmidt <fschmidt@gmail.com>
date Sun, 21 Jun 2020 18:14:13 -0600
parents f04bfbb08721
children b89212fd04b5
comparison
equal deleted inserted replaced
1519:3ebf9781707c 1520:d9a5405a3102
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 set_metatable = BasicLuan.set_metatable
8 local try = BasicLuan.try_
9 local load = BasicLuan.load 8 local load = BasicLuan.load
10 local type = BasicLuan.type 9 local type = BasicLuan.type
11 local StringLuan = require "java:luan.modules.StringLuan" 10 local StringLuan = require "java:luan.modules.StringLuan"
12 local match = StringLuan.match -- String.match 11 local match = StringLuan.match -- String.match
13 local matches = StringLuan.matches -- String.matches 12 local matches = StringLuan.matches -- String.matches
27 26
28 local function no_security(fn) 27 local function no_security(fn)
29 LuanJava.checkCallerSecurity("no_security") 28 LuanJava.checkCallerSecurity("no_security")
30 return function(...) 29 return function(...)
31 local security = LuanJava.setSecurity(nil) 30 local security = LuanJava.setSecurity(nil)
32 return try( { 31 try
33 fn 32 return fn(...)
34 finally = function() 33 finally
35 security and LuanJava.setSecurity(security) 34 security and LuanJava.setSecurity(security)
36 end 35 end
37 }, ... )
38 end 36 end
39 end 37 end
40 Boot.no_security = no_security 38 Boot.no_security = no_security
41 39
42 40