summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authoraclement <aclement>2005-01-27 17:26:48 +0000
committeraclement <aclement>2005-01-27 17:26:48 +0000
commit4adf568fdfcc82ea7257cf24f88aefa109deba52 (patch)
treee8aaa736704803c3cd19975aa97044048f27a74a
parentfa3cbd5115a5ba8f18609b863f0d875a640d412f (diff)
downloadaspectj-4adf568fdfcc82ea7257cf24f88aefa109deba52.tar.gz
aspectj-4adf568fdfcc82ea7257cf24f88aefa109deba52.zip
Fix for Bug 83645: pertypewithin({interface}) illegal field modifier
- moving Wes' test to the regression set.
-rw-r--r--tests/ajcTestsFailing.xml6
-rw-r--r--tests/bugs150/PR83645.java8
-rw-r--r--tests/src/org/aspectj/systemtest/ajc150/Ajc150TestsNoHarness.java10
3 files changed, 14 insertions, 10 deletions
diff --git a/tests/ajcTestsFailing.xml b/tests/ajcTestsFailing.xml
index b86bc31a3..b3b6401b1 100644
--- a/tests/ajcTestsFailing.xml
+++ b/tests/ajcTestsFailing.xml
@@ -152,10 +152,4 @@
files="Test_AroundVarBug.java,AroundVarBug.java"/>
<run class="Test_AroundVarBug"/>
</ajc-test>
-
- <ajc-test dir="bugs150" pr="83645"
- title="pertypewithin on interface">
- <compile files="PR83645.java"/>
- <run class="PR83645"/>
- </ajc-test>
</suite>
diff --git a/tests/bugs150/PR83645.java b/tests/bugs150/PR83645.java
index fa64a9cb8..798f907ff 100644
--- a/tests/bugs150/PR83645.java
+++ b/tests/bugs150/PR83645.java
@@ -7,6 +7,8 @@ interface IP {}
public class PR83645 implements IP {
public static void main(String[] args) {
try {
+ boolean hasAspect = PT.hasAspect(IP.class);
+ if (hasAspect) throw new Error("Shouldn't have an instance for an interface");
boolean yes = (PT.aspectOf(IP.class) instanceof PT);
throw new Error("expected NoAspectBoundException, got instance?: " + yes);
} catch (NoAspectBoundException e) {
@@ -14,11 +16,13 @@ public class PR83645 implements IP {
}
}
}
+
aspect PT pertypewithin(IP+) {
static int INDEX;
final int index = INDEX++;
- public PT() {
- }
+
+ public PT() {}
+
public String toString() {
return "me " + index;
}
diff --git a/tests/src/org/aspectj/systemtest/ajc150/Ajc150TestsNoHarness.java b/tests/src/org/aspectj/systemtest/ajc150/Ajc150TestsNoHarness.java
index 3a446127b..b3835b786 100644
--- a/tests/src/org/aspectj/systemtest/ajc150/Ajc150TestsNoHarness.java
+++ b/tests/src/org/aspectj/systemtest/ajc150/Ajc150TestsNoHarness.java
@@ -78,13 +78,19 @@ public class Ajc150TestsNoHarness extends TestUtils {
public void testPerTypeWithinMissesNamedInnerTypes() {
CompilationResult cR = ajc(baseDir,new String[]{"PR83563_1.java"});
- assertTrue("Should be no errors:"+cR,!cR.hasErrorMessages());
+ assertMessages(cR,new EmptyMessageSpec());
RunResult rR = run("PR83563_1");
}
public void testPerTypeWithinMissesAnonymousInnerTypes() {
CompilationResult cR = ajc(baseDir,new String[]{"PR83563_2.java"});
- assertTrue("Should be no errors:"+cR,!cR.hasErrorMessages());
+ assertMessages(cR,new EmptyMessageSpec());
RunResult rR = run("PR83563_2");
}
+
+ public void testPerTypeWithinIncorrectlyMatchingInterfaces() {
+ CompilationResult cR = ajc(baseDir,new String[]{"PR83645.java"});
+ assertMessages(cR,new EmptyMessageSpec());
+ RunResult rR = run("PR83645");
+ }
} \ No newline at end of file