111 } |
111 } |
112 |
112 |
113 var getContextMethod = Context.class.getMethod("getContext") |
113 var getContextMethod = Context.class.getMethod("getContext") |
114 var getEnvMethod = Context.class.getMethod("getEnv") |
114 var getEnvMethod = Context.class.getMethod("getEnv") |
115 |
115 |
116 var SourceConstructor = Source.class.getConstructor(java.lang.String.class, java.lang.String.class) |
116 var sourceForMethod = Source.class.getMethod("sourceFor", java.lang.String.class, java.lang.String.class) |
117 var ParserConstructor = Parser.class.getConstructor(ScriptEnvironment.class, Source.class, ErrorManager.class) |
117 var ParserConstructor = Parser.class.getConstructor(ScriptEnvironment.class, Source.class, ErrorManager.class) |
118 var CompilerConstructor = Compiler.class.getConstructor(ScriptEnvironment.class) |
118 var CompilerConstructor = Compiler.class.getConstructor(ScriptEnvironment.class) |
119 |
119 |
120 // compile(script) -- compiles a script specified as a string with its |
120 // compile(script) -- compiles a script specified as a string with its |
121 // source code, returns a jdk.nashorn.internal.ir.FunctionNode object |
121 // source code, returns a jdk.nashorn.internal.ir.FunctionNode object |
122 // representing it. |
122 // representing it. |
123 function compile(source) { |
123 function compile(source) { |
124 var source = SourceConstructor.newInstance("<no name>", source); |
124 var source = sourceForMethod.invoke(null, "<no name>", source); |
125 |
125 |
126 var env = getEnvMethod.invoke(getContextMethod.invoke(null)) |
126 var env = getEnvMethod.invoke(getContextMethod.invoke(null)) |
127 |
127 |
128 var parser = ParserConstructor.newInstance(env, source, ThrowErrorManager.class.newInstance()); |
128 var parser = ParserConstructor.newInstance(env, source, ThrowErrorManager.class.newInstance()); |
129 var func = parseMethod.invoke(parser); |
129 var func = parseMethod.invoke(parser); |