This is an automated email from the ASF dual-hosted git repository. sunlan pushed a commit to branch GROOVY_3_0_X in repository https://gitbox.apache.org/repos/asf/groovy.git
commit f3c77e62321a2b3ab448e81b515b140f0a8bc36a Author: Eric Milles <[email protected]> AuthorDate: Tue Jan 21 13:22:50 2020 -0600 anon. inner class should have default visibility "Illegal modifier for the local class 'new Object(){}'; only abstract or final is permitted" (cherry picked from commit 8161515b24ff7b650d5eb90f72e5bd4e4fbdf736) --- src/main/java/org/codehaus/groovy/antlr/AntlrParserPlugin.java | 2 +- .../test/groovy/groovy/console/ui/AstNodeToScriptAdapterTest.groovy | 4 ++-- .../src/main/java/org/apache/groovy/parser/antlr4/AstBuilder.java | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/main/java/org/codehaus/groovy/antlr/AntlrParserPlugin.java b/src/main/java/org/codehaus/groovy/antlr/AntlrParserPlugin.java index bcd3866..ac96d5a 100644 --- a/src/main/java/org/codehaus/groovy/antlr/AntlrParserPlugin.java +++ b/src/main/java/org/codehaus/groovy/antlr/AntlrParserPlugin.java @@ -610,7 +610,7 @@ public class AntlrParserPlugin extends ASTHelper implements ParserPlugin, Groovy if (enumConstantBeingDef) { classNode = new EnumConstantClassNode(outerClass, innerClassName, Opcodes.ACC_PUBLIC, ClassHelper.OBJECT_TYPE); } else { - classNode = new InnerClassNode(outerClass, innerClassName, Opcodes.ACC_PUBLIC, ClassHelper.OBJECT_TYPE); + classNode = new InnerClassNode(outerClass, innerClassName, 0, ClassHelper.OBJECT_TYPE); } ((InnerClassNode) classNode).setAnonymous(true); classNode.setEnclosingMethod(methodNode); diff --git a/subprojects/groovy-console/src/test/groovy/groovy/console/ui/AstNodeToScriptAdapterTest.groovy b/subprojects/groovy-console/src/test/groovy/groovy/console/ui/AstNodeToScriptAdapterTest.groovy index 3977bfe..323a9cf 100644 --- a/subprojects/groovy-console/src/test/groovy/groovy/console/ui/AstNodeToScriptAdapterTest.groovy +++ b/subprojects/groovy-console/src/test/groovy/groovy/console/ui/AstNodeToScriptAdapterTest.groovy @@ -594,8 +594,8 @@ class AstNodeToScriptAdapterTest extends GroovyTestCase { String result = compileToScript(script, CompilePhase.CANONICALIZATION) - assert result =~ /new script[0-9].*\$1/ - assert result =~ /public class script[0-9].*\$1/ + assert result =~ /new script[0-9]+\$1\(this\)/ + assert result =~ /class script[0-9]+\$1/ assert result =~ /public java\.lang\.String toString\(\)/ } diff --git a/subprojects/parser-antlr4/src/main/java/org/apache/groovy/parser/antlr4/AstBuilder.java b/subprojects/parser-antlr4/src/main/java/org/apache/groovy/parser/antlr4/AstBuilder.java index 99df11c..a3b56c6 100644 --- a/subprojects/parser-antlr4/src/main/java/org/apache/groovy/parser/antlr4/AstBuilder.java +++ b/subprojects/parser-antlr4/src/main/java/org/apache/groovy/parser/antlr4/AstBuilder.java @@ -3155,7 +3155,7 @@ public class AstBuilder extends GroovyParserBaseVisitor<Object> { // and remove the final modifier from classNode to allow the sub class superClass.setModifiers(superClass.getModifiers() & ~Opcodes.ACC_FINAL); } else { // anonymous inner class - anonymousInnerClass = new InnerClassNode(outerClass, innerClassName, Opcodes.ACC_PUBLIC, superClass); + anonymousInnerClass = new InnerClassNode(outerClass, innerClassName, 0, superClass); } anonymousInnerClass.setUsingGenerics(false);
