summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authoracolyer <acolyer>2005-08-23 08:48:47 +0000
committeracolyer <acolyer>2005-08-23 08:48:47 +0000
commit0f0c63e0b25968d4bd74bfb0d9d34f7ff9e642c6 (patch)
tree5add5b510977594f874e348e1890d942ec4387a9
parent58567c7b2c849f4d35f49e117ab8531527b63f7a (diff)
downloadaspectj-0f0c63e0b25968d4bd74bfb0d9d34f7ff9e642c6.tar.gz
aspectj-0f0c63e0b25968d4bd74bfb0d9d34f7ff9e642c6.zip
has member tests + tests and fix for pr107486
-rw-r--r--tests/bugs150/pr107486.aj9
-rw-r--r--tests/bugs150/pr107486part2.aj30
-rw-r--r--tests/src/org/aspectj/systemtest/ajc150/Ajc150Tests.java8
-rw-r--r--tests/src/org/aspectj/systemtest/ajc150/AllTestsAspectJ150.java1
-rw-r--r--tests/src/org/aspectj/systemtest/ajc150/HasMember.java7
-rw-r--r--tests/src/org/aspectj/systemtest/ajc150/ajc150.xml36
6 files changed, 81 insertions, 10 deletions
diff --git a/tests/bugs150/pr107486.aj b/tests/bugs150/pr107486.aj
new file mode 100644
index 000000000..cc7ffeb86
--- /dev/null
+++ b/tests/bugs150/pr107486.aj
@@ -0,0 +1,9 @@
+public class pr107486 {
+ public Object f() {
+ return new Object() {
+ public String toString() {
+ return "f";
+ }
+ };
+ }
+} \ No newline at end of file
diff --git a/tests/bugs150/pr107486part2.aj b/tests/bugs150/pr107486part2.aj
new file mode 100644
index 000000000..f438d56ae
--- /dev/null
+++ b/tests/bugs150/pr107486part2.aj
@@ -0,0 +1,30 @@
+public class pr107486part2 {
+ public Object f() {
+ return new Object() {
+ public String toString() {
+ return "f";
+ }
+ };
+ }
+ public Object g() {
+ return new Object() {
+ public String toString() {
+ return "g";
+ }
+ };
+ }
+
+ public static void main(String[] args) {
+ pr107486part2 p = new pr107486part2();
+ System.out.println(p.f());
+ System.out.println(p.g());
+ }
+}
+
+aspect ToStringDecorator {
+
+ Object around() : execution(* toString()) {
+ return new String("[advised] " + proceed());
+ }
+
+} \ No newline at end of file
diff --git a/tests/src/org/aspectj/systemtest/ajc150/Ajc150Tests.java b/tests/src/org/aspectj/systemtest/ajc150/Ajc150Tests.java
index bb25a4f25..b75943643 100644
--- a/tests/src/org/aspectj/systemtest/ajc150/Ajc150Tests.java
+++ b/tests/src/org/aspectj/systemtest/ajc150/Ajc150Tests.java
@@ -262,6 +262,14 @@ public class Ajc150Tests extends org.aspectj.testing.XMLBasedAjcTestCase {
runTest("itd override with no exception clause");
}
+ public void testAnonymousInnerClasses() {
+ runTest("anonymous inner classes");
+ }
+
+ public void testMultipleAnonymousInnerClasses() {
+ runTest("multiple anonymous inner classes");
+ }
+
// helper methods.....
public SyntheticRepository createRepos(File cpentry) {
diff --git a/tests/src/org/aspectj/systemtest/ajc150/AllTestsAspectJ150.java b/tests/src/org/aspectj/systemtest/ajc150/AllTestsAspectJ150.java
index c677fd346..a3366f74d 100644
--- a/tests/src/org/aspectj/systemtest/ajc150/AllTestsAspectJ150.java
+++ b/tests/src/org/aspectj/systemtest/ajc150/AllTestsAspectJ150.java
@@ -50,6 +50,7 @@ public class AllTestsAspectJ150 {
suite.addTest(AtAjSyntaxTests.suite());
suite.addTest(AtAjMisuseTests.suite());
suite.addTest(AtAjLTWTests.suite());
+ suite.addTest(HasMember.suite());
//$JUnit-END$
return suite;
}
diff --git a/tests/src/org/aspectj/systemtest/ajc150/HasMember.java b/tests/src/org/aspectj/systemtest/ajc150/HasMember.java
index 9eb7ba5af..e1cf087a8 100644
--- a/tests/src/org/aspectj/systemtest/ajc150/HasMember.java
+++ b/tests/src/org/aspectj/systemtest/ajc150/HasMember.java
@@ -38,9 +38,10 @@ public class HasMember extends XMLBasedAjcTestCase {
runTest("declare parents : hasmethod(..) - 3");
}
- public void testDecPHasMethodViaITD() {
- runTest("declare parents : hasmethod(..) - 4");
- }
+ // this test not passing yet, ITD integration not implemented
+// public void testDecPHasMethodViaITD() {
+// runTest("declare parents : hasmethod(..) - 4");
+// }
public void testSimpleDecPHasField() {
runTest("declare parents : hasfield(..) - 1");
diff --git a/tests/src/org/aspectj/systemtest/ajc150/ajc150.xml b/tests/src/org/aspectj/systemtest/ajc150/ajc150.xml
index cc446c82f..690925d61 100644
--- a/tests/src/org/aspectj/systemtest/ajc150/ajc150.xml
+++ b/tests/src/org/aspectj/systemtest/ajc150/ajc150.xml
@@ -67,6 +67,22 @@
</compile>
</ajc-test>
+ <ajc-test dir="bugs150" pr="107486" title="anonymous inner classes">
+ <compile files="pr107486.aj">
+ </compile>
+ </ajc-test>
+
+ <ajc-test dir="bugs150" pr="107486" title="multiple anonymous inner classes">
+ <compile files="pr107486part2.aj">
+ </compile>
+ <run class="pr107486part2">
+ <stdout>
+ <line text="[advised] f"/>
+ <line text="[advised] g"/>
+ </stdout>
+ </run>
+ </ajc-test>
+
<ajc-test dir="bugs150" pr="91114" title="before and after are valid identifiers in classes, part 2">
<compile files="pr91114.aj">
</compile>
@@ -342,44 +358,50 @@
<!-- hasmethod / hasfield tests -->
- <ajc-test title="declare parents : hasmethod(..) - 1" dir="hasmember">
+ <ajc-test title="declare parents : hasmethod(..) - 1" dir="hasmember">
<compile files="HasMethod.aj">
+ <message kind="error" line="5" text="the type pattern hasmethod(* print(..)) can only be used when the -XhasMember option is set"/>
+ </compile>
+ </ajc-test>
+
+ <ajc-test title="declare parents : hasmethod(..) - 1" dir="hasmember">
+ <compile files="HasMethod.aj" options="-XhasMember">
</compile>
<run class="HasMethod"></run>
</ajc-test>
<ajc-test title="declare parents : hasmethod(..) - 2" dir="hasmember">
- <compile files="HasMethodInherited.aj">
+ <compile files="HasMethodInherited.aj" options="-XhasMember">
</compile>
<run class="HasMethodInherited"></run>
</ajc-test>
<ajc-test title="declare parents : hasmethod(..) - 3" dir="hasmember">
- <compile files="HasPrivateMethodInherited.aj">
+ <compile files="HasPrivateMethodInherited.aj" options="-XhasMember">
</compile>
<run class="HasPrivateMethodInherited"></run>
</ajc-test>
<ajc-test title="declare parents : hasmethod(..) - 4" dir="hasmember">
- <compile files="HasMethodViaITD.aj">
+ <compile files="HasMethodViaITD.aj" options="-XhasMember">
<message kind="warning" line="15" text="hasmethod matched on ITD ok"/>
</compile>
</ajc-test>
<ajc-test title="declare parents : hasfield(..) - 1" dir="hasmember">
- <compile files="HasField.aj">
+ <compile files="HasField.aj" options="-XhasMember">
</compile>
<run class="HasField"></run>
</ajc-test>
<ajc-test title="declare parents : hasfield(..) - 2" dir="hasmember">
- <compile files="HasFieldInherited.aj">
+ <compile files="HasFieldInherited.aj" options="-XhasMember">
</compile>
<run class="HasFieldInherited"></run>
</ajc-test>
<ajc-test title="declare parents : hasfield(..) - 3" dir="hasmember">
- <compile files="HasPrivateFieldInherited.aj">
+ <compile files="HasPrivateFieldInherited.aj" options="-XhasMember">
</compile>
<run class="HasPrivateFieldInherited"></run>
</ajc-test>