]> source.dussan.org Git - aspectj.git/commitdiff
tests for pr62606 - itdcs don't run field initialisers in target type. Largely update...
authoracolyer <acolyer>
Thu, 3 Nov 2005 17:09:45 +0000 (17:09 +0000)
committeracolyer <acolyer>
Thu, 3 Nov 2005 17:09:45 +0000 (17:09 +0000)
43 files changed:
tests/base/test103/Driver.java
tests/base/test115/Driver.java
tests/base/test118/Driver.java
tests/base/test121/Driver.java
tests/bugs/DecwInitializationITD.java
tests/bugs/WithincodeNPE01.java
tests/bugs150/PR82570_1.java
tests/bugs150/Pr62606.aj [new file with mode: 0644]
tests/bugs150/pr111481.aj
tests/bugs150/pr113073.java
tests/bugs150/pr59397.aj
tests/design/intro/Simple.java
tests/incremental/initialTests/classWAroundClosureRemoved/AdviceOnIntroduced.delete.20.java
tests/incremental/initialTests/classWAroundClosureRemoved/AdviceOnIntroduced.java
tests/incrementalju/initialTests/classWAroundClosureRemoved/src/AdviceOnIntroduced.java
tests/java5/annotations/aspectMembers/a/AnnotatedAspect03.aj
tests/java5/annotations/binding/BindingWithAnnotatedItds3.aj
tests/java5/annotations/binding/BindingWithDeclaredAnnotationItds4.aj
tests/java5/annotations/itds/AnnotationsAndITDs.aj
tests/java5/ataspectj/annotationGen/ITDTest.aj
tests/java5/generics/itds/GenericCtorITD1.aj
tests/java5/generics/itds/GenericCtorITD2.aj
tests/java5/generics/itds/GenericCtorITD3.aj
tests/java5/generics/itds/Parse3.java
tests/java5/generics/itds/Parse6.java
tests/java5/generics/itds/sharing/CtorA.aj
tests/java5/generics/itds/sharing/CtorC.aj
tests/java5/generics/itds/sharing/CtorD.aj
tests/java5/generics/itds/sharing/CtorE.aj
tests/java5/generics/itds/sharing/CtorF.aj
tests/java5/generics/itds/sharing/CtorG.aj
tests/java5/generics/itds/sharing/CtorH.aj
tests/java5/generics/itds/sharing/CtorI.aj
tests/java5/generics/itds/visibility/PackageITDs.aj
tests/java5/generics/itds/visibility/PrivateITDs.aj
tests/java5/generics/itds/visibility/PublicITDs.aj
tests/java5/generics/itds/visibility/PublicITDsErrors.aj
tests/new/AdviceOnIntroduced.java
tests/new/DeclareAspectConstructorCE.java
tests/new/DeclareOnlyAspectConstructorCE.java
tests/src/org/aspectj/systemtest/ajc150/Ajc150Tests.java
tests/src/org/aspectj/systemtest/ajc150/ajc150.xml
tests/src/org/aspectj/systemtest/base/baseTests-tests.xml

index 68961d8013809588f6f0b566d9685b25588003c9..cdb42e80978eb9f1d13e5a69a54b48f651f67579 100644 (file)
@@ -46,7 +46,8 @@ aspect Foo {
         return other;
     }
         
