summaryrefslogtreecommitdiff
path: root/xmake/core/base/interpreter.lua
diff options
context:
space:
mode:
authorruki <[email protected]>2018-12-15 00:41:39 +0800
committerruki <[email protected]>2018-12-14 22:09:54 +0800
commit95f46b973794b37ccd62edbcc3bfb010b0f23dcc (patch)
treeabbd878e0e78c0511c7da072ad43b70f03eeea47 /xmake/core/base/interpreter.lua
parent107f81a48da61d37ecbffac4e2f816b9cfedb21c (diff)
improve interpreter
Diffstat (limited to 'xmake/core/base/interpreter.lua')
-rw-r--r--xmake/core/base/interpreter.lua17
1 files changed, 8 insertions, 9 deletions
diff --git a/xmake/core/base/interpreter.lua b/xmake/core/base/interpreter.lua
index 9c2d35450..d45640064 100644
--- a/xmake/core/base/interpreter.lua
+++ b/xmake/core/base/interpreter.lua
@@ -662,8 +662,8 @@ function interpreter.new()
return instance
end
--- load results
-function interpreter:load(file, scope_kind, remove_repeat, enable_filter)
+-- load script file, e.g. xmake.lua
+function interpreter:load(file)
-- check
assert(self and self._PUBLIC and self._PRIVATE and file)
@@ -691,18 +691,17 @@ function interpreter:load(file, scope_kind, remove_repeat, enable_filter)
setfenv(script, self._PUBLIC)
-- do interpreter
- local ok, errors = xpcall(script, interpreter._traceback)
- if not ok then
- return nil, errors
- end
+ return xpcall(script, interpreter._traceback)
+end
- -- make results
+-- make results
+function interpreter:make(scope_kind, remove_repeat, enable_filter)
+
+ -- get the results with the given scope
local ok, results = xpcall(interpreter._make, interpreter._traceback, self, scope_kind, remove_repeat, enable_filter)
if not ok then
return nil, results
end
-
- -- ok
return results
end