diff options
author | ssankaran | 2013-10-29 04:09:43 +0000 |
---|---|---|
committer | ssankaran | 2013-10-29 04:48:38 +0000 |
commit | 8beb6c014c6d79a132720a5abe8725a7bc30bf83 (patch) | |
tree | 29679cfcd0dd8c1514d5d7dad1976d9601ade721 /org.eclipse.jdt.compiler.apt.tests | |
parent | 91f3edc5382142e13f8351418b65563536c6670f (diff) | |
download | eclipse.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')
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 Binary files differindex cb96fdeceb..b086672528 100644 --- a/org.eclipse.jdt.compiler.apt.tests/lib/apttestprocessors.jar +++ b/org.eclipse.jdt.compiler.apt.tests/lib/apttestprocessors.jar 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() {} } |