-    Pos.new(MagicKey key) {
+    Pos.new(MagicKey key) { 
+                  this();
             other = id;
             id = getOther();
         }
index a15967fc0fa03f7fcb03ddf8d0cecb82e46b9f03..16fb5b13e8d1612177392b09830fbe0cb0455610 100644 (file)
@@ -19,7 +19,7 @@ class SubClass extends Class {}
 aspect Aspect {
   static int count = 0;
   //introduction subtypes(Class) {
-  Class.new(int i) {count++;}
+  Class.new(int i) {this(); count++;}
   SubClass.new(int i) {super(2); count++;}
       //}
 }
index 5d0db8c15948312bc75dd859b11b0327372ab60c..813a395a616ff784102c1aa0133911ab3aa6794a 100644 (file)
@@ -53,11 +53,11 @@ aspect A1 {
 
   C1.new() {
           c1Count++;
-      }
-      C1.new(int x) {
-              c1IntCount++;
-          }
-      }
+  }
+  C1.new(int x) {
+          c1IntCount++;
+  }
+}
 
 aspect Verify {
 
index ff9fffb28579bc8ef6b0eaf1e8bbe04bc150c5c9..c363fbd3ea4525160a51f7243e24830e7b339f5e 100644 (file)
@@ -74,7 +74,7 @@ aspect A pertarget(target(Foo)){
         // System.out.println(thisJoinPoint.className +"."+ 
         // thisJoinPoint.methodName);
     }
-    Foo.new(int n) { ranIntroducedConstructor = true; }
+    Foo.new(int n) { this(); ranIntroducedConstructor = true; }
 
        // make sure advice doesn't go on the toString() method
        // this would result in an infinite recursion
index 26bab8b9e8ac63fa6ccee2cb0371f9f77c0a7f4e..dec83b051d570bc3079e3ce5b628c01e3358e838 100644 (file)
@@ -8,7 +8,7 @@
 //  initialization(HW.new(String)) will not match !
 
 aspect A {  
-       HW.new(String s) {}  
+       HW.new(String s) { this(); }  
        declare warning : initialization(HW.new(String,A)) : "Funky ctor found!";
 }
 
index 8e7accb2396b713e61cde3a815ccd92241e93062..0ff93dc673b3ca450949ae84d76213be2d04c198 100644 (file)
@@ -1,5 +1,5 @@
 aspect B {
-  public A.new(String s) { }
+  public A.new(String s) {this(); }
   public void A.foo() { int i = 1; }
   
   declare warning: withincode(void main(..)): "X"; // Would NPE without the fix for PR67774
index 074ad22d1bd05129954c923e26eb3853f9d807b4..c7eb464d6b6ea826503e4e2a70f56d8479f34c82 100644 (file)
@@ -12,7 +12,7 @@ public class PR82570_1 {
 aspect X {
        
        
-       public PR82570_1.new(String p) {}
+       public PR82570_1.new(String p) { this(); }
        
        public int PR82570_1.itdField;
        
diff --git a/tests/bugs150/Pr62606.aj b/tests/bugs150/Pr62606.aj
new file mode 100644 (file)
index 0000000..0cf6616
--- /dev/null
@@ -0,0 +1,35 @@
+import org.aspectj.lang.annotation.*;
+
+public aspect Pr62606 {
+       
+       // xlint
+       public Target.new() {}
+       
+       // no xlint
+       public Target.new(String s) {
+               this(1);
+       }
+       
+       // no xlint
+       @SuppressAjWarnings
+       public Target.new(double d) {}
+       
+       // no xlint
+       @SuppressAjWarnings({"noExplicitConstructorCall"})
+       public Target.new(float f) {}
+       
+       // no xlint
+       @SuppressAjWarnings({"adviceDidNotMatch","noExplicitConstructorCall"})
+    public Target.new(short s) {}      
+}
+
+class Target {
+       
+       int x = 5;
+       int y;
+       
+       public Target(int z) {
+               this.y = z;
+       }
+       
+}
\ No newline at end of file
index e764b4e4fd9ac6953a7b071657db36fb5ff39927..6c3020b70cbb863567c3b8f3705fae5c4e04dd00 100644 (file)
@@ -8,6 +8,7 @@ public class pr111481 {
 }
 aspect A {
     public pr111481.new(Object... names) {
+       this();
        System.out.println(names[0]);
     }
 
index 9e57ffaa90b8cea826472fc052a15713e6d1f230..6ebff397d19dcf80189bd89a4ad946af088df14c 100644 (file)
@@ -9,6 +9,7 @@ class C {
 
 aspect D {
        public C.new(String s) {
+               this();
        }
        public void C.anotherMethod(String s) {
        }
index a8c157c9eb393f1a45bb925cbcf08c17aa1c875c..b11d6f475f1208c11f8c00258d98bb7c697f5e22 100644 (file)
@@ -1,5 +1,5 @@
 aspect A {  
-    HW.new(String s) {}  
+    HW.new(String s) {this();}  
     declare warning : initialization(HW.new(String,A)) : "should not match";
     declare warning : initialization(HW.new(String)) : "should match";
 }
index cd995d993d1872dc9ccb9257d8c4723e31f9c4cd..d72b04a1731223d4eb90f1e5a2e491b3f38ded2c 100644 (file)
@@ -56,10 +56,10 @@ aspect A {
        return new C(2).m();
     }
     
-    public C.new(String s) { }
+    public C.new(String s) { this(); }
 
     private C.new(int i) {
-        Tester.note("new A.C");
+        this(); Tester.note("new A.C");
     }
 }
 
@@ -75,6 +75,6 @@ aspect B {
     }
 
     private C.new(int i) {
-       Tester.note("new B.C");
+       this(); Tester.note("new B.C");
     }
 }    
index 4da93f0ca89c995c778122f6866d0229e76990e6..3da3275e88ee5c63bd41da9524a9593eaeecfddc 100644 (file)
@@ -8,7 +8,7 @@ public aspect AdviceOnIntroduced {
     }
     
     int Foo.foo(int n) { return n; }
-    Foo.new(int w) {}
+    Foo.new(int w) {this();}
         
     int around(int n):
         within(AdviceOnIntroduced) &&
index 4da93f0ca89c995c778122f6866d0229e76990e6..4a3bba55d70da9dad046459109cd5e18a71d592a 100644 (file)
@@ -8,7 +8,7 @@ public aspect AdviceOnIntroduced {
     }
     
     int Foo.foo(int n) { return n; }
-    Foo.new(int w) {}
+    Foo.new(int w) { this(); }
         
     int around(int n):
         within(AdviceOnIntroduced) &&
index 4da93f0ca89c995c778122f6866d0229e76990e6..3da3275e88ee5c63bd41da9524a9593eaeecfddc 100644 (file)
@@ -8,7 +8,7 @@ public aspect AdviceOnIntroduced {
     }
     
     int Foo.foo(int n) { return n; }
-    Foo.new(int w) {}
+    Foo.new(int w) {this();}
         
     int around(int n):
         within(AdviceOnIntroduced) &&
index 93928581609d42a0c21b79ee2e520267196b9dd6..c3c6312a83873fa5015623fe9257f7be5a43c220 100644 (file)
@@ -9,7 +9,7 @@ public aspect AnnotatedAspect03 {
        
        @MethodAnnotation private int ITDMe.getGoo() { return goo; }
        
-       @ConstructorAnnotation public ITDMe.new(int x) { goo = x; }
+       @ConstructorAnnotation public ITDMe.new(int x) { this(); goo = x; }
        
 }
 
index 8bee421ecc01ba45c35b97deb0d6f0cbdbfd8a72..caeec3ba7198dab95deaae4b1a5ab14a4fc562b1 100644 (file)
@@ -5,11 +5,11 @@ import java.lang.annotation.*;
 
 public aspect BindingWithAnnotatedItds3 {
 
-  @Fruit("pear") A.new(String s) { }
+  @Fruit("pear") A.new(String s) { this();  }
 
-  private @Fruit("orange") A.new(int i) { }
+  private @Fruit("orange") A.new(int i) {  this(); }
 
-  public @Fruit("tomato") A.new(boolean b) { }
+  public @Fruit("tomato") A.new(boolean b) {  this(); }
   
   public static void main(String[]argv) {
     A instance1 = new A("a");
index 2ecc73c644f83b8962ac533d21b2b67df8701e58..65b8d2802bd26caa2391cc611219d4eb61cea0b3 100644 (file)
@@ -5,11 +5,11 @@ import java.lang.annotation.*;
 
 public aspect BindingWithDeclaredAnnotationItds4 {
 
-  A.new(String s) { }
+  A.new(String s) { this(); }
 
-  private A.new(int i) { }
+  private A.new(int i) { this(); }
 
-  public A.new(boolean b) { }
+  public A.new(boolean b) { this(); }
   
   public static void main(String[]argv) {
     A instance1 = new A("a");
index 104681419300aa4cc153395b90214a86b562bed7..c26d8474a3e931b8c634fbe30efbf659ad3b9059 100644 (file)
@@ -14,10 +14,10 @@ public aspect AnnotationsAndITDs {
        // annotated ITD constructors
        
        @SomeAnnotation(s="hello",clazz=AnnotationsAndITDs.class)
-       public ITDMe.new(String s) {}
+       public ITDMe.new(String s) { this(); }
        
        @SomeAnnotation(s="goodbye",clazz=String.class)
-       private ITDMe.new(int x) {}
+       private ITDMe.new(int x) { this(); }
 
        // annotated ITD methods
        
@@ -42,8 +42,8 @@ public aspect AnnotationsAndITDs {
        
        declare @constructor : ITDMe2.new(..) : @SomeAnnotation(s="@cons",clazz=String.class);
        
-       public ITDMe2.new(String s) { 
-       private ITDMe2.new(int x) {}
+       public ITDMe2.new(String s) { this(); } 
+       private ITDMe2.new(int x) { this(); }
 
        // annotated ITD methods
        
index bfa2e58bd0734420ac95c01d65346f4d03877f63..26cdc4c2f636b486a6dfbaf7af757f327e34482d 100644 (file)
@@ -12,11 +12,11 @@ public aspect ITDTest {
 
     int A.c(String s) { return 1; }
 
-    public A.new(String s) {}
+    public A.new(String s) { this(); }
 
-    private A.new(String s,String s2) {}
+    private A.new(String s,String s2) { this(); }
        
-    A.new(String s, Object o) {}
+    A.new(String s, Object o) { this(); }
 
     public int A.f ;
 
index 9d0650568da396133ab7edafcf03fbb8b8af3867..ca02f6beca4af3d4a073d343c1defceb43161804 100644 (file)
@@ -14,5 +14,5 @@ public class GenericCtorITD1 {
 
 
 aspect X {
-  <T> Base.new(List<T> elements) { }
+  <T> Base.new(List<T> elements) { this(); }
 }
index 9fc96e62403a6549258c3dd952a62b8c6e13bb3b..461bb80d7559636dbaa79b8aa441598cc84db7e2 100644 (file)
@@ -18,5 +18,5 @@ public class GenericCtorITD2 {
 
 aspect X {
   // wildcards, argh!
-  <T> Base.new(List<T> one,List<? extends T> two) { }
+  <T> Base.new(List<T> one,List<? extends T> two) { this(); }
 }
index 03b558726da2db319e43d074ba879baa737f586f..4e3a5d8a004cc380e96bd77706f2c7b54e397d6e 100644 (file)
@@ -38,6 +38,7 @@ public class GenericCtorITD3 {
 
 aspect X {
   <T> Sorter.new(List<T> elements,Comparator<? super T> comparator) { 
+       this();
        Collections.sort(elements,comparator);
        l = elements;
   }
index a6b7d1a1d5e272a24fabe4db70c2a73ae731aa13..e2f7c2fbdd31e8121948355c37375877e02e639c 100644 (file)
@@ -2,5 +2,5 @@
 public class Parse3 { }
 
 aspect X {
-  <T> Parse3.new(T cupOf) {} 
+  <T> Parse3.new(T cupOf) {this();
 }
index 90e3b94f5d11e3a3a91d3eb70f19fc390dc7a29f..f64b3226735d3352c078cf090eeb090a346d886b 100644 (file)
@@ -11,7 +11,7 @@ class Base<N> {
 aspect X {
 
   public Base<Z>.new(Z  aNumber) {
-         ;
+        this() ;
   }
        
   public List<Z> Base<Z>.f2;
index 3dc05b26e76b75148fb29463248d4da3972cb67b..d9c1498ec995e60ce2357a043579a8d7a3d7fa3f 100644 (file)
@@ -8,10 +8,10 @@ public class CtorA {
 }
 
 class Base<N extends Number> { 
-  //public Base(List<N> sn) {}
+  public Base() {}
   <Y extends Number> Base(Set<N> sn, List<Y> ys) {}
 }
 
 aspect X {
-  public Base<Z>.new(List<Z> lz) {}; // OK, Z becomes N in parameter
+  public Base<Z>.new(List<Z> lz) { this(); } // OK, Z becomes N in parameter
 }
index 967c38192806adda196e93cfef4b438033ed5e59..04fe1c8547b162edb85667f936d3ac8eca046484 100644 (file)
@@ -11,5 +11,5 @@ class Base<N extends Number> {
 }
 
 aspect X {
-  public Base<Z>.new(List<List<Z>> llz) {}; // ok - nested but OK
+  public Base<Z>.new(List<List<Z>> llz) { this(); }; // ok - nested but OK
 }
index f8115ce92c08a6a21608e38fc690eb2a73bf1d26..8931c1f8f1bc54f21525d8bc5412f9f19e8cf290 100644 (file)
@@ -10,5 +10,5 @@ class Base<N extends Number,S> {
 }
 
 aspect X {
-  public Base<A,B>.new(Map<A,B> mabs) {};  // ok multiple
+  public Base<A,B>.new(Map<A,B> mabs) { this(); };  // ok multiple
 }
index 20aaf57d628b9c24f739cf12b37604a17983b9be..3d45790ebdc98130fbffa60f6a721bc440f268bf 100644 (file)
@@ -12,5 +12,5 @@ class Base<N extends Number> {
 }
 
 aspect X {
-  public Base<Z>.new(List<String> ls) {}; // ok - specified type variable but didnt use it (could put a lint warning on this case?)
+  public Base<Z>.new(List<String> ls) { this(); }; // ok - specified type variable but didnt use it (could put a lint warning on this case?)
 }
index bb4204b5b591ded51c4501d55ff37f0301ce498b..c06083d2c90ff8b2ba00d8d1fd56463b27175d12 100644 (file)
@@ -11,5 +11,5 @@ class Base<P,N extends Number,S> {
 }
 
 aspect X {
-  public Base<A,B,C>.new(Map<C,A> lc,Map<B,A> lb) {}  // ok multiple in funny orders 
+  public Base<A,B,C>.new(Map<C,A> lc,Map<B,A> lb) { this(); }  // ok multiple in funny orders 
 }
index d798f9c7f93f45ada6fa98b3f01408de72a0f0ba..150dea67befb88b51bf156ba71b9e2e77a3cf96a 100644 (file)
@@ -3,9 +3,9 @@ import java.util.*;
 public aspect CtorG {
 
   // visibility options...
-  public  Base<Z>.new(List<Z> lz,int i) {}
-  private Base<Z>.new(List<Z> lz,String s) {}
-          Base<Z>.new(List<Z> lz,boolean b) {}
+  public  Base<Z>.new(List<Z> lz,int i) { this();}
+  private Base<Z>.new(List<Z> lz,String s) { this();}
+          Base<Z>.new(List<Z> lz,boolean b) {this();}
 
     public static void main(String []argv) {
            List<Integer> intList = new ArrayList<Integer>();
index 8ce2d0ffeb22a0c4ee04955ba06c566e89deaa7f..c0f9d78738b5468b20d9a44fdab7572df9f4b550 100644 (file)
@@ -15,5 +15,5 @@ public class CtorH {
 class Base<N> { }
 
 aspect X {
-  public Base<Z>.new(List<Z> lz) {} // OK, Z becomes N in first case, S in the second ;)
+  public Base<Z>.new(List<Z> lz) {this();} // OK, Z becomes N in first case, S in the second ;)
 }
index bed64a85a4f0da6372dbc70510c92b990098290f..5fbbcd2e208a36f157d1037ea3246bc63c582e93 100644 (file)
@@ -10,5 +10,5 @@ public class CtorI {
 class Base<N extends Number> { }
 
 aspect X {
-  public Base<Z>.new(List<Z> lz) {}
+  public Base<Z>.new(List<Z> lz) {this();}
 }
index eaa7f3122e4826d1497ba65c190cf59bea827000..7c4ed0602e6d88633cfc7ba8dc1ebec30d9c3602 100644 (file)
@@ -23,8 +23,8 @@ public aspect PackageITDs {
   <R extends Number> void Base.packageMethod2(List<R> lr1,List<R> lr2) {}
 
   // ctor
-  <P extends Number> Base.new(List<P> lr) {}
-  <P extends Number> Base.new(List<P> lr1,List<P> lr2) {}
-  <P,Q extends Number> Base.new(List<P> lp,Map<Q,P> m1) {}
+  <P extends Number> Base.new(List<P> lr) { this(); }
+  <P extends Number> Base.new(List<P> lr1,List<P> lr2) { this(); }
+  <P,Q extends Number> Base.new(List<P> lp,Map<Q,P> m1) { this(); }
 
 }
index beaebb49d45740e935eec1f11bd39b34b0de5493..758bc58d704883e6c43d632943bc24060c226b9d 100644 (file)
@@ -23,8 +23,8 @@ public aspect PrivateITDs {
   private <R extends Number> void Base.privateMethod2(List<R> lr1,List<R> lr2) {}
 
   // ctor
-  private <P extends Number> Base.new(List<P> lr) {}
-  private <P extends Number> Base.new(List<P> lr1,List<P> lr2) {}
-  private <P,Q extends Number> Base.new(List<P> lp,Map<Q,P> m1) {}
+  private <P extends Number> Base.new(List<P> lr) { this(); }
+  private <P extends Number> Base.new(List<P> lr1,List<P> lr2) { this(); }
+  private <P,Q extends Number> Base.new(List<P> lp,Map<Q,P> m1) { this(); }
 
 }
index 25d58b4a3cce1fe708d09c67bbf2cee925c3e352..e419a8a212cd869523fe7e89675cac8872789249 100644 (file)
@@ -26,9 +26,9 @@ aspect X {
   public <R extends Number> void Base.publicMethod2(List<R> lr1,List<R> lr2) {}
 
   // ctor
-  public <P extends Number> Base.new(List<P> lr) {}
-  public <P extends Number> Base.new(List<P> lr1,List<P> lr2) {}
-  public <P,Q extends Number> Base.new(List<P> lp,Map<Q,P> m1) {}
+  public <P extends Number> Base.new(List<P> lr) { this(); }
+  public <P extends Number> Base.new(List<P> lr1,List<P> lr2) { this(); }
+  public <P,Q extends Number> Base.new(List<P> lp,Map<Q,P> m1) { this(); }
 
   // what use is this next one??
   // public <R extends Number>    R Base.publicMethod3() { return null;}
index cc7bd81cfff938e7ecd47a976adefafb26433d35..89a173f6a8528814a37d208f84dcd7130e4605cf 100644 (file)
@@ -23,7 +23,7 @@ aspect X {
   public <R extends Number> void Base.publicMethod2(List<R> lr1,List<R> lr2) {}
 
   // ctor
-  public <P extends Number> Base.new(List<P> lr) {}
-  public <P extends Number> Base.new(List<P> lr1,List<P> lr2) {}
-  public <P,Q extends Number> Base.new(List<P> lp,Map<Q,P> m1) {}
+  public <P extends Number> Base.new(List<P> lr) { this(); }
+  public <P extends Number> Base.new(List<P> lr1,List<P> lr2) { this(); }
+  public <P,Q extends Number> Base.new(List<P> lp,Map<Q,P> m1) { this(); }
 }
index 4da93f0ca89c995c778122f6866d0229e76990e6..4a3bba55d70da9dad046459109cd5e18a71d592a 100644 (file)
@@ -8,7 +8,7 @@ public aspect AdviceOnIntroduced {
     }
     
     int Foo.foo(int n) { return n; }
-    Foo.new(int w) {}
+    Foo.new(int w) { this(); }
         
     int around(int n):
         within(AdviceOnIntroduced) &&
index 864d5f0971da1d94a3614189464e39804dbf1f53..65b28e049e56360107ea10e433dd936947dd8552 100644 (file)
@@ -7,5 +7,5 @@ aspect A {
 }
 
 aspect B {
-    A.new(int i) {}  // CE 10
+    A.new(int i) { this(); }  // CE 10
 }
index 11bde660badc52c992006d5eb05397a3cbf3f13c..383981a0691a66c8c1bb3af94e03eae47453da25 100644 (file)
@@ -7,5 +7,5 @@ aspect A {
 }
 
 aspect B {
-    A.new(int i) {}  // CE 10
+    A.new(int i) { this(); }  // CE 10
 }
index fb7f77f399c0ec2e45650444d147a7ee2d50dc18..af3de41212d89891c34284104f62bce010cdae1d 100644 (file)
@@ -655,6 +655,10 @@ public class Ajc150Tests extends org.aspectj.testing.XMLBasedAjcTestCase {
          runTest("no verify error with two this pcds");
   }
   
+  public void testITDCWithNoExplicitConsCall() {
+         runTest("ITDC with no explicit cons call");
+  }
+  
   // helper methods.....
   
   public SyntheticRepository createRepos(File cpentry) {
index 6e569be05adcf77d2375ef817bb0f6d57e4d4fc0..42b96499c7a6f9c245f75eb15d923fbadac63722 100644 (file)
     <ajc-test dir="bugs150" title="Problem with constructor ITDs">
         <compile files="pr112783.aj" options="-1.5"/>
     </ajc-test>
+
+    <ajc-test dir="bugs150" title="ITDC with no explicit cons call">
+      <compile files="Pr62606.aj" options="-1.5">
+        <message kind="warning" line="6" text="[Xlint:noExplicitConstructorCall]"/>
+      </compile>
+    </ajc-test>
     
     <ajc-test dir="java5/generics/bugs" title="using same type variable in ITD">
       <compile files="SameTypeVariable.aj" options="-1.5">
@@ -84,7 +90,7 @@
     <ajc-test dir="bugs150/pr113947/case2" title="maws generic aspect - 2">
         <compile files="AbstractListSupport.java,AnotherItem.java,Item.java,LinkedList.java,LinkedListItem.java,ListItem.java,StringList.java" options="-1.5"/>
     </ajc-test>
+    
     <ajc-test dir="bugs150/pr113861" title="field-get problems with generic field">
         <compile files="Test.java,TestAspect.java" options="-1.5"/>
         <run class="com.Test"/>
                <message kind="warning" text="void C.&lt;init&gt;(int) - already has an annotation of type Annotation, cannot add a second instance [Xlint:elementAlreadyAnnotated]"/>
         </compile>
     </ajc-test>
-
     <ajc-test dir="bugs150/pr113630/case1" title="IncompatibleClassChangeError - errorscenario">
         <compile files="Bean.java,BeanTestCase.java,javaBean.java,propertyChanger.java,PropertySupportAspect5.aj" options="-1.5">
           <message kind="warning" line="9" text="Failing match because annotation 'javaBean' on type 'Bean' has SOURCE retention.  Matching allowed when RetentionPolicy is CLASS or RUNTIME"/>
index 264c03fab568f378907ab4364fbb8f317c573f24..014a7e64c55b5ca41a24d26bed65b8e819d9ccf5 100644 (file)
 
     <ajc-test dir="base/test118" title="DEPRECATED: Introduce of constructors"
       keywords="from-base">
-        <compile files="Driver.java"/>
+        <compile files="Driver.java">
+          <message kind="warning" line="54" text="[Xlint:noExplicitConstructorCall]"/>
+          <message kind="warning" line="57" text="[Xlint:noExplicitConstructorCall]"/>
+        </compile>
         <run class="Driver"/>
     </ajc-test>