diff --git a/base-test/org.eclipse.jdt.groovy.core.tests.compiler/src/org/eclipse/jdt/groovy/core/tests/basic/GroovySimpleTests.java b/base-test/org.eclipse.jdt.groovy.core.tests.compiler/src/org/eclipse/jdt/groovy/core/tests/basic/GroovySimpleTests.java index a7fe5833be..21bf8a4dbb 100644 --- a/base-test/org.eclipse.jdt.groovy.core.tests.compiler/src/org/eclipse/jdt/groovy/core/tests/basic/GroovySimpleTests.java +++ b/base-test/org.eclipse.jdt.groovy.core.tests.compiler/src/org/eclipse/jdt/groovy/core/tests/basic/GroovySimpleTests.java @@ -7084,6 +7084,42 @@ public void testShellScriptComment2() { "----------\n"); } + @Test + public void testVoidMethodParameter() { + //@formatter:off + String[] sources = { + "Pogo.groovy", + "class Pogo {\n" + + " void m(void p) {}\n" + + "}\n", + + "Pojo.java", + "class Pojo {\n" + + " void m(void p) {}\n" + + "}\n", + }; + //@formatter:on + + runNegativeTest(sources, + "----------\n" + + "1. ERROR in Pogo.groovy (at line 2)\n" + + "\tvoid m(void p) {}\n" + + "\t ^^^^^^^^^\n" + + "void is an invalid type for the parameter p of a method\n" + + "----------\n" + + "2. ERROR in Pogo.groovy (at line 2)\n" + + "\tvoid m(void p) {}\n" + + "\t ^\n" + + "Groovy:The parameter 'p' in method 'void m(void)' has invalid type void\n" + + "----------\n" + + "----------\n" + + "1. ERROR in Pojo.java (at line 2)\n" + + "\tvoid m(void p) {}\n" + + "\t ^^^^^^^^^\n" + + "void is an invalid type for the parameter p of a method\n" + + "----------\n"); + } + //-------------------------------------------------------------------------- private void assertEventCount(int expectedCount, EventListener listener) { diff --git a/jdt-patch/e410/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/problem/ProblemReporter.java b/jdt-patch/e410/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/problem/ProblemReporter.java index d0a7b71d25..47a748db01 100644 --- a/jdt-patch/e410/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/problem/ProblemReporter.java +++ b/jdt-patch/e410/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/problem/ProblemReporter.java @@ -1121,7 +1121,7 @@ public void anonymousClassCannotExtendFinalClass(TypeReference reference, TypeBi reference.sourceEnd); } public void argumentTypeCannotBeVoid(ASTNode methodDecl, Argument arg) { - String[] arguments = new String[] { new String(arg.name) }; + String[] arguments = {null, new String(arg.name)}; // GROOVY edit this.handle( IProblem.ArgumentTypeCannotBeVoid, arguments, diff --git a/jdt-patch/e411/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/problem/ProblemReporter.java b/jdt-patch/e411/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/problem/ProblemReporter.java index ca640869a4..dd10c48705 100644 --- a/jdt-patch/e411/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/problem/ProblemReporter.java +++ b/jdt-patch/e411/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/problem/ProblemReporter.java @@ -1121,7 +1121,7 @@ public void anonymousClassCannotExtendFinalClass(TypeReference reference, TypeBi reference.sourceEnd); } public void argumentTypeCannotBeVoid(ASTNode methodDecl, Argument arg) { - String[] arguments = new String[] { new String(arg.name) }; + String[] arguments = {null, new String(arg.name)}; // GROOVY edit this.handle( IProblem.ArgumentTypeCannotBeVoid, arguments, diff --git a/jdt-patch/e412/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/problem/ProblemReporter.java b/jdt-patch/e412/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/problem/ProblemReporter.java index 018fe5b217..7fc1412826 100644 --- a/jdt-patch/e412/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/problem/ProblemReporter.java +++ b/jdt-patch/e412/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/problem/ProblemReporter.java @@ -1127,7 +1127,7 @@ public void anonymousClassCannotExtendFinalClass(TypeReference reference, TypeBi reference.sourceEnd); } public void argumentTypeCannotBeVoid(ASTNode methodDecl, Argument arg) { - String[] arguments = new String[] { new String(arg.name) }; + String[] arguments = {null, new String(arg.name)}; // GROOVY edit this.handle( IProblem.ArgumentTypeCannotBeVoid, arguments, diff --git a/jdt-patch/e413/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/problem/ProblemReporter.java b/jdt-patch/e413/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/problem/ProblemReporter.java index 087c27dd96..8106f93a09 100644 --- a/jdt-patch/e413/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/problem/ProblemReporter.java +++ b/jdt-patch/e413/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/problem/ProblemReporter.java @@ -1129,7 +1129,7 @@ public void anonymousClassCannotExtendFinalClass(TypeReference reference, TypeBi reference.sourceEnd); } public void argumentTypeCannotBeVoid(ASTNode methodDecl, Argument arg) { - String[] arguments = new String[] { new String(arg.name) }; + String[] arguments = {null, new String(arg.name)}; // GROOVY edit this.handle( IProblem.ArgumentTypeCannotBeVoid, arguments, diff --git a/jdt-patch/e414/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/problem/ProblemReporter.java b/jdt-patch/e414/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/problem/ProblemReporter.java index 4fbad3341e..cd53f4e07b 100644 --- a/jdt-patch/e414/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/problem/ProblemReporter.java +++ b/jdt-patch/e414/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/problem/ProblemReporter.java @@ -1155,7 +1155,7 @@ public void anonymousClassCannotExtendFinalClass(TypeReference reference, TypeBi reference.sourceEnd); } public void argumentTypeCannotBeVoid(ASTNode methodDecl, Argument arg) { - String[] arguments = new String[] { new String(arg.name) }; + String[] arguments = {null, new String(arg.name)}; // GROOVY edit this.handle( IProblem.ArgumentTypeCannotBeVoid, arguments, diff --git a/jdt-patch/e415/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/problem/ProblemReporter.java b/jdt-patch/e415/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/problem/ProblemReporter.java index 363a26cebf..986905671c 100644 --- a/jdt-patch/e415/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/problem/ProblemReporter.java +++ b/jdt-patch/e415/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/problem/ProblemReporter.java @@ -1161,7 +1161,7 @@ public void anonymousClassCannotExtendFinalClass(TypeReference reference, TypeBi reference.sourceEnd); } public void argumentTypeCannotBeVoid(ASTNode methodDecl, Argument arg) { - String[] arguments = new String[] { new String(arg.name) }; + String[] arguments = {null, new String(arg.name)}; // GROOVY edit this.handle( IProblem.ArgumentTypeCannotBeVoid, arguments, diff --git a/jdt-patch/e416/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/problem/ProblemReporter.java b/jdt-patch/e416/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/problem/ProblemReporter.java index 08e000d4ca..52e34ec053 100644 --- a/jdt-patch/e416/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/problem/ProblemReporter.java +++ b/jdt-patch/e416/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/problem/ProblemReporter.java @@ -1166,7 +1166,7 @@ public void anonymousClassCannotExtendFinalClass(TypeReference reference, TypeBi reference.sourceEnd); } public void argumentTypeCannotBeVoid(ASTNode methodDecl, Argument arg) { - String[] arguments = new String[] { new String(arg.name) }; + String[] arguments = {null, new String(arg.name)}; // GROOVY edit this.handle( IProblem.ArgumentTypeCannotBeVoid, arguments, diff --git a/jdt-patch/e417/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/problem/ProblemReporter.java b/jdt-patch/e417/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/problem/ProblemReporter.java index ebb1615b2c..698639dd56 100644 --- a/jdt-patch/e417/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/problem/ProblemReporter.java +++ b/jdt-patch/e417/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/problem/ProblemReporter.java @@ -1166,7 +1166,7 @@ public void anonymousClassCannotExtendFinalClass(TypeReference reference, TypeBi reference.sourceEnd); } public void argumentTypeCannotBeVoid(ASTNode methodDecl, Argument arg) { - String[] arguments = new String[] { new String(arg.name) }; + String[] arguments = {null, new String(arg.name)}; // GROOVY edit this.handle( IProblem.ArgumentTypeCannotBeVoid, arguments, diff --git a/jdt-patch/e418/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/problem/ProblemReporter.java b/jdt-patch/e418/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/problem/ProblemReporter.java index c1b55d4d11..4b82b5fd99 100644 --- a/jdt-patch/e418/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/problem/ProblemReporter.java +++ b/jdt-patch/e418/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/problem/ProblemReporter.java @@ -1187,7 +1187,7 @@ public void anonymousClassCannotExtendFinalClass(TypeReference reference, TypeBi reference.sourceEnd); } public void argumentTypeCannotBeVoid(ASTNode methodDecl, Argument arg) { - String[] arguments = new String[] { new String(arg.name) }; + String[] arguments = {null, new String(arg.name)}; // GROOVY edit this.handle( IProblem.ArgumentTypeCannotBeVoid, arguments, diff --git a/jdt-patch/e419/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/problem/ProblemReporter.java b/jdt-patch/e419/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/problem/ProblemReporter.java index c1b55d4d11..4b82b5fd99 100644 --- a/jdt-patch/e419/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/problem/ProblemReporter.java +++ b/jdt-patch/e419/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/problem/ProblemReporter.java @@ -1187,7 +1187,7 @@ public void anonymousClassCannotExtendFinalClass(TypeReference reference, TypeBi reference.sourceEnd); } public void argumentTypeCannotBeVoid(ASTNode methodDecl, Argument arg) { - String[] arguments = new String[] { new String(arg.name) }; + String[] arguments = {null, new String(arg.name)}; // GROOVY edit this.handle( IProblem.ArgumentTypeCannotBeVoid, arguments, diff --git a/jdt-patch/e420/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/problem/ProblemReporter.java b/jdt-patch/e420/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/problem/ProblemReporter.java index 9eda37c7f3..c45ed06915 100644 --- a/jdt-patch/e420/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/problem/ProblemReporter.java +++ b/jdt-patch/e420/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/problem/ProblemReporter.java @@ -1189,7 +1189,7 @@ public void anonymousClassCannotExtendFinalClass(TypeReference reference, TypeBi reference.sourceEnd); } public void argumentTypeCannotBeVoid(ASTNode methodDecl, Argument arg) { - String[] arguments = new String[] { new String(arg.name) }; + String[] arguments = {null, new String(arg.name)}; // GROOVY edit this.handle( IProblem.ArgumentTypeCannotBeVoid, arguments, diff --git a/jdt-patch/e421/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/problem/ProblemReporter.java b/jdt-patch/e421/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/problem/ProblemReporter.java index e1b65f1045..61fc70a7ac 100644 --- a/jdt-patch/e421/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/problem/ProblemReporter.java +++ b/jdt-patch/e421/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/problem/ProblemReporter.java @@ -1189,7 +1189,7 @@ public void anonymousClassCannotExtendFinalClass(TypeReference reference, TypeBi reference.sourceEnd); } public void argumentTypeCannotBeVoid(ASTNode methodDecl, Argument arg) { - String[] arguments = new String[] { new String(arg.name) }; + String[] arguments = {null, new String(arg.name)}; // GROOVY edit this.handle( IProblem.ArgumentTypeCannotBeVoid, arguments, diff --git a/jdt-patch/e422/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/problem/ProblemReporter.java b/jdt-patch/e422/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/problem/ProblemReporter.java index f2889ac67c..1fcef1ba2c 100644 --- a/jdt-patch/e422/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/problem/ProblemReporter.java +++ b/jdt-patch/e422/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/problem/ProblemReporter.java @@ -1190,7 +1190,7 @@ public void anonymousClassCannotExtendFinalClass(TypeReference reference, TypeBi reference.sourceEnd); } public void argumentTypeCannotBeVoid(ASTNode methodDecl, Argument arg) { - String[] arguments = new String[] { new String(arg.name) }; + String[] arguments = {null, new String(arg.name)}; // GROOVY edit this.handle( IProblem.ArgumentTypeCannotBeVoid, arguments, diff --git a/jdt-patch/e423/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/problem/ProblemReporter.java b/jdt-patch/e423/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/problem/ProblemReporter.java index 1beaf03235..811ae7c531 100644 --- a/jdt-patch/e423/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/problem/ProblemReporter.java +++ b/jdt-patch/e423/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/problem/ProblemReporter.java @@ -1190,7 +1190,7 @@ public void anonymousClassCannotExtendFinalClass(TypeReference reference, TypeBi reference.sourceEnd); } public void argumentTypeCannotBeVoid(ASTNode methodDecl, Argument arg) { - String[] arguments = new String[] { new String(arg.name) }; + String[] arguments = {null, new String(arg.name)}; // GROOVY edit this.handle( IProblem.ArgumentTypeCannotBeVoid, arguments, diff --git a/jdt-patch/e49/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/problem/ProblemReporter.java b/jdt-patch/e49/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/problem/ProblemReporter.java index d0a7b71d25..47a748db01 100644 --- a/jdt-patch/e49/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/problem/ProblemReporter.java +++ b/jdt-patch/e49/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/problem/ProblemReporter.java @@ -1121,7 +1121,7 @@ public void anonymousClassCannotExtendFinalClass(TypeReference reference, TypeBi reference.sourceEnd); } public void argumentTypeCannotBeVoid(ASTNode methodDecl, Argument arg) { - String[] arguments = new String[] { new String(arg.name) }; + String[] arguments = {null, new String(arg.name)}; // GROOVY edit this.handle( IProblem.ArgumentTypeCannotBeVoid, arguments,