lib: introduce three new functions call(), loadstring() and loadfile() #101
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Introduce new functions dealing with on-the-fly compilation of code and
execution of functions with different global scope.
The
loadstring()
andloadfile()
functions will compile the givenucode source string or ucode file path respectively and return the entry
function of the resulting program.
An optional dictionary specifying parse options may be given as second
argument.
Both functions return
null
on invalid arguments and throw an exceptionin case of compilation errors.
The
call()
function allows invoking a given function value with adifferent
this
context and/or a different global environment.Finally refactor the existing
uc_require_ucode()
implementation toreuse the new
uc_loadfile()
anduc_call()
implementations and adjustas well as simplify affected testcases.