test/script/trusted/JDK-8006529.js

changeset 89
43e32b36153c
parent 82
abea4ba28901
child 108
a971adb68f38
     1.1 --- a/test/script/trusted/JDK-8006529.js	Thu Feb 14 14:16:58 2013 +0530
     1.2 +++ b/test/script/trusted/JDK-8006529.js	Thu Feb 14 13:01:52 2013 +0100
     1.3 @@ -39,17 +39,15 @@
     1.4   * and FunctionNode because of package-access check and so reflective calls.
     1.5   */
     1.6  
     1.7 +var Parser         = Java.type("jdk.nashorn.internal.parser.Parser")
     1.8  var Compiler       = Java.type("jdk.nashorn.internal.codegen.Compiler")
     1.9  var Context        = Java.type("jdk.nashorn.internal.runtime.Context")
    1.10  var Source         = Java.type("jdk.nashorn.internal.runtime.Source")
    1.11  var FunctionNode   = Java.type("jdk.nashorn.internal.ir.FunctionNode")
    1.12  
    1.13  // Compiler class methods and fields
    1.14 -
    1.15 -// Compiler.compile(Source, Context)
    1.16 -var compilerMethod = Compiler.class.getMethod("compiler", Source.class, Context.class);
    1.17 -// Compiler.compile()
    1.18 -var compileMethod  = Compiler.class.getMethod("compile");
    1.19 +var parseMethod = Parser.class.getMethod("parse");
    1.20 +var compileMethod = Compiler.class.getMethod("compile");
    1.21  
    1.22  // NOTE: private field. But this is a trusted test!
    1.23  // Compiler.functionNode
    1.24 @@ -90,10 +88,14 @@
    1.25  // source code, returns a jdk.nashorn.internal.ir.FunctionNode object 
    1.26  // representing it.
    1.27  function compile(source) {
    1.28 -   var compiler = compilerMethod.invoke(null,
    1.29 -       new Source("<no name>", source), Context.getContext())
    1.30 -   compileMethod.invoke(compiler);
    1.31 -   return getScriptNode(compiler)
    1.32 +    var source   = new Source("<no name>", source);
    1.33 +    var parser   = new Parser(Context.getContext(), source, null);
    1.34 +    var func     = parseMethod.invoke(parser);
    1.35 +    var compiler = new Compiler(Context.getContext(), func);
    1.36 +
    1.37 +    compileMethod.invoke(compiler);
    1.38 +
    1.39 +    return getScriptNode(compiler);
    1.40  };
    1.41  
    1.42  var allAssertions = (function() {

mercurial