Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorWalter Harley2008-03-26 00:39:13 +0000
committerWalter Harley2008-03-26 00:39:13 +0000
commit6b38a90674d8f322a6f0c632bd6a1269aa0b2341 (patch)
tree88ce6c5406015baa7f6e1942069fd7d6aac120fd
parentfe964ab01ddcec37f8dfad2a7e0b4a4e86da2033 (diff)
downloadeclipse.jdt.core-6b38a90674d8f322a6f0c632bd6a1269aa0b2341.tar.gz
eclipse.jdt.core-6b38a90674d8f322a6f0c632bd6a1269aa0b2341.tar.xz
eclipse.jdt.core-6b38a90674d8f322a6f0c632bd6a1269aa0b2341.zip
Bug 223281 - report error type for parameterized, arrayed, etc. types based on recovered types.
-rw-r--r--org.eclipse.jdt.compiler.apt.tests/lib/apttestprocessors.jarbin143052 -> 142681 bytes
-rw-r--r--org.eclipse.jdt.compiler.apt.tests/processors/org/eclipse/jdt/compiler/apt/tests/processors/negative/NegativeModelProc.java1
-rw-r--r--org.eclipse.jdt.compiler.apt.tests/src/org/eclipse/jdt/compiler/apt/tests/AllTests.java5
-rw-r--r--org.eclipse.jdt.compiler.apt/src/org/eclipse/jdt/internal/compiler/apt/model/DeclaredTypeImpl.java7
4 files changed, 9 insertions, 4 deletions
diff --git a/org.eclipse.jdt.compiler.apt.tests/lib/apttestprocessors.jar b/org.eclipse.jdt.compiler.apt.tests/lib/apttestprocessors.jar
index 28163d60e5..56ccf04a12 100644
--- a/org.eclipse.jdt.compiler.apt.tests/lib/apttestprocessors.jar
+++ b/org.eclipse.jdt.compiler.apt.tests/lib/apttestprocessors.jar
Binary files differ
diff --git a/org.eclipse.jdt.compiler.apt.tests/processors/org/eclipse/jdt/compiler/apt/tests/processors/negative/NegativeModelProc.java b/org.eclipse.jdt.compiler.apt.tests/processors/org/eclipse/jdt/compiler/apt/tests/processors/negative/NegativeModelProc.java
index 3b2ffc2695..ed81d906ef 100644
--- a/org.eclipse.jdt.compiler.apt.tests/processors/org/eclipse/jdt/compiler/apt/tests/processors/negative/NegativeModelProc.java
+++ b/org.eclipse.jdt.compiler.apt.tests/processors/org/eclipse/jdt/compiler/apt/tests/processors/negative/NegativeModelProc.java
@@ -197,6 +197,7 @@ public class NegativeModelProc extends AbstractProcessor
" </superclass>\n" +
" <interfaces>\n" +
" <type-mirror kind=\"ERROR\" to-string=\"M112\"/>\n" +
+ " <type-mirror kind=\"ERROR\" to-string=\"M113&lt;M114&gt;\"/>\n" +
" </interfaces>\n" +
" </type-element>\n" +
" </type-element>\n" +
diff --git a/org.eclipse.jdt.compiler.apt.tests/src/org/eclipse/jdt/compiler/apt/tests/AllTests.java b/org.eclipse.jdt.compiler.apt.tests/src/org/eclipse/jdt/compiler/apt/tests/AllTests.java
index e26370eac6..0b35646464 100644
--- a/org.eclipse.jdt.compiler.apt.tests/src/org/eclipse/jdt/compiler/apt/tests/AllTests.java
+++ b/org.eclipse.jdt.compiler.apt.tests/src/org/eclipse/jdt/compiler/apt/tests/AllTests.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2006, 2007 BEA Systems, Inc.
+ * Copyright (c) 2006, 2008 BEA Systems, Inc.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
@@ -27,8 +27,7 @@ public class AllTests extends TestCase {
suite.addTestSuite(MessagerTests.class);
suite.addTestSuite(FilerTests.class);
suite.addTestSuite(ModelUtilTests.class);
- // Not yet supported:
- // suite.addTestSuite(NegativeTests.class);
+ suite.addTestSuite(NegativeTests.class);
return suite;
}
}
diff --git a/org.eclipse.jdt.compiler.apt/src/org/eclipse/jdt/internal/compiler/apt/model/DeclaredTypeImpl.java b/org.eclipse.jdt.compiler.apt/src/org/eclipse/jdt/internal/compiler/apt/model/DeclaredTypeImpl.java
index 820090d180..2edb524b7c 100644
--- a/org.eclipse.jdt.compiler.apt/src/org/eclipse/jdt/internal/compiler/apt/model/DeclaredTypeImpl.java
+++ b/org.eclipse.jdt.compiler.apt/src/org/eclipse/jdt/internal/compiler/apt/model/DeclaredTypeImpl.java
@@ -27,6 +27,7 @@ import javax.lang.model.type.TypeVisitor;
import org.eclipse.jdt.internal.compiler.apt.dispatch.BaseProcessingEnvImpl;
import org.eclipse.jdt.internal.compiler.lookup.ParameterizedTypeBinding;
import org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding;
+import org.eclipse.jdt.internal.compiler.lookup.TagBits;
import org.eclipse.jdt.internal.compiler.lookup.TypeBinding;
import org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding;
@@ -108,7 +109,11 @@ public class DeclaredTypeImpl extends TypeMirrorImpl implements DeclaredType {
@Override
public TypeKind getKind() {
- if (!binding().isValidBinding()) {
+ // Binding.isValidBinding() will return true for a parameterized or array type whose raw
+ // or member type is unresolved. So we need to be a little more sensitive, so that we
+ // can report Zork<Quux> or Zork[] as error types.
+ ReferenceBinding type = (ReferenceBinding)_binding;
+ if ((!type.isValidBinding() || ((type.tagBits & TagBits.HasMissingType) != 0))) {
return TypeKind.ERROR;
}
return TypeKind.DECLARED;

Back to the top