From f5f0ab28e5746422fdca2ff4119530bd70016f41 Mon Sep 17 00:00:00 2001 From: aclement Date: Wed, 17 Jun 2009 22:27:16 +0000 Subject: 280676: problem 2: allow for target not being generic --- tests/multiIncremental/pr280676_2/base/src/p/A.java | 12 ++++++++++++ tests/multiIncremental/pr280676_2/base/src/p/Foo.aj | 13 +++++++++++++ tests/multiIncremental/pr280676_2/inc1/src/p/A.java | 12 ++++++++++++ .../tools/MultiProjectIncrementalTests.java | 18 ++++++++++++++++++ 4 files changed, 55 insertions(+) create mode 100644 tests/multiIncremental/pr280676_2/base/src/p/A.java create mode 100644 tests/multiIncremental/pr280676_2/base/src/p/Foo.aj create mode 100644 tests/multiIncremental/pr280676_2/inc1/src/p/A.java (limited to 'tests') diff --git a/tests/multiIncremental/pr280676_2/base/src/p/A.java b/tests/multiIncremental/pr280676_2/base/src/p/A.java new file mode 100644 index 000000000..a418f0e6f --- /dev/null +++ b/tests/multiIncremental/pr280676_2/base/src/p/A.java @@ -0,0 +1,12 @@ +package p; + +import java.util.List; + +public class A { + public static void main(String[] args) { + A a = new A(); + List localls = a.ls; + +} +} + diff --git a/tests/multiIncremental/pr280676_2/base/src/p/Foo.aj b/tests/multiIncremental/pr280676_2/base/src/p/Foo.aj new file mode 100644 index 000000000..235672826 --- /dev/null +++ b/tests/multiIncremental/pr280676_2/base/src/p/Foo.aj @@ -0,0 +1,13 @@ +package p; +import java.util.*; + +aspect Foo { + + public int i; + + public List A.ll; + + public List A.ls; + + public void A.m() {} +} diff --git a/tests/multiIncremental/pr280676_2/inc1/src/p/A.java b/tests/multiIncremental/pr280676_2/inc1/src/p/A.java new file mode 100644 index 000000000..8eca89cd3 --- /dev/null +++ b/tests/multiIncremental/pr280676_2/inc1/src/p/A.java @@ -0,0 +1,12 @@ +package p; + +import java.util.List; + +public class A { + public static void main(String[] args) { + A a = new A(); + List localls = a.ls; + +} +} + diff --git a/tests/src/org/aspectj/systemtest/incremental/tools/MultiProjectIncrementalTests.java b/tests/src/org/aspectj/systemtest/incremental/tools/MultiProjectIncrementalTests.java index 9970435a2..e4261309d 100644 --- a/tests/src/org/aspectj/systemtest/incremental/tools/MultiProjectIncrementalTests.java +++ b/tests/src/org/aspectj/systemtest/incremental/tools/MultiProjectIncrementalTests.java @@ -73,6 +73,24 @@ public class MultiProjectIncrementalTests extends AbstractMultiProjectIncrementa assertNoErrors(p); } + public void testIncrementalGenericItds_pr280676_2() throws Exception { + String p = "pr280676_2"; + initialiseProject(p); + build(p); + checkWasFullBuild(); + assertNoErrors(p); + alter(p, "inc1"); // remove type variables from target type + build(p); + List errors = getErrorMessages(p); + // Build errors: + // error at \src\p\Foo.aj:8::94 The target type for the intertype declaration is not generic + // error at \src\p\Foo.aj:12::154 The target type for the intertype declaration is not generic + // error at \src\p\A.java:0::0 Inconsistent classfile encountered: The undefined type parameter N is referenced from within + // Foo + assertEquals(3, errors.size()); + // *cough* third error, hmmm + } + // TODO (asc) these tests don't actually verify anything! // public void testAtDeclareParents_280658() throws Exception { // AjdeInteractionTestbed.VERBOSE = true; -- cgit v1.2.3