我有一些javascript文件,然后我在编辑器中尝试为用户提供代码完成。为了找到这个功能,我做了类似的事情:
Context cx = Context.enter();
try {
Scriptable scope = cx.initStandardObjects();
cx.evaluateString(scope, jsCode, "<cmd>", 1, null);
for (Map.Entry<Object,Object> entry: nativeObject.entrySet()){
if (entry.getValue() instanceof Function) {
//entry.getKey() is the name of a function...
System.out.println(entry.getKey());
}
}
}catch (Exception ex){
...
}
现在我想得到这些函数的params名称,我尝试将entry.getValue()强制转换为NativeFunction,但方法getParamCount()和getParamOrVarName()受到保护。
有谁能告诉我该怎么办?