Necesito analizar JavaScript desde Java. Ya probé NashornScriptEngine (integrado en el jdk) y RhinoScriptEngine, pero ambos (aparentemente) no admiten la palabra clave "clase".
Esto es lo que probé:
public static void main(String[] args) throws Throwable { RhinoScriptEngineFactory factory = new RhinoScriptEngineFactory(); RhinoScriptEngine engine = (RhinoScriptEngine) factory.getScriptEngine(); engine.eval(new FileReader("js/SomeClass.js")); }Y este es el contenido de SomeClass.js:
class SomeTestClass { } function start() { print("hello") }Y este es el seguimiento de la pila:
Exception in thread "main" javax.script.ScriptException: identifier is a reserved word: class in eval at line number 0 at column number 6 at org.mozilla.javascript.engine.RhinoScriptEngine.eval(RhinoScriptEngine.java:124) at javax.script.AbstractScriptEngine.eval(AbstractScriptEngine.java:249) at com.clut.MyMain.main(MyMain.java:21)Entonces, ¿qué puedo hacer para analizar las clases que contienen javascript? Incluso puedo usar otra biblioteca si es necesario
Descubrí que GraalVm tiene un análisis de javascript incorporado