]> source.dussan.org Git - aspectj.git/commitdiff
318884: incremental: member types
authoraclement <aclement>
Tue, 6 Jul 2010 17:18:28 +0000 (17:18 +0000)
committeraclement <aclement>
Tue, 6 Jul 2010 17:18:28 +0000 (17:18 +0000)
tests/multiIncremental/pr318884_7/base/src/A.java [new file with mode: 0644]
tests/multiIncremental/pr318884_7/base/src/B.java [new file with mode: 0644]
tests/multiIncremental/pr318884_7/inc1/src/B.java [new file with mode: 0644]
tests/multiIncremental/pr318884_8/base/src/A.java [new file with mode: 0644]
tests/multiIncremental/pr318884_8/base/src/B.java [new file with mode: 0644]
tests/multiIncremental/pr318884_8/inc1/src/B.java [new file with mode: 0644]
tests/src/org/aspectj/systemtest/incremental/tools/IncrementalCompilationTests.java

diff --git a/tests/multiIncremental/pr318884_7/base/src/A.java b/tests/multiIncremental/pr318884_7/base/src/A.java
new file mode 100644 (file)
index 0000000..feff83a
--- /dev/null
@@ -0,0 +1,5 @@
+public class A {
+  public static void main(String []argv) {
+    new B.C();
+  }
+}
diff --git a/tests/multiIncremental/pr318884_7/base/src/B.java b/tests/multiIncremental/pr318884_7/base/src/B.java
new file mode 100644 (file)
index 0000000..ca74639
--- /dev/null
@@ -0,0 +1,4 @@
+public class B {
+  public static class C {
+  }
+}
diff --git a/tests/multiIncremental/pr318884_7/inc1/src/B.java b/tests/multiIncremental/pr318884_7/inc1/src/B.java
new file mode 100644 (file)
index 0000000..66dd24c
--- /dev/null
@@ -0,0 +1,2 @@
+public class B {
+}
diff --git a/tests/multiIncremental/pr318884_8/base/src/A.java b/tests/multiIncremental/pr318884_8/base/src/A.java
new file mode 100644 (file)
index 0000000..0abc487
--- /dev/null
@@ -0,0 +1,5 @@
+public class A {
+  public static void main(String []argv) {
+    new B.C("abc");
+  }
+}
diff --git a/tests/multiIncremental/pr318884_8/base/src/B.java b/tests/multiIncremental/pr318884_8/base/src/B.java
new file mode 100644 (file)
index 0000000..09db9d7
--- /dev/null
@@ -0,0 +1,5 @@
+public class B {
+  public static class C {
+    public C(String s) {}
+  }
+}
diff --git a/tests/multiIncremental/pr318884_8/inc1/src/B.java b/tests/multiIncremental/pr318884_8/inc1/src/B.java
new file mode 100644 (file)
index 0000000..ca74639
--- /dev/null
@@ -0,0 +1,4 @@
+public class B {
+  public static class C {
+  }
+}
index 7d6e59854c40c2d4d681eb4644fc634464c1c976..5c33c36c50492cb6e2f75f66643e5bea3f0138cb 100644 (file)
@@ -109,4 +109,32 @@ public class IncrementalCompilationTests extends AbstractMultiProjectIncremental
                assertEquals(1, getErrorMessages(p).size());
                assertContains("Type mismatch: cannot convert from element type Integer to String", getErrorMessages(p).get(0));
        }
+
+       // removing static inner class
+       public void testInnerClassChanges_318884_7() throws Exception {
+               String p = "pr318884_7";
+               initialiseProject(p);
+               build(p);
+               checkWasFullBuild();
+               checkCompileWeaveCount(p, 2, 3);
+               alter(p, "inc1");
+               build(p);
+               checkWasntFullBuild();
+               assertEquals(1, getErrorMessages(p).size());
+               assertContains("B.C cannot be resolved to a type", getErrorMessages(p).get(0));
+       }
+
+       // removing constructor from a static inner class
+       public void testInnerClassChanges_318884_8() throws Exception {
+               String p = "pr318884_8";
+               initialiseProject(p);
+               build(p);
+               checkWasFullBuild();
+               checkCompileWeaveCount(p, 2, 3);
+               alter(p, "inc1");
+               build(p);
+               checkWasntFullBuild();
+               assertEquals(1, getErrorMessages(p).size());
+               assertContains("The constructor B.C(String) is undefined", getErrorMessages(p).get(0));
+       }
 }