Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJay Arthanareeswaran2017-08-07 10:02:15 +0000
committerJay Arthanareeswaran2017-08-07 10:33:53 +0000
commit2200a415a222e363ef80aa74c9e6c21e7c5413d5 (patch)
tree155c534f5d52c370b6d016f0b0290a5e89a99ed2 /org.eclipse.jdt.compiler.apt.tests
parent7cd689e47acb28ea4d32dafcdb91c140b9faaa25 (diff)
downloadeclipse.jdt.core-2200a415a222e363ef80aa74c9e6c21e7c5413d5.tar.gz
eclipse.jdt.core-2200a415a222e363ef80aa74c9e6c21e7c5413d5.tar.xz
eclipse.jdt.core-2200a415a222e363ef80aa74c9e6c21e7c5413d5.zip
Bug 520540 - [9] PackageElementImpl#getEnclosedElements does not include
non-primary types Change-Id: I56a03505ae6a0ddd7ad1f71bef52d24b4737df26 Signed-off-by: Jay Arthanareeswaran <jarthana@in.ibm.com>
Diffstat (limited to 'org.eclipse.jdt.compiler.apt.tests')
-rw-r--r--org.eclipse.jdt.compiler.apt.tests/lib/apttestprocessors.jarbin206818 -> 206804 bytes
-rw-r--r--org.eclipse.jdt.compiler.apt.tests/lib/apttestprocessors8.jarbin210971 -> 211590 bytes
-rw-r--r--org.eclipse.jdt.compiler.apt.tests/processors8/org/eclipse/jdt/compiler/apt/tests/processors/elements/Java8ElementProcessor.java25
-rw-r--r--org.eclipse.jdt.compiler.apt.tests/resources/targets/bug520540/GenericType.java8
-rw-r--r--org.eclipse.jdt.compiler.apt.tests/src/org/eclipse/jdt/compiler/apt/tests/Java8ElementsTests.java5
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
index e08c33c311..070b6b45e3 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/lib/apttestprocessors8.jar b/org.eclipse.jdt.compiler.apt.tests/lib/apttestprocessors8.jar
index f57fa54e56..1ca5f80f0c 100644
--- a/org.eclipse.jdt.compiler.apt.tests/lib/apttestprocessors8.jar
+++ b/org.eclipse.jdt.compiler.apt.tests/lib/apttestprocessors8.jar
Binary files differ
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);
}

Back to the top