我将此作为scriptengine的输入。让我们将其命名为模块(如LLVM一样)
ScriptEngine engine = manager.getEngineByName ("JavaScript");
String script = "function foo(p1, p2)"+
"{"+
" return p1*p2 + goo(p1,p2);"+
"}";
engine.eval (script);
engine.eval (script);
我如何收到此引擎中定义的(解析)所有功能? 现在我只能从所有全局变量的引擎列表中获取,如全局变量或全局范围内的函数(如foo)。如何使用模块中定义的所有函数及其接口创建数组?
如您所见,此模块中未定义函数goo
。它应该在另一台机器上定义。 Obv,此模块在执行期间将失败。如何捕获这个函数的调用?我的意思是在LLVM中,您可以在执行之前接收模块的所有依赖项并解决它们,或者您可以使用您自己的实现来替换此类函数的调用,以在执行期间解析它。那么,如何获取模块的所有依赖项并用我自己的实现替换这些调用?