aboutsummaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorwisberg <wisberg>2004-01-09 05:36:45 +0000
committerwisberg <wisberg>2004-01-09 05:36:45 +0000
commite683ed8b8b217808f653a3231a56164ef03a689b (patch)
treeff9306276b62b4dca8100e1199894f285096b7c2 /tests
parentffe55e7229887db7c2c404669ae5e95c7864ef64 (diff)
downloadaspectj-e683ed8b8b217808f653a3231a56164ef03a689b.tar.gz
aspectj-e683ed8b8b217808f653a3231a56164ef03a689b.zip
harness tests for extra source locations and details
Diffstat (limited to 'tests')
-rw-r--r--tests/ajcHarnessTests.xml20
-rw-r--r--tests/harness/CompoundMessage.java16
2 files changed, 36 insertions, 0 deletions
diff --git a/tests/ajcHarnessTests.xml b/tests/ajcHarnessTests.xml
index 0170b7124..88385aa80 100644
--- a/tests/ajcHarnessTests.xml
+++ b/tests/ajcHarnessTests.xml
@@ -291,6 +291,26 @@
<compile files="input-path-classes" sourceroots="aspectsrc"/>
<run class="Main"/>
</ajc-test>
+
+ <ajc-test dir="harness"
+ title="pass 2 compound warning">
+ <compile files="CompoundMessage.java">
+ <message kind="warning" line="6">
+ <source line="14" file="CompoundMessage.java"/>
+ </message>
+ <message kind="warning" line="6">
+ <source line="12" file="CompoundMessage.java"/>
+ </message>
+ </compile>
+ </ajc-test>
+
+ <ajc-test dir="harness"
+ title="fail 2 error, but expecting more details">
+ <compile files="ErrorTest.java">
+ <message kind="error" line="5" details="expecting more"/>
+ <message kind="error" line="6" details="details"/>
+ </compile>
+ </ajc-test>
</suite>
diff --git a/tests/harness/CompoundMessage.java b/tests/harness/CompoundMessage.java
new file mode 100644
index 000000000..88d258411
--- /dev/null
+++ b/tests/harness/CompoundMessage.java
@@ -0,0 +1,16 @@
+
+class A { void run() {} }
+class B extends A {}
+aspect C {
+ before() : runB() { }
+ pointcut runB(): call(void B.run()); // CW 6 XLint, for each shadow (12, 14)
+
+}
+public class CompoundMessage {
+ public static void main(String[] args) {
+ // ok with -1.4; otherwise, becomes A.run in bytecode
+ new B().run(); // CW 12 DW
+ // never works - compile-time type of reference is A, not B
+ new B().run(); // CW 12 DW
+ }
+}