--- /dev/null
+package p;
+
+import java.util.List;
+
+public class A<N extends Number, T> {
+ public static void main(String[] args) {
+ A a = new A();
+ List<String> localls = a.ls;
+
+}
+}
+
--- /dev/null
+package p;
+import java.util.*;
+
+aspect Foo {
+
+ public int i;
+
+ public List<T> A<Q,T>.ll;
+
+ public List<String> A.ls;
+
+ public void A<Z,X>.m() {}
+}
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;