]> source.dussan.org Git - aspectj.git/commitdiff
refactoring
authoraclement <aclement>
Thu, 10 Sep 2009 17:11:34 +0000 (17:11 +0000)
committeraclement <aclement>
Thu, 10 Sep 2009 17:11:34 +0000 (17:11 +0000)
tests/src/org/aspectj/systemtest/ajc154/Ajc154Tests.java

index 7908cbb8cb1a8fae2aa9587d2e5fa388ea7b490c..dc4c25364e0466a2dff57f0a778a4f2ac9c0fefd 100644 (file)
 package org.aspectj.systemtest.ajc154;
 
 import java.io.File;
+import java.lang.reflect.Field;
+
+import junit.framework.AssertionFailedError;
+import junit.framework.Test;
 
 import org.aspectj.apache.bcel.classfile.ConstantPool;
 import org.aspectj.apache.bcel.classfile.JavaClass;
+import org.aspectj.apache.bcel.classfile.LineNumber;
 import org.aspectj.apache.bcel.classfile.LineNumberTable;
 import org.aspectj.apache.bcel.classfile.Method;
 import org.aspectj.apache.bcel.generic.MethodGen;
@@ -25,243 +30,370 @@ import org.aspectj.weaver.tools.FuzzyBoolean;
 import org.aspectj.weaver.tools.MatchingContext;
 import org.aspectj.weaver.tools.PointcutDesignatorHandler;
 
