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

Reply via email to