Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorssankaran2013-10-29 04:09:43 +0000
committerssankaran2013-10-29 04:48:38 +0000
commit8beb6c014c6d79a132720a5abe8725a7bc30bf83 (patch)
tree29679cfcd0dd8c1514d5d7dad1976d9601ade721 /org.eclipse.jdt.compiler.apt.tests
parent91f3edc5382142e13f8351418b65563536c6670f (diff)
downloadeclipse.jdt.core-8beb6c014c6d79a132720a5abe8725a7bc30bf83.tar.gz
eclipse.jdt.core-8beb6c014c6d79a132720a5abe8725a7bc30bf83.tar.xz
eclipse.jdt.core-8beb6c014c6d79a132720a5abe8725a7bc30bf83.zip
Fixed Bug 420482 - [1.8] ExecutableTypeImpl#getParameterTypes() does
not include type annotation from type parameter
Diffstat (limited to 'org.eclipse.jdt.compiler.apt.tests')
-rw-r--r--org.eclipse.jdt.compiler.apt.tests/lib/apttestprocessors.jarbin195314 -> 195723 bytes
-rw-r--r--org.eclipse.jdt.compiler.apt.tests/processors/org/eclipse/jdt/compiler/apt/tests/processors/elements/Java8ElementProcessor.java14
-rw-r--r--org.eclipse.jdt.compiler.apt.tests/resources/targets/model8/Z.java1
3 files changed, 15 insertions, 0 deletions
diff --git a/org.eclipse.jdt.compiler.apt.tests/lib/apttestprocessors.jar b/org.eclipse.jdt.compiler.apt.tests/lib/apttestprocessors.jar
index cb96fdeceb..b086672528 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/elements/Java8ElementProcessor.java b/org.eclipse.jdt.compiler.apt.tests/processors/org/eclipse/jdt/compiler/apt/tests/processors/elements/Java8ElementProcessor.java
index 0aa6ef38a8..4d380be2a5 100644
--- a/org.eclipse.jdt.compiler.apt.tests/processors/org/eclipse/jdt/compiler/apt/tests/processors/elements/Java8ElementProcessor.java
+++ b/org.eclipse.jdt.compiler.apt.tests/processors/org/eclipse/jdt/compiler/apt/tests/processors/elements/Java8ElementProcessor.java
@@ -453,6 +453,20 @@ public class Java8ElementProcessor extends BaseProcessor {
typeMirror = typeParam.asType();
verifyAnnotations(typeParam, new String[]{"@Type(value=tp2)"});
verifyAnnotations(typeMirror, new String[]{"@Type(value=tp2)"});
+
+ // public <T> Z(@Type T t){}
+ List<? extends Element> members = _elementUtils.getAllMembers(typeZ);
+ for (ExecutableElement method : ElementFilter.constructorsIn(members)) {
+ ExecutableType executabletype = (ExecutableType) method.asType();
+ List<? extends TypeMirror> list = executabletype.getParameterTypes();
+ List<? extends VariableElement> list1 = method.getParameters();
+ for(int i = 0; i < list1.size(); i++) {
+ VariableElement variableelement = list1.get(i);
+ if (method.getSimpleName().toString().equals("<init>")) {
+ assertEquals("Trouble!", list.get(i), variableelement.asType());
+ }
+ }
+ }
}
public void testTypeAnnotations8() {
diff --git a/org.eclipse.jdt.compiler.apt.tests/resources/targets/model8/Z.java b/org.eclipse.jdt.compiler.apt.tests/resources/targets/model8/Z.java
index 7a20e5506b..ef5061f4b7 100644
--- a/org.eclipse.jdt.compiler.apt.tests/resources/targets/model8/Z.java
+++ b/org.eclipse.jdt.compiler.apt.tests/resources/targets/model8/Z.java
@@ -18,5 +18,6 @@ import org.eclipse.jdt.compiler.apt.tests.annotations.Type;
public class Z <@Type("tp1") K, @Type("tp2") V> {
Z<@Type("ta1") String, @Type("ta2") Object> z1 = null;
+ public <T> Z(@Type("parameter") T t){}
public <@Type("mp1") T, @Type("mp2") U> void foo() {}
}

Back to the top