diff options
author | Jay Arthanareeswaran | 2017-08-07 10:02:15 +0000 |
---|---|---|
committer | Jay Arthanareeswaran | 2017-08-07 10:33:53 +0000 |
commit | 2200a415a222e363ef80aa74c9e6c21e7c5413d5 (patch) | |
tree | 155c534f5d52c370b6d016f0b0290a5e89a99ed2 /org.eclipse.jdt.compiler.apt.tests | |
parent | 7cd689e47acb28ea4d32dafcdb91c140b9faaa25 (diff) | |
download | eclipse.jdt.core-2200a415a222e363ef80aa74c9e6c21e7c5413d5.tar.gz eclipse.jdt.core-2200a415a222e363ef80aa74c9e6c21e7c5413d5.tar.xz eclipse.jdt.core-2200a415a222e363ef80aa74c9e6c21e7c5413d5.zip |
non-primary types
Change-Id: I56a03505ae6a0ddd7ad1f71bef52d24b4737df26
Signed-off-by: Jay Arthanareeswaran <jarthana@in.ibm.com>
Diffstat (limited to 'org.eclipse.jdt.compiler.apt.tests')
5 files changed, 33 insertions, 5 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 e08c33c311..070b6b45e3 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/lib/apttestprocessors8.jar b/org.eclipse.jdt.compiler.apt.tests/lib/apttestprocessors8.jar Binary files differindex f57fa54e56..1ca5f80f0c 100644 --- a/org.eclipse.jdt.compiler.apt.tests/lib/apttestprocessors8.jar +++ b/org.eclipse.jdt.compiler.apt.tests/lib/apttestprocessors8.jar diff --git a/org.eclipse.jdt.compiler.apt.tests/processors8/org/eclipse/jdt/compiler/apt/tests/processors/elements/Java8ElementProcessor.java b/org.eclipse.jdt.compiler.apt.tests/processors8/org/eclipse/jdt/compiler/apt/tests/processors/elements/Java8ElementProcessor.java index 077d7079af..109aa2451f 100644 --- a/org.eclipse.jdt.compiler.apt.tests/processors8/org/eclipse/jdt/compiler/apt/tests/processors/elements/Java8ElementProcessor.java +++ b/org.eclipse.jdt.compiler.apt.tests/processors8/org/eclipse/jdt/compiler/apt/tests/processors/elements/Java8ElementProcessor.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2013, 2016 IBM Corporation. + * Copyright (c) 2013, 2017 IBM Corporation. * 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 @@ -17,6 +17,7 @@ import java.io.OutputStream; import java.lang.annotation.Annotation; import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Method; +import java.util.ArrayList; import java.util.HashSet; import java.util.List; import java.util.Map; @@ -169,6 +170,7 @@ public class Java8ElementProcessor extends BaseProcessor { testTypeAnnotations26(); testTypeAnnotations27(); testPackageAnnotations(); + testBug520540(); } public void testLambdaSpecifics() { @@ -974,7 +976,7 @@ public class Java8ElementProcessor extends BaseProcessor { } } - public boolean testPackageAnnotations() { + public void testPackageAnnotations() { if ( roundNo++ == 0) { this.reportSuccessAlready = false; try { @@ -983,7 +985,6 @@ public class Java8ElementProcessor extends BaseProcessor { e.printStackTrace(); } System.setProperty(this.getClass().getName(), "Processor did not fully do the job"); - return false; } else { this.reportSuccessAlready = true; PackageElement packageEl = null; @@ -996,9 +997,25 @@ public class Java8ElementProcessor extends BaseProcessor { assertEquals("Incorrect package name", simpleName, packageEl.getSimpleName().toString()); assertEquals("Incorrect package name", packageName, packageEl.getQualifiedName().toString()); assertFalse("Package should not be unnamed", packageEl.isUnnamed()); - return false; } } + public void testBug520540() { + PackageElement packageElement = _elementUtils.getPackageElement("targets.bug520540"); + assertNotNull("package element should not be null", packageElement); + List<? extends Element> enclosedElements = packageElement.getEnclosedElements(); + assertEquals("Incorrect no of elements", 2, enclosedElements.size()); + List<String> typeElements = new ArrayList<>(); + for (Element element : enclosedElements) { + if (element instanceof TypeElement) { + typeElements.add(((TypeElement) element).getQualifiedName().toString()); + } + } + String[] types = new String[] {"targets.bug520540.GenericType", "targets.bug520540.MyEnum"}; + for (String string : types) { + typeElements.remove(string); + } + assertEquals("found incorrect types", 0, typeElements.size()); + } private void createPackageBinary() throws IOException { String path = packageName.replace('.', '/'); ClassLoader loader = getClass().getClassLoader(); diff --git a/org.eclipse.jdt.compiler.apt.tests/resources/targets/bug520540/GenericType.java b/org.eclipse.jdt.compiler.apt.tests/resources/targets/bug520540/GenericType.java new file mode 100644 index 0000000000..526354401f --- /dev/null +++ b/org.eclipse.jdt.compiler.apt.tests/resources/targets/bug520540/GenericType.java @@ -0,0 +1,8 @@ +package targets.bug520540; +@org.eclipse.jdt.compiler.apt.tests.annotations.Type() +public class GenericType<T> { +} + +enum MyEnum{ + m1, m2; +} diff --git a/org.eclipse.jdt.compiler.apt.tests/src/org/eclipse/jdt/compiler/apt/tests/Java8ElementsTests.java b/org.eclipse.jdt.compiler.apt.tests/src/org/eclipse/jdt/compiler/apt/tests/Java8ElementsTests.java index c098bea7b1..4aa1dc0be0 100644 --- a/org.eclipse.jdt.compiler.apt.tests/src/org/eclipse/jdt/compiler/apt/tests/Java8ElementsTests.java +++ b/org.eclipse.jdt.compiler.apt.tests/src/org/eclipse/jdt/compiler/apt/tests/Java8ElementsTests.java @@ -301,7 +301,10 @@ public class Java8ElementsTests extends TestCase { JavaCompiler compiler = ToolProvider.getSystemJavaCompiler(); internalTest(compiler, JAVA8_ANNOTATION_PROC, "testPackageAnnotations", null, "filer8"); } - + public void testBug520540() throws Exception { + JavaCompiler compiler = BatchTestUtils.getEclipseCompiler(); + internalTest(compiler, JAVA8_ANNOTATION_PROC, "testBug520540", null, "bug520540"); + } private void internalTest(JavaCompiler compiler, String processor, String testMethod) throws IOException { internalTest(compiler, processor, testMethod, null); } |