-import junit.framework.AssertionFailedError;
-import junit.framework.Test;
-
 /**
  * These are tests for AspectJ1.5.4
  */
 public class Ajc154Tests extends org.aspectj.testing.XMLBasedAjcTestCase {
-       
-//     public void testNewDesignatorsReferencePointcuts_pr205907() {           
-//             BeanDesignatorHandler beanHandler = new BeanDesignatorHandler();
-//             Set set = new HashSet();
-//             set.add(beanHandler);
-//             PatternParser.setTestDesignators(set);
-//     //parser.registerPointcutDesignatorHandler(beanHandler);
-//             runTest("new pointcut designators in a reference pointcut");
-//     }
-       //public void testAfterThrowingAnnotationStyle_pr211674_1() { runTest("after throwing annotation style problem - 1");}
-       //public void testAfterThrowingAnnotationStyle_pr211674_2() { runTest("after throwing annotation style problem - 2");}
+
+       // public void testNewDesignatorsReferencePointcuts_pr205907() {
+       // BeanDesignatorHandler beanHandler = new BeanDesignatorHandler();
+       // Set set = new HashSet();
+       // set.add(beanHandler);
+       // PatternParser.setTestDesignators(set);
+       // //parser.registerPointcutDesignatorHandler(beanHandler);
+       // runTest("new pointcut designators in a reference pointcut");
+       // }
+       // public void testAfterThrowingAnnotationStyle_pr211674_1() { runTest("after throwing annotation style problem - 1");}
+       // public void testAfterThrowingAnnotationStyle_pr211674_2() { runTest("after throwing annotation style problem - 2");}
 
        // crappy solution - see the bug
        public void testCflowLtwProblem_pr166647_1() {
                try {
-                       runTest("ltw and cflow problem"); 
+                       runTest("ltw and cflow problem");
                } catch (AssertionFailedError afe) {
                        // this is OK.... sadly
                        // at least lets check we warned the user it was going to happen:
-                       String stderr = (getLastRunResult()==null?"":getLastRunResult().getStdErr());
+                       String stderr = (getLastRunResult() == null ? "" : getLastRunResult().getStdErr());
                        // Expected line:
-                       // [WeavingURLClassLoader] warning XML Defined aspects must be woven in cases where cflow pointcuts are involved. Currently the include/exclude patterns exclude 'x.Aspect2' [Xlint:mustWeaveXmlDefinedAspects]
-                       assertTrue("Did not see warning about needing to weave xml defined aspects",stderr.indexOf("warning XML Defined aspects must be woven in cases where cflow pointcuts are involved.")!=-1);
-                       assertTrue("Xlint warning was expected '[Xlint:mustWeaveXmlDefinedAspects]'",stderr.indexOf("[Xlint:mustWeaveXmlDefinedAspects]")!=-1);
+                       // [WeavingURLClassLoader] warning XML Defined aspects must be woven in cases where cflow pointcuts are involved.
+                       // Currently the include/exclude patterns exclude 'x.Aspect2' [Xlint:mustWeaveXmlDefinedAspects]
+                       assertTrue("Did not see warning about needing to weave xml defined aspects", stderr
+                                       .indexOf("warning XML Defined aspects must be woven in cases where cflow pointcuts are involved.") != -1);
+                       assertTrue("Xlint warning was expected '[Xlint:mustWeaveXmlDefinedAspects]'", stderr
+                                       .indexOf("[Xlint:mustWeaveXmlDefinedAspects]") != -1);
                }
        }
-       
-       // Testing some issues with declare at type     
-       public void testDeclareAtTypeProblems_pr211052_1() { runTest("declare atType problems - 1"); }
-       public void testDeclareAtTypeProblems_pr211052_2() { runTest("declare atType problems - 2"); }
-       public void testDeclareAtTypeProblems_pr211052_3() { runTest("declare atType problems - 3"); }
-       public void testDeclareAtTypeProblems_pr211052_4() { runTest("declare atType problems - 4"); }
-       public void testDeclareAtTypeProblems_pr211052_5() { runTest("declare atType problems - 5"); }
+
+       // Testing some issues with declare at type
+       public void testDeclareAtTypeProblems_pr211052_1() {
+               runTest("declare atType problems - 1");
+       }
+
+       public void testDeclareAtTypeProblems_pr211052_2() {
+               runTest("declare atType problems - 2");
+       }
+
+       public void testDeclareAtTypeProblems_pr211052_3() {
+               runTest("declare atType problems - 3");
+       }
+
+       public void testDeclareAtTypeProblems_pr211052_4() {
+               runTest("declare atType problems - 4");
+       }
+
+       public void testDeclareAtTypeProblems_pr211052_5() {
+               runTest("declare atType problems - 5");
+       }
+
        // declare at type and binary weaving
-       public void testDeclareAtTypeProblems_pr211052_6() { runTest("declare atType problems - 6"); }
-       public void testDeclareAtTypeProblems_pr211052_7() { runTest("declare atType problems - 7"); }
-       
-       
-       public void testNPEWithMissingAtAspectAnnotationInPointcutLibrary_pr162539_1() { runTest("NPE with missing @aspect annotation in pointcut library - 1"); }
-       public void testNPEWithMissingAtAspectAnnotationInPointcutLibrary_pr162539_2() { runTest("NPE with missing @aspect annotation in pointcut library - 2"); }
-        
-       public void testWrongNumberOfTypeParameters_pr176991() { runTest("wrong number of type parameters");}
-
-       public void testArgNamesDoesNotWork_pr148381_1() { runTest("argNames does not work - simple");}
-       public void testArgNamesDoesNotWork_pr148381_2() { runTest("argNames does not work - error1");}
-       public void testArgNamesDoesNotWork_pr148381_3() { runTest("argNames does not work - error2");}
-       public void testArgNamesDoesNotWork_pr148381_4() { runTest("argNames does not work - error3");}
-       public void testDecpProblemWhenTargetAlreadyImplements_pr169432_1() { runTest("declare parents problem when target already implements interface - 1");}
-       public void testDecpProblemWhenTargetAlreadyImplements_pr169432_2() { runTest("declare parents problem when target already implements interface - 2");}
-       public void testDecpProblemWhenTargetAlreadyImplements_pr169432_3() { runTest("declare parents problem when target already implements interface - 3");}
-       
-       public void testVariousLtwAroundProblems_pr209019_1() { runTest("various issues with ltw and around advice - 1"); }
-       public void testVariousLtwAroundProblems_pr209019_2() { runTest("various issues with ltw and around advice - 2"); }
-       public void testVariousLtwAroundProblems_pr209019_3() { runTest("various issues with ltw and around advice - 3"); }
-       public void testVariousLtwAroundProblems_pr209019_4() { runTest("various issues with ltw and around advice - 4"); }
-       public void testAbstractAnnotationStylePointcutWithContext_pr202088() { runTest("abstract annotation style pointcut with context");}
-       public void testNoErrorForAtDecpInNormalClass_pr169428() { runTest( "no error for atDecp in normal class");}
-
-       public void testJarsZipsNonStandardSuffix_pr186673() { runTest("jars and zips with non-standard suffix");}
-       
-       
-       public void testItdOnGenericInnerInterface_pr203646() { runTest("npe with itd on inner generic interface");}
-       public void testItdOnGenericInnerInterface_pr203646_A() { runTest("npe with itd on inner generic interface - exampleA");}
-       public void testItdOnGenericInnerInterface_pr203646_B() { runTest("npe with itd on inner generic interface - exampleB");}
-       public void testItdOnGenericInnerInterface_pr203646_C() { runTest("npe with itd on inner generic interface - exampleC");}
-       public void testItdOnGenericInnerInterface_pr203646_D() { runTest("npe with itd on inner generic interface - exampleD");}
-//     public void testItdOnGenericInnerInterface_pr203646_E() { runTest("npe with itd on inner generic interface - exampleE");} // needs parser change
-       public void testItdOnGenericInnerInterface_pr203646_F() { runTest("npe with itd on inner generic interface - exampleF");}
-       public void testItdOnGenericInnerInterface_pr203646_G() { runTest("npe with itd on inner generic interface - exampleG");}
-       
-       public void testItdClashForTypesFromAspectPath_pr206732() { runTest("itd clash for types from aspectpath"); } 
-//     public void testAnnotationStyleAndMultiplePackages_pr197719() { runTest("annotation style syntax and cross package extension"); }
-       
-       /** Complex test that attempts to damage a class like a badly behaved bytecode transformer would and checks if AspectJ can cope. */
-        public void testCopingWithGarbage_pr175806_1() throws ClassNotFoundException { 
-                
+       public void testDeclareAtTypeProblems_pr211052_6() {
+               runTest("declare atType problems - 6");
+       }
+
+       public void testDeclareAtTypeProblems_pr211052_7() {
+               runTest("declare atType problems - 7");
+       }
+
+       public void testNPEWithMissingAtAspectAnnotationInPointcutLibrary_pr162539_1() {
+               runTest("NPE with missing @aspect annotation in pointcut library - 1");
+       }
+
+       public void testNPEWithMissingAtAspectAnnotationInPointcutLibrary_pr162539_2() {
+               runTest("NPE with missing @aspect annotation in pointcut library - 2");
+       }
+
+       public void testWrongNumberOfTypeParameters_pr176991() {
+               runTest("wrong number of type parameters");
+       }
+
+       public void testArgNamesDoesNotWork_pr148381_1() {
+               runTest("argNames does not work - simple");
+       }
+
+       public void testArgNamesDoesNotWork_pr148381_2() {
+               runTest("argNames does not work - error1");
+       }
+
+       public void testArgNamesDoesNotWork_pr148381_3() {
+               runTest("argNames does not work - error2");
+       }
+
+       public void testArgNamesDoesNotWork_pr148381_4() {
+               runTest("argNames does not work - error3");
+       }
+
+       public void testDecpProblemWhenTargetAlreadyImplements_pr169432_1() {
+               runTest("declare parents problem when target already implements interface - 1");
+       }
+
+       public void testDecpProblemWhenTargetAlreadyImplements_pr169432_2() {
+               runTest("declare parents problem when target already implements interface - 2");
+       }
+
+       public void testDecpProblemWhenTargetAlreadyImplements_pr169432_3() {
+               runTest("declare parents problem when target already implements interface - 3");
+       }
+
+       public void testVariousLtwAroundProblems_pr209019_1() {
+               runTest("various issues with ltw and around advice - 1");
+       }
+
+       public void testVariousLtwAroundProblems_pr209019_2() {
+               runTest("various issues with ltw and around advice - 2");
+       }
+
+       public void testVariousLtwAroundProblems_pr209019_3() {
+               runTest("various issues with ltw and around advice - 3");
+       }
+
+       public void testVariousLtwAroundProblems_pr209019_4() {
+               runTest("various issues with ltw and around advice - 4");
+       }
+
+       public void testAbstractAnnotationStylePointcutWithContext_pr202088() {
+               runTest("abstract annotation style pointcut with context");
+       }
+
+       public void testNoErrorForAtDecpInNormalClass_pr169428() {
+               runTest("no error for atDecp in normal class");
+       }
+
+       public void testJarsZipsNonStandardSuffix_pr186673() {
+               runTest("jars and zips with non-standard suffix");
+       }
+
+       public void testItdOnGenericInnerInterface_pr203646() {
+               runTest("npe with itd on inner generic interface");
+       }
+
+       public void testItdOnGenericInnerInterface_pr203646_A() {
+               runTest("npe with itd on inner generic interface - exampleA");
+       }
+
+       public void testItdOnGenericInnerInterface_pr203646_B() {
+               runTest("npe with itd on inner generic interface - exampleB");
+       }
+
+       public void testItdOnGenericInnerInterface_pr203646_C() {
+               runTest("npe with itd on inner generic interface - exampleC");
+       }
+
+       public void testItdOnGenericInnerInterface_pr203646_D() {
+               runTest("npe with itd on inner generic interface - exampleD");
+       }
+
+       // public void testItdOnGenericInnerInterface_pr203646_E() { runTest("npe with itd on inner generic interface - exampleE");} //
+       // needs parser change
+       public void testItdOnGenericInnerInterface_pr203646_F() {
+               runTest("npe with itd on inner generic interface - exampleF");
+       }
+
+       public void testItdOnGenericInnerInterface_pr203646_G() {
+               runTest("npe with itd on inner generic interface - exampleG");
+       }
+
+       public void testItdClashForTypesFromAspectPath_pr206732() {
+               runTest("itd clash for types from aspectpath");
+       }
+
+       // public void testAnnotationStyleAndMultiplePackages_pr197719() {
+       // runTest("annotation style syntax and cross package extension"); }
+
+       /**
+        * Complex test that attempts to damage a class like a badly behaved bytecode transformer would and checks if AspectJ can cope.
+        * 
+        * @throws NoSuchFieldException
+        * @throws SecurityException
+        * @throws IllegalAccessException
+        * @throws IllegalArgumentException
+        */
+       public void testCopingWithGarbage_pr175806_1() throws ClassNotFoundException, SecurityException, NoSuchFieldException,
+                       IllegalArgumentException, IllegalAccessException {
+
                // Compile the program we are going to mess with
-           runTest("coping with bad tables");
-           
-           // Load up the class and the method 'main' we are interested in
-           JavaClass jc = getClassFrom(ajc.getSandboxDirectory(),"A");
-           Method[] meths = jc.getMethods();
-           Method oneWeWant = null;
-           for (int i = 0; i < meths.length && oneWeWant==null; i++) {
+               runTest("coping with bad tables");
+
+               // Load up the class and the method 'main' we are interested in
+               JavaClass jc = getClassFrom(ajc.getSandboxDirectory(), "A");
+               Method[] meths = jc.getMethods();
+               Method oneWeWant = null;
+               for (int i = 0; i < meths.length && oneWeWant == null; i++) {
                        Method method = meths[i];
-                       if (method.getName().equals("main")) oneWeWant = meths[i];
-           }
-           
-           /**
-            * For the main method:
-                 Stack=2, Locals=3, Args_size=1
-                 0:   iconst_5
-                 1:   istore_1
-                 2:   ldc     #18; //String 3
-                 4:   astore_2
-                 5:   getstatic       #24; //Field java/lang/System.out:Ljava/io/PrintStream;
-                 8:   aload_2
-                 9:   invokevirtual   #30; //Method java/io/PrintStream.println:(Ljava/lang/String;)V
-                 12:  goto    23
-                 15:  pop
-                 16:  getstatic       #24; //Field java/lang/System.out:Ljava/io/PrintStream;
-                 19:  iload_1
-                 20:  invokevirtual   #33; //Method java/io/PrintStream.println:(I)V
-                 23:  return
-                Exception table:
-                 from   to  target type
-                   2    15    15   Class java/lang/Exception
-               
-                LineNumberTable:
-                 line 4: 0
-                 line 6: 2
-                 line 7: 5
-                 line 8: 15
-                 line 9: 16
-                 line 11: 23
-                LocalVariableTable:
-                 Start  Length  Slot  Name   Signature
-                 0      24      0    argv       [Ljava/lang/String;
-                 2      22      1    i       I
-                 5      10      2    s       Ljava/lang/String;
-            */
-           
-           ConstantPool cp = oneWeWant.getConstantPool();
-          // ConstantPool cpg = new ConstantPool(cp);
-           
-           // Damage the line number table, entry 2 (Line7:5) so it points to an invalid (not on an instruction boundary) position of 6
-           oneWeWant.getLineNumberTable().getLineNumberTable()[2].setStartPC(6);
-
-           // Should be 'rounded down' when transforming it into a MethodGen, new position will be '5'
-//         System.out.println("BEFORE\n"+oneWeWant.getLineNumberTable().toString());
-           MethodGen toTransform = new MethodGen(oneWeWant,"A",cp,false);
-           LineNumberTable lnt = toTransform.getMethod().getLineNumberTable();
-           assertTrue("Should have been 'rounded down' to position 5 but is "+lnt.getLineNumberTable()[2].getStartPC(), lnt.getLineNumberTable()[2].getStartPC()==5);
-//         System.out.println("AFTER\n"+lnt.toString());    
-        }
-        
-        public void testCopingWithGarbage_pr175806_2() throws ClassNotFoundException { 
-        
+                       if (method.getName().equals("main"))
+                               oneWeWant = meths[i];
+               }
+
+               /**
+                * For the main method: Stack=2, Locals=3, Args_size=1 0: iconst_5 1: istore_1 2: ldc #18; //String 3 4: astore_2 5:
+                * getstatic #24; //Field java/lang/System.out:Ljava/io/PrintStream; 8: aload_2 9: invokevirtual #30; //Method
+                * java/io/PrintStream.println:(Ljava/lang/String;)V 12: goto 23 15: pop 16: getstatic #24; //Field
+                * java/lang/System.out:Ljava/io/PrintStream; 19: iload_1 20: invokevirtual #33; //Method java/io/PrintStream.println:(I)V
+                * 23: return Exception table: from to target type 2 15 15 Class java/lang/Exception
+                * 
+                * LineNumberTable: line 4: 0 line 6: 2 line 7: 5 line 8: 15 line 9: 16 line 11: 23 LocalVariableTable: Start Length Slot
+                * Name Signature 0 24 0 argv [Ljava/lang/String; 2 22 1 i I 5 10 2 s Ljava/lang/String;
+                */
+
+               ConstantPool cp = oneWeWant.getConstantPool();
+               // ConstantPool cpg = new ConstantPool(cp);
+
+               // Damage the line number table, entry 2 (Line7:5) so it points to an invalid (not on an instruction boundary) position of 6
+               Field ff = LineNumber.class.getDeclaredField("startPC");
+               ff.setAccessible(true);
+               ff.set(oneWeWant.getLineNumberTable().getLineNumberTable()[2], 6);
+               // oneWeWant.getLineNumberTable().getLineNumberTable()[2].setStartPC(6);
+
+               // Should be 'rounded down' when transforming it into a MethodGen, new position will be '5'
+               // System.out.println("BEFORE\n"+oneWeWant.getLineNumberTable().toString());
+               MethodGen toTransform = new MethodGen(oneWeWant, "A", cp, false);
+               LineNumberTable lnt = toTransform.getMethod().getLineNumberTable();
+               assertTrue("Should have been 'rounded down' to position 5 but is " + lnt.getLineNumberTable()[2].getStartPC(), lnt
+                               .getLineNumberTable()[2].getStartPC() == 5);
+               // System.out.println("AFTER\n"+lnt.toString());
+       }
+
+       public void testCopingWithGarbage_pr175806_2() throws ClassNotFoundException {
+
                // Compile the program we are going to mess with
-           runTest("coping with bad tables");
-           
-           // Load up the class and the method 'main' we are interested in
-           JavaClass jc = getClassFrom(ajc.getSandboxDirectory(),"A");
-           Method[] meths = jc.getMethods();
-           Method oneWeWant = null;
-           for (int i = 0; i < meths.length && oneWeWant==null; i++) {
+               runTest("coping with bad tables");
+
+               // Load up the class and the method 'main' we are interested in
+               JavaClass jc = getClassFrom(ajc.getSandboxDirectory(), "A");
+               Method[] meths = jc.getMethods();
+               Method oneWeWant = null;
+               for (int i = 0; i < meths.length && oneWeWant == null; i++) {
                        Method method = meths[i];
-                       if (method.getName().equals("main")) oneWeWant = meths[i];
-           }
-           // see previous test for dump of main method
-           
-           ConstantPool cp = oneWeWant.getConstantPool();
-//         ConstantPoolGen cpg = new ConstantPoolGen(cp);
-           
-           // Damage the local variable table, entry 2 (" 2      22      1    i       I") so it points to an invalid start pc of 3
-           oneWeWant.getLocalVariableTable().getLocalVariable(1).setStartPC(3);
-
-           // Should be 'rounded down' when transforming it into a MethodGen, new position will be '2'             
-           // This next line will go BANG with an NPE if we don't correctly round the start pc down to 2
-           MethodGen toTransform = new MethodGen(oneWeWant,"A",cp,true);
-        }
-         
-
-  public void testGenericAspectGenericPointcut_pr174449() { runTest("problem with generic aspect and generic pointcut");}
-  public void testGenericAspectGenericPointcut_noinline_pr174449() { runTest("problem with generic aspect and generic pointcut - noinline");}
-  public void testGenericMethodsAndOrdering_ok_pr171953_2() { runTest("problem with generic methods and ordering - ok");}
-  public void testGenericMethodsAndOrdering_bad_pr171953_2() { runTest("problem with generic methods and ordering - bad");}
-  public void testItdAndJoinpointSignatureCollection_ok_pr171953() { runTest("problem with itd and join point signature collection - ok");}
-  public void testItdAndJoinpointSignatureCollection_bad_pr171953() { runTest("problem with itd and join point signature collection - bad");}
-  public void testGenericMethodsAndItds_pr171952() { runTest("generic methods and ITDs");}
-  //public void testUsingDecpAnnotationWithoutAspectAnnotation_pr169428() { runTest("using decp annotation without aspect annotation");}
-  public void testItdsParameterizedParameters_pr170467() { runTest("itds and parameterized parameters");}
-  public void testComplexGenerics_pr168044() { runTest("complex generics - 1");}
-  public void testIncorrectlyMarkingFieldTransient_pr168063() { runTest("incorrectly marking field transient");}
-  public void testInheritedAnnotations_pr169706() { runTest("inherited annotations");}
-  public void testGenericFieldNPE_pr165885() { runTest("generic field npe");}
-  public void testIncorrectOptimizationOfIstore_pr166084() { runTest("incorrect optimization of istore"); }
-  public void testDualParameterizationsNotAllowed_pr165631() { runTest("dual parameterizations not allowed"); }
-       
-       public void testSuppressWarnings1_pr166238() {
+                       if (method.getName().equals("main"))
+                               oneWeWant = meths[i];
+               }
+               // see previous test for dump of main method
+
+               ConstantPool cp = oneWeWant.getConstantPool();
+               // ConstantPoolGen cpg = new ConstantPoolGen(cp);
+
+               // Damage the local variable table, entry 2 (" 2      22      1    i       I") so it points to an invalid start pc of 3
+               oneWeWant.getLocalVariableTable().getLocalVariable(1).setStartPC(3);
+
+               // Should be 'rounded down' when transforming it into a MethodGen, new position will be '2'
+               // This next line will go BANG with an NPE if we don't correctly round the start pc down to 2
+               MethodGen toTransform = new MethodGen(oneWeWant, "A", cp, true);
+       }
+
+       public void testGenericAspectGenericPointcut_pr174449() {
+               runTest("problem with generic aspect and generic pointcut");
+       }
+
+       public void testGenericAspectGenericPointcut_noinline_pr174449() {
+               runTest("problem with generic aspect and generic pointcut - noinline");
+       }
+
+       public void testGenericMethodsAndOrdering_ok_pr171953_2() {
+               runTest("problem with generic methods and ordering - ok");
+       }
+
+       public void testGenericMethodsAndOrdering_bad_pr171953_2() {
+               runTest("problem with generic methods and ordering - bad");
+       }
+
+       public void testItdAndJoinpointSignatureCollection_ok_pr171953() {
+               runTest("problem with itd and join point signature collection - ok");
+       }
+
+       public void testItdAndJoinpointSignatureCollection_bad_pr171953() {
+               runTest("problem with itd and join point signature collection - bad");
+       }
+
+       public void testGenericMethodsAndItds_pr171952() {
+               runTest("generic methods and ITDs");
+       }
+
+       // public void testUsingDecpAnnotationWithoutAspectAnnotation_pr169428() {
+       // runTest("using decp annotation without aspect annotation");}
+       public void testItdsParameterizedParameters_pr170467() {
+               runTest("itds and parameterized parameters");
+       }
+
+       public void testComplexGenerics_pr168044() {
+               runTest("complex generics - 1");
+       }
+
+       public void testIncorrectlyMarkingFieldTransient_pr168063() {
+               runTest("incorrectly marking field transient");
+       }
+
+       public void testInheritedAnnotations_pr169706() {
+               runTest("inherited annotations");
+       }
+
+       public void testGenericFieldNPE_pr165885() {
+               runTest("generic field npe");
+       }
+
+       public void testIncorrectOptimizationOfIstore_pr166084() {
+               runTest("incorrect optimization of istore");
+       }
+
+       public void testDualParameterizationsNotAllowed_pr165631() {
+               runTest("dual parameterizations not allowed");
+       }
+
+       public void testSuppressWarnings1_pr166238() {
                runTest("Suppress warnings1");
        }
 
        public void testSuppressWarnings2_pr166238() {
                runTest("Suppress warnings2");
        }
-  public void testNullReturnedFromGetField_pr172107() { runTest("null returned from getField()"); }
-       
-  /////////////////////////////////////////
-  public static Test suite() {
-    return XMLBasedAjcTestCase.loadSuite(Ajc154Tests.class);
-  }
-
-  protected File getSpecFile() {
-    return new File("../tests/src/org/aspectj/systemtest/ajc154/ajc154.xml");
-  }
-  
-  public SyntheticRepository createRepos(File cpentry) {
-       ClassPath cp = new ClassPath(cpentry+File.pathSeparator+System.getProperty("java.class.path"));
-       return SyntheticRepository.getInstance(cp);
-  }
-  
-  protected JavaClass getClassFrom(File where,String clazzname) throws ClassNotFoundException {
-       SyntheticRepository repos = createRepos(where);
-       return repos.loadClass(clazzname);
-  }
-  // ---
+
+       public void testNullReturnedFromGetField_pr172107() {
+               runTest("null returned from getField()");
+       }
+
+       // ///////////////////////////////////////
+       public static Test suite() {
+               return XMLBasedAjcTestCase.loadSuite(Ajc154Tests.class);
+       }
+
+       @Override
+       protected File getSpecFile() {
+               return new File("../tests/src/org/aspectj/systemtest/ajc154/ajc154.xml");
+       }
+
+       public SyntheticRepository createRepos(File cpentry) {
+               ClassPath cp = new ClassPath(cpentry + File.pathSeparator + System.getProperty("java.class.path"));
+               return SyntheticRepository.getInstance(cp);
+       }
+
+       protected JavaClass getClassFrom(File where, String clazzname) throws ClassNotFoundException {
+               SyntheticRepository repos = createRepos(where);
+               return repos.loadClass(clazzname);
+       }
+
+       // ---
        private class BeanDesignatorHandler implements PointcutDesignatorHandler {
 
                private String askedToParse;
                public boolean simulateDynamicTest = false;
-               
+
                public String getDesignatorName() {
                        return "bean";
                }
-       
-               /* (non-Javadoc)
+
+               /*
+                * (non-Javadoc)
+                * 
                 * @see org.aspectj.weaver.tools.PointcutDesignatorHandler#parse(java.lang.String)
                 */
                public ContextBasedMatcher parse(String expression) {
                        this.askedToParse = expression;
-                       return new BeanPointcutExpression(expression,this.simulateDynamicTest);
+                       return new BeanPointcutExpression(expression, this.simulateDynamicTest);
                }
-               
+
                public String getExpressionLastAskedToParse() {
                        return this.askedToParse;
                }
        }
-       
+
        private class BeanPointcutExpression implements ContextBasedMatcher {
 
                private final String beanNamePattern;
@@ -269,15 +401,16 @@ public class Ajc154Tests extends org.aspectj.testing.XMLBasedAjcTestCase {
 
                public BeanPointcutExpression(String beanNamePattern, boolean simulateDynamicTest) {
                        this.beanNamePattern = beanNamePattern;
-                       this.simulateDynamicTest = simulateDynamicTest;                 
+                       this.simulateDynamicTest = simulateDynamicTest;
                }
 
-
                public boolean couldMatchJoinPointsInType(Class aClass) {
                        return true;
                }
-               
-               /* (non-Javadoc)
+
+               /*
+                * (non-Javadoc)
+                * 
                 * @see org.aspectj.weaver.tools.ContextBasedMatcher#couldMatchJoinPointsInType(java.lang.Class)
                 */
                public boolean couldMatchJoinPointsInType(Class aClass, MatchingContext context) {
@@ -288,17 +421,18 @@ public class Ajc154Tests extends org.aspectj.testing.XMLBasedAjcTestCase {
                        }
                }
 
-
-               /* (non-Javadoc)
+               /*
+                * (non-Javadoc)
+                * 
                 * @see org.aspectj.weaver.tools.ContextBasedMatcher#mayNeedDynamicTest()
                 */
                public boolean mayNeedDynamicTest() {
                        return this.simulateDynamicTest;
                }
 
-
                public FuzzyBoolean matchesStatically(MatchingContext matchContext) {
-                       if (this.simulateDynamicTest) return FuzzyBoolean.MAYBE;
+                       if (this.simulateDynamicTest)
+                               return FuzzyBoolean.MAYBE;
                        if (this.beanNamePattern.equals(matchContext.getBinding("beanName"))) {
                                return FuzzyBoolean.YES;
                        } else {
@@ -306,14 +440,14 @@ public class Ajc154Tests extends org.aspectj.testing.XMLBasedAjcTestCase {
                        }
                }
 
-
-               /* (non-Javadoc)
+               /*
+                * (non-Javadoc)
+                * 
                 * @see org.aspectj.weaver.tools.ContextBasedMatcher#matchesDynamically(org.aspectj.weaver.tools.MatchingContext)
                 */
                public boolean matchesDynamically(MatchingContext matchContext) {
                        return this.beanNamePattern.equals(matchContext.getBinding("beanName"));
                }
-       }               
+       }
 
-  
 }
\ No newline at end of file