[ 
https://issues.apache.org/jira/browse/NETBEANS-906?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16502285#comment-16502285
 ] 

Jeffrey Morlan commented on NETBEANS-906:
-----------------------------------------

Appears to be related to "tree.args = 
tree.args.prepend(makeNullCheck(tree.encl));"

In JDK 8, this line of code is in Attr.visitAnonymousClassdefinition.

In JDK 10, it was moved to TransTypes.visitNewClass:
https://bugs.openjdk.java.net/browse/JDK-8044853
http://hg.openjdk.java.net/jdk10/master/rev/22d665f53a4a

In nb-java-x, it's in both places and tree.args is getting prepended twice.

> nb-javac throws AssertionError compiling valid Java code involving inner 
> classes
> --------------------------------------------------------------------------------
>
>                 Key: NETBEANS-906
>                 URL: https://issues.apache.org/jira/browse/NETBEANS-906
>             Project: NetBeans
>          Issue Type: Bug
>          Components: java - Compiler
>    Affects Versions: 9.0
>         Environment: OpenJDK 1.8.0_171 on Ubuntu
>            Reporter: Jeffrey Morlan
>            Priority: Major
>
> NetBeans 9.0 RC1 with nb-javac plugin fails to compile code like this:
> public class Bug {
>     class A {}
>     static void b(Bug c) \{ c.new A(){}; }
> }
> It throws the following exception:
> java.lang.AssertionError
>       at com.sun.tools.javac.util.Assert.error(Assert.java:155)
>       at com.sun.tools.javac.util.Assert.check(Assert.java:46)
>       at 
> com.sun.tools.javac.comp.TransTypes.translateArgs(TransTypes.java:211)
>       at 
> com.sun.tools.javac.comp.TransTypes.visitNewClass(TransTypes.java:723)
>       at com.sun.tools.javac.tree.JCTree$JCNewClass.accept(JCTree.java:1695)
>       at 
> com.sun.tools.javac.tree.TreeTranslator.translate(TreeTranslator.java:58)
>       at com.sun.tools.javac.comp.TransTypes.translate(TransTypes.java:504)
>       at com.sun.tools.javac.comp.TransTypes.visitExec(TransTypes.java:655)
>       at 
> com.sun.tools.javac.tree.JCTree$JCExpressionStatement.accept(JCTree.java:1458)
>       at 
> com.sun.tools.javac.tree.TreeTranslator.translate(TreeTranslator.java:58)
>       at 
> com.sun.tools.javac.tree.TreeTranslator.translate(TreeTranslator.java:70)
>       at 
> com.sun.tools.javac.tree.TreeTranslator.visitBlock(TreeTranslator.java:167)
>       at com.sun.tools.javac.tree.JCTree$JCBlock.accept(JCTree.java:1026)
>       at 
> com.sun.tools.javac.tree.TreeTranslator.translate(TreeTranslator.java:58)
>       at com.sun.tools.javac.comp.TransTypes.translate(TransTypes.java:504)
>       at 
> com.sun.tools.javac.comp.TransTypes.visitMethodDef(TransTypes.java:539)
>       at com.sun.tools.javac.tree.JCTree$JCMethodDecl.accept(JCTree.java:872)
>       at 
> com.sun.tools.javac.tree.TreeTranslator.translate(TreeTranslator.java:58)
>       at 
> com.sun.tools.javac.tree.TreeTranslator.translate(TreeTranslator.java:70)
>       at 
> com.sun.tools.javac.tree.TreeTranslator.visitClassDef(TreeTranslator.java:139)
>       at 
> com.sun.tools.javac.comp.TransTypes.translateClass(TransTypes.java:971)
>       at 
> com.sun.tools.javac.comp.TransTypes.visitClassDef(TransTypes.java:525)
>       at com.sun.tools.javac.tree.JCTree$JCClassDecl.accept(JCTree.java:778)
>       at 
> com.sun.tools.javac.tree.TreeTranslator.translate(TreeTranslator.java:58)
>       at com.sun.tools.javac.comp.TransTypes.translate(TransTypes.java:504)
>       at 
> com.sun.tools.javac.comp.TransTypes.translateTopLevelClass(TransTypes.java:995)
>       at com.sun.tools.javac.main.JavaCompiler.desugar(JavaCompiler.java:1653)
>       at com.sun.tools.javac.main.JavaCompiler.desugar(JavaCompiler.java:1520)
>       at 
> com.sun.tools.javac.api.JavacTaskImpl$2.process(JavacTaskImpl.java:567)
>       at 
> com.sun.tools.javac.api.JavacTaskImpl$Filter.run(JavacTaskImpl.java:644)
>       at 
> com.sun.tools.javac.api.JavacTaskImpl.generate(JavacTaskImpl.java:570)



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscr...@netbeans.apache.org
For additional commands, e-mail: commits-h...@netbeans.apache.org

For further information about the NetBeans mailing lists, visit:
https://cwiki.apache.org/confluence/display/NETBEANS/Mailing+lists

Reply via email to