On Feb 3, 3:16 pm, Martin Blom <[email protected]> wrote: > [I posted this to the newsgroup a couple of days ago, but it didn't seem > to reach the mailing list, so I'm sending it again.] > > Hi group, > > I've run into a problem with E4X filters on namespaced elements. The > following example demonstrates the problem: > > var xml = <atom:feed xmlns:atom="http://www.w3.org/2005/Atom"> > <atom:entry> > <atom:title>One</atom:title> > </atom:entry> > <atom:entry> > <atom:title>Two</atom:title> > </atom:entry> > </atom:feed>; > > if (1) { > var atom = new Namespace("http://www.w3.org/2005/Atom"); > print(xml.atom::entry.(atom::title == "One"));} > > else { > default xml namespace = "http://www.w3.org/2005/Atom"; > print(xml.entry.(title == "One")); > default xml namespace = ""; > > } > > The first part of the if () statement results in the following stack > trace when optimization is turned on (tested with rhino1_7R2-RC3.zip). > The second part works. Should I file a bug somewhere? > > Exception in thread "main" java.lang.RuntimeException: Bad tree in codegen > at > org.mozilla.javascript.optimizer.Codegen.badTree(Codegen.java:1273) > at > org.mozilla.javascript.optimizer.BodyCodegen.visitIfJumpEqOp(Codegen.java:4 > 429) > at > org.mozilla.javascript.optimizer.BodyCodegen.generateExpression(Codegen.jav > a:2589) > at > org.mozilla.javascript.optimizer.BodyCodegen.visitDotQuery(Codegen.java:475 8) > at > org.mozilla.javascript.optimizer.BodyCodegen.generateExpression(Codegen.jav > a:2805) > at > org.mozilla.javascript.optimizer.BodyCodegen.generateCallArgArray(Codegen.j > ava:3551) > at > org.mozilla.javascript.optimizer.BodyCodegen.visitStandardCall(Codegen.java > :3314) > at > org.mozilla.javascript.optimizer.BodyCodegen.generateExpression(Codegen.jav > a:2271) > at > org.mozilla.javascript.optimizer.BodyCodegen.generateStatement(Codegen.java > :2118) > at > org.mozilla.javascript.optimizer.BodyCodegen.generateStatement(Codegen.java > :1937) > at > org.mozilla.javascript.optimizer.BodyCodegen.generateStatement(Codegen.java > :1937) > at > org.mozilla.javascript.optimizer.BodyCodegen.generateBodyCode(Codegen.java: > 1363) > at > org.mozilla.javascript.optimizer.Codegen.generateCode(Codegen.java:327) > at > org.mozilla.javascript.optimizer.Codegen.compileToClassFile(Codegen.java:18 2) > at > org.mozilla.javascript.optimizer.Codegen.compile(Codegen.java:91) > at org.mozilla.javascript.Context.compileImpl(Context.java:2391) > at org.mozilla.javascript.Context.compileString(Context.java:1359) > at org.mozilla.javascript.Context.compileString(Context.java:1348) > at > org.mozilla.javascript.tools.shell.Main.loadScriptFromSource(Main.java:495) > at > org.mozilla.javascript.tools.shell.Main.processFileSecure(Main.java:483) > at > org.mozilla.javascript.tools.shell.Main.processFile(Main.java:452) > at > org.mozilla.javascript.tools.shell.Main.processSource(Main.java:443) > at > org.mozilla.javascript.tools.shell.Main.processFiles(Main.java:196) > at > org.mozilla.javascript.tools.shell.Main$IProxy.run(Main.java:117) > at org.mozilla.javascript.Context.call(Context.java:515) > at > org.mozilla.javascript.ContextFactory.call(ContextFactory.java:507) > at org.mozilla.javascript.tools.shell.Main.exec(Main.java:179) > at org.mozilla.javascript.tools.shell.Main.main(Main.java:157) > > smime.p7s > 4KViewDownload
Yes, please enter a bug: https://bugzilla.mozilla.org/enter_bug.cgi?product=Rhino. Thanks, Norris _______________________________________________ dev-tech-js-engine-rhino mailing list [email protected] https://lists.mozilla.org/listinfo/dev-tech-js-engine-rhino
