summaryrefslogtreecommitdiffstats
path: root/tests/ajcTests.xml
diff options
context:
space:
mode:
Diffstat (limited to 'tests/ajcTests.xml')
-rw-r--r--tests/ajcTests.xml5250
1 files changed, 5250 insertions, 0 deletions
diff --git a/tests/ajcTests.xml b/tests/ajcTests.xml
new file mode 100644
index 000000000..07d8033ed
--- /dev/null
+++ b/tests/ajcTests.xml
@@ -0,0 +1,5250 @@
+
+<!DOCTYPE suite SYSTEM "../tests/ajcTestSuite.dtd">
+
+<!--
+ known keywords:
+
+ purejava
+ broken-test ??
+ messages-vary one of many (usually two) test specs that differ only in
+ messages expected by the different compilers
+ new-messages-vary ?? to split like messages-vary
+
+ fail-{...} test fails in some configuration
+ fail-unimplmented eajc throwing "unimplemented" exception
+ fail-commandLine fails in ajc on command line (move to ajcTestsBroken.xml)
+ fail-in-eclipse fail when harness in run from inside eclipse
+ fail-publicType now fixed - no longer presenting error for public type in wrong file
+
+ from-{file} from original {file}.txt for file in
+ java, bigjava, resolved_1*, 14tests, ng, errors, design, base...
+
+ -->
+
+<suite>
+ <ajc-test dir="base/test100"
+ title="static and non-static before methods -- one file"
+ keywords="from-base">
+ <compile files="Driver.java"/>
+ <run class="Driver"/>
+ </ajc-test>
+
+ <ajc-test dir="base/test101"
+ title="static and non-static before methods -- many files"
+ keywords="from-base">
+ <compile files="Driver.java,Foo.java,Bar.java,Pos.java"/>
+ <run class="Driver"/>
+ </ajc-test>
+
+ <ajc-test dir="base/test102"
+ title="this redirection in non-static before methods" keywords="from-base">
+ <compile files="Driver.java"/>
+ <run class="Driver"/>
+ </ajc-test>
+
+ <ajc-test dir="base/test103" title="DEPRECATED: introductions"
+ keywords="from-base">
+ <compile files="Driver.java"/>
+ <run class="Driver"/>
+ </ajc-test>
+
+ <ajc-test dir="base/test104" title="before constructors -- one file"
+ keywords="from-base">
+ <compile files="Driver.java"/>
+ <run class="Driver"/>
+ </ajc-test>
+
+ <ajc-test dir="base/test105"
+ title="advise weaves find methods typed to builtins or non-woven classes"
+ keywords="from-base">
+ <compile files="Driver.java"/>
+ <run class="Driver"/>
+ </ajc-test>
+
+ <ajc-test dir="base/test106"
+ title="make sure new weaves work inside of packages" keywords="from-base">
+ <compile files="Driver.java,pkg/Obj.java"/>
+ <run class="Driver"/>
+ </ajc-test>
+
+ <ajc-test dir="base/test107"
+ title="make sure new weaves work inside of packages (again)"
+ keywords="from-base">
+ <compile
+ files="Driver.java,C1.java,C2.java,pack1/Foo.java,pack2/Foo.java,pack3/Foo.java"/>
+ <run class="Driver"/>
+ </ajc-test>
+
+ <ajc-test dir="base/test108"
+ title="Inheritance of class and aspect vars in weaves"
+ keywords="from-base">
+ <compile files="Driver.java"/>
+ <run class="Driver"/>
+ </ajc-test>
+
+ <ajc-test dir="base/test109"
+ title="Accessibility of class and aspect members from inside weaves"
+ keywords="from-base">
+ <compile files="Driver.java,Aspect.java,Foo.java"/>
+ <run class="Driver"/>
+ </ajc-test>
+
+ <ajc-test dir="base/test110"
+ title="Packaged aspects referring to packaged classes"
+ keywords="from-base">
+ <compile files="Driver.java,pAspect/Aspect.java,pClass/Class.java"/>
+ <run class="Driver"/>
+ </ajc-test>
+
+ <ajc-test dir="base/test111"
+ title="Inheritance of methods advised by aspects" keywords="from-base">
+ <compile
+ files="Driver.java,SubClass.java,SuperClass.java,SuperAspect.java"/>
+ <run class="Driver"/>
+ </ajc-test>
+
+ <ajc-test dir="base/test112" title="Inherited weaves on constructor"
+ keywords="from-base">
+ <compile files="Driver.java"/>
+ <run class="Driver"/>
+ </ajc-test>
+
+ <ajc-test dir="base/test113" title="Initializers in Aspect and Class Bodies"
+ keywords="from-base">
+ <compile files="Driver.java"/>
+ <run class="Driver"/>
+ </ajc-test>
+
+ <ajc-test dir="base/test114"
+ title="Weaver Resolution of method names in method calls passed as args"
+ keywords="from-base">
+ <compile files="Driver.java"/>
+ <run class="Driver"/>
+ </ajc-test>
+
+ <ajc-test dir="base/test115"
+ title="DEPRECATED: Introduce constructor with class inheritance"
+ keywords="from-base">
+ <compile files="Driver.java"/>
+ <run class="Driver"/>
+ </ajc-test>
+
+ <ajc-test dir="base/test116"
+ title="empty and singular patterns on modifiers and throws"
+ keywords="from-base">
+ <compile files="Driver.java"/>
+ <run class="Driver"/>
+ </ajc-test>
+
+ <!-- we're not implementing static inter-type fields on interfaces in 1.1 -->
+ <ajc-test dir="base/test117" title="DEPRECATED: introduce of variables"
+ keywords="from-base,knownLimitation">
+ <compile files="Driver.java"/>
+ <run class="Driver"/>
+ </ajc-test>
+
+ <ajc-test dir="base/test118" title="DEPRECATED: Introduce of constructors"
+ keywords="from-base">
+ <compile files="Driver.java"/>
+ <run class="Driver"/>
+ </ajc-test>
+
+ <ajc-test dir="base/test119" title="Local declarations in advise bodies"
+ keywords="from-base">
+ <compile files="Driver.java"/>
+ <run class="Driver"/>
+ </ajc-test>
+
+ <ajc-test dir="base/test120" title="unicodes and literals"
+ keywords="from-base,purejava">
+ <compile files="Driver.java"/>
+ <run class="Driver"/>
+ </ajc-test>
+
+ <ajc-test dir="base/test121"
+ title="advises on introduced methods and constructors"
+ keywords="from-base">
+ <compile files="Driver.java"/>
+ <run class="Driver"/>
+ </ajc-test>
+
+ <ajc-test dir="base/test122"
+ title="DEPRECATED: Method introduction into interface implemented by abstract class"
+ keywords="from-base">
+ <compile files="Driver.java"/>
+ <run class="Driver"/>
+ </ajc-test>
+
+ <ajc-test dir="base/test123" title="Crossing super calls in constructors"
+ keywords="from-base">
+ <compile files="Driver.java"/>
+ <run class="Driver"/>
+ </ajc-test>
+
+ <ajc-test dir="base/test124" title="empty modifier pattern"
+ keywords="from-base">
+ <compile files="Driver.java"/>
+ <run class="Driver"/>
+ </ajc-test>
+
+ <ajc-test dir="base/test125"
+ title="Alpha conversion of argument names in designators"
+ keywords="from-base">
+ <compile files="Driver.java"/>
+ <run class="Driver"/>
+ </ajc-test>
+
+ <ajc-test dir="base/test126" title="For Statement"
+ keywords="from-base,purejava">
+ <compile files="Driver.java"/>
+ <run class="Driver"/>
+ </ajc-test>
+
+ <ajc-test dir="base/test127"
+ title="advice uses its own formals to get actuals" keywords="from-base">
+ <compile files="Driver.java"/>
+ <run class="Driver"/>
+ </ajc-test>
+
+ <ajc-test dir="base/test128"
+ title="DEPRECATED: introduce weaves can use this" keywords="from-base">
+ <compile files="Driver.java"/>
+ <run class="Driver"/>
+ </ajc-test>
+
+ <ajc-test dir="base/test129"
+ title="DEPRECATED: introduce of abstract methods works"
+ keywords="from-base">
+ <compile files="Driver.java"/>
+ <run class="Driver"/>
+ </ajc-test>
+
+ <ajc-test dir="base/test130"
+ title="multiple arounds successfully intercept and return own values"
+ keywords="from-base">
+ <compile files="Driver.java"/>
+ <run class="Driver"/>
+ </ajc-test>
+
+ <ajc-test dir="base/test132"
+ title="proper matching of overloaded constructors" keywords="from-base">
+ <compile files="Driver.java"/>
+ <run class="Driver"/>
+ </ajc-test>
+
+ <ajc-test dir="base/test133"
+ title="correct super call lookup for method().name()"
+ keywords="from-base,purejava">
+ <compile files="Driver.java"/>
+ <run class="Driver"/>
+ </ajc-test>
+
+ <ajc-test dir="base/test134"
+ title="proper handling of formals in catch advice" keywords="from-base">
+ <compile files="Driver.java"/>
+ <run class="Driver"/>
+ </ajc-test>
+
+ <ajc-test dir="base/test135"
+ title="proper values for thisJoinPoint attributes" keywords="from-base">
+ <compile
+ files="Driver.java,JoinPointFields.java,TopFoo.java,pack/PackFoo.java,pack/JoinPointFields.java,pack/PackJoinPointFields.java"/>
+ <run class="test135.Driver"/>
+ </ajc-test>
+
+ <ajc-test dir="base/test136" title="supers, supers, supers"
+ keywords="from-base">
+ <compile files="Driver.java"/>
+ <run class="Driver"/>
+ </ajc-test>
+
+ <ajc-test dir="base/test137"
+ title="operations on private and protected aspect members (++, -- in partciular)"
+ keywords="from-base">
+ <compile files="Driver.java"/>
+ <run class="Driver"/>
+ </ajc-test>
+
+ <ajc-test dir="base/test138" title="only register things once"
+ keywords="from-base">
+ <compile files="Driver.java"/>
+ <run class="Driver"/>
+ </ajc-test>
+
+ <ajc-test dir="base/test139" title="inner aspects and around"
+ keywords="from-base">
+ <compile files="Driver.java"/>
+ <run class="Driver"/>
+ </ajc-test>
+
+ <ajc-test dir="base/test140"
+ title="aspect inheritance and advice, introduction" keywords="from-base">
+ <compile files="Driver.java"/>
+ <run class="Driver"/>
+ </ajc-test>
+
+ <ajc-test dir="base/test141" title="thisResultObject for primitives"
+ keywords="from-base">
+ <compile files="Driver.java"/>
+ <run class="Driver"/>
+ </ajc-test>
+
+ <ajc-test dir="base/test142" title="introductions calling super."
+ keywords="from-base">
+ <compile files="Driver.java"/>
+ <run class="Driver"/>
+ </ajc-test>
+
+ <ajc-test dir="base" pr="384"
+ title="allow one argument calls even when there's a comma in the arglist"
+ keywords="from-base">
+ <compile files="OneArgCallsIsOkay.java"/>
+ <run class="OneArgCallsIsOkay"/>
+ </ajc-test>
+
+ <ajc-test dir="new"
+ title="advice on calls to static methods even works when called on super"
+ keywords="from-base">
+ <compile files="SuperStaticCallJoinPoint.java"/>
+ <run class="SuperStaticCallJoinPoint"/>
+ </ajc-test>
+
+ <ajc-test dir="new" pr="99"
+ title="combined logic expression (handling coericions vs. parens)"
+ keywords="from-java,purejava">
+ <compile files="CombinedLogic.java"/>
+ <run class="CombinedLogic"/>
+ </ajc-test>
+
+ <ajc-test dir="new" pr="99"
+ title="comment after class closes (with no new line at end)"
+ keywords="from-java,purejava">
+ <compile files="CommentAfterClass.java"/>
+ <run class="CommentAfterClass"/>
+ </ajc-test>
+
+ <ajc-test dir="new" title="handle multiple nested inner classes"
+ keywords="from-java">
+ <compile files="InnerHell.java"/>
+ <run class="InnerHell"/>
+ </ajc-test>
+
+ <ajc-test dir="new" pr="108" title="multi-dimensional array initializers"
+ keywords="from-java,purejava">
+ <compile files="MultiArrays.java"/>
+ <run class="MultiArrays"/>
+ </ajc-test>
+
+ <ajc-test dir="new" pr="125"
+ title="probelm with the generated names of exceptions"
+ keywords="from-java,purejava">
+ <compile files="ExceptionNames.java"/>
+ <run class="ExceptionNames"/>
+ </ajc-test>
+
+ <ajc-test dir="new" pr="109"
+ title="checks if the class field can be used on all of the primitive types"
+ keywords="from-java,purejava">
+ <compile files="ClassFieldOnPrimitiveType.java"/>
+ <run class="ClassFieldOnPrimitiveType"/>
+ </ajc-test>
+
+ <ajc-test dir="new/volatileKeyword" pr="151"
+ title="advice on a static method" keywords="from-java">
+ <compile files="Driver.java"/>
+ <run class="Driver"/>
+ </ajc-test>
+
+ <ajc-test dir="new/innerConsSyntax" pr="192"
+ title="inner constructor syntax causes compile error" keywords="from-java">
+ <compile files="Driver.java"/>
+ <run class="Driver"/>
+ </ajc-test>
+
+ <ajc-test dir="new/paramWidening" pr="195"
+ title="widening of method parameters to match javac" keywords="from-java">
+ <compile files="Driver.java"/>
+ <run class="Driver"/>
+ </ajc-test>
+
+ <ajc-test dir="pureJava/equalsMethOnStr" pr="214"
+ title="equals method on quoted strings" keywords="from-java">
+ <compile files="Driver.java"/>
+ <run class="Driver"/>
+ </ajc-test>
+
+ <ajc-test dir="new" pr="313"
+ title="parenthesized string literals matching primitive type names"
+ keywords="from-java">
+ <compile files="ParenPrimitive.java"/>
+ <run class="ParenPrimitive"/>
+ </ajc-test>
+
+ <ajc-test dir="pureJava/anonInnerClass" pr="294"
+ title="anonymous inner class" keywords="from-java">
+ <compile files="Driver.java"/>
+ <run class="Driver"/>
+ </ajc-test>
+
+ <ajc-test dir="new" title="simple type coercions tests" keywords="from-java">
+ <compile files="TypeCoercions.java"/>
+ <run class="TypeCoercions"/>
+ </ajc-test>
+
+ <ajc-test dir="new" title="order of type declarations shouldn't matter"
+ keywords="from-java">
+ <compile files="OrderOfTypes.java"/>
+ <run class="OrderOfTypes"/>
+ </ajc-test>
+
+ <ajc-test dir="pureJava"
+ title="parsing of parenthesized 'this' (in returns)" keywords="from-java">
+ <compile files="ReturnThis.java"/>
+ <run class="ReturnThis"/>
+ </ajc-test>
+
+ <ajc-test dir="new" title="Scanner non recognizing strictfp."
+ keywords="from-java">
+ <compile files="StrictFp.java"/>
+ <run class="StrictFp"/>
+ </ajc-test>
+
+ <ajc-test dir="pureJava" title="Strings are folded and interned correctly"
+ keywords="from-java">
+ <compile files="StringFold.java"/>
+ <run class="StringFold"/>
+ </ajc-test>
+
+ <ajc-test dir="pureJava" title="Cast binds tighter than equality tests"
+ keywords="from-java">
+ <compile files="CastAndBinary.java"/>
+ <run class="CastAndBinary"/>
+ </ajc-test>
+
+ <ajc-test dir="pureJava" title="Boundary base values can be parsed"
+ keywords="from-java">
+ <compile files="BoundaryNums.java"/>
+ <run class="BoundaryNums"/>
+ </ajc-test>
+
+ <ajc-test dir="pureJava"
+ title="State is passed correctly across nested annonymous inners"
+ keywords="from-java">
+ <compile files="NestedInners.java"/>
+ <run class="NestedInners"/>
+ </ajc-test>
+
+ <ajc-test dir="pureJava"
+ title="?: expressions should typecheck in interesting ways"
+ keywords="from-java">
+ <compile files="TriTestTypecheck.java"/>
+ <run class="TriTestTypecheck"/>
+ </ajc-test>
+
+ <ajc-test dir="pureJava"
+ title="cast expressions should allow casts to/from interfaces at compile-time."
+ keywords="from-java">
+ <compile files="InterfaceCast.java"/>
+ <run class="InterfaceCast"/>
+ </ajc-test>
+
+ <ajc-test dir="pureJava"
+ title="various anonymous inner classes plus super types tests"
+ keywords="from-java">
+ <compile files="InnerSuper.java"/>
+ <run class="InnerSuper"/>
+ </ajc-test>
+
+ <ajc-test dir="new"
+ title="Doesn't parse an array-returning method that throws an exception"
+ keywords="from-java,purejava">
+ <compile files="ArrayMethod.java"/>
+ <run class="ArrayMethod"/>
+ </ajc-test>
+
+ <ajc-test dir="new"
+ title="Crashes when a lot of zeros are in front of a double variable [!!! purejava]"
+ keywords="from-java">
+ <compile files="Zeros.java"/>
+ <run class="Zeros"/>
+ </ajc-test>
+
+ <ajc-test dir="pureJava" title="Various comment syntaxes should be handled."
+ keywords="from-java">
+ <compile files="CommentSyntax.java"/>
+ <run class="CommentSyntax"/>
+ </ajc-test>
+
+ <ajc-test dir="pureJava/abstractInner"
+ title="Abstract inner classes across package boundaries"
+ keywords="from-java">
+ <compile files="C.java,pkg/A.java"/>
+ <run class="C"/>
+ </ajc-test>
+
+ <ajc-test dir="pureJava"
+ title="inner classes accessing outers and some more inner class names"
+ keywords="from-java">
+ <compile files="InnerAccess.java"/>
+ <run class="InnerAccess"/>
+ </ajc-test>
+
+ <ajc-test dir="pureJava"
+ title="remember to cast folded values down to the proper types."
+ keywords="from-java">
+ <compile files="CastingFoldedValues.java"/>
+ <run class="CastingFoldedValues"/>
+ </ajc-test>
+
+ <ajc-test dir="pureJava"
+ title="inner classes can be built using protected constructors in super"
+ keywords="from-java">
+ <compile files="VariousConstructors.java"/>
+ <run class="VariousConstructors"/>
+ </ajc-test>
+
+ <ajc-test dir="pureJava"
+ title="check that nested constructions of local classes work"
+ keywords="from-java,purejava">
+ <compile files="NestedConstructionsOfLocalClasses.java"/>
+ <run class="NestedConstructionsOfLocalClasses"/>
+ </ajc-test>
+
+ <ajc-test dir="pureJava"
+ title="Make sure anonymous classes can have non-nullary constructors"
+ keywords="from-java,purejava">
+ <compile files="NonNullaryAnonymous.java"/>
+ <run class="NonNullaryAnonymous"/>
+ </ajc-test>
+
+ <ajc-test dir="new" pr="417"
+ title="Full names are dropped from inner interfaces"
+ keywords="from-java,purejava">
+ <compile files="PR417a.java"/>
+ <run class="PR417a"/>
+ </ajc-test>
+
+ <ajc-test dir="new" pr="417"
+ title="Making sure full names stay on static inner classes"
+ keywords="from-java,purejava">
+ <compile files="PR417b.java"/>
+ <run class="PR417b"/>
+ </ajc-test>
+
+ <ajc-test dir="pureJava" pr="401"
+ title="The current AspectJ compiler cannot parse qualified superclass constructor invocations"
+ keywords="from-java">
+ <compile files="QualifiedSuperClassConstructorInvocations_PR401.java"/>
+ <run class="QualifiedSuperClassConstructorInvocations_PR401"/>
+ </ajc-test>
+
+ <ajc-test dir="pureJava" pr="421"
+ title="More thourough test of static members using full names"
+ keywords="from-java">
+ <compile
+ files="Statics.java,StaticMembers_PR421.java,p1/C1.java,p1/P1Statics.java,p1/subp1/SubC1.java,p1/p2/P1P2Statics.java"/>
+ <run class="StaticMembers_PR421"/>
+ </ajc-test>
+
+ <ajc-test dir="pureJava" pr="421"
+ title="More thourough test of static members using imports"
+ keywords="from-java">
+ <compile
+ files="Statics.java,StaticMembersImports_PR421.java,p1/C1.java,p1/P1Statics.java,p1/subp1/SubC1.java,p1/p2/P1P2Statics.java"/>
+ <run class="StaticMembersImports_PR421"/>
+ </ajc-test>
+
+ <ajc-test dir="pureJava/conflictingPackageNames" pr="437"
+ title="Looking in class Java for java.lang.String WITH separate compilation"
+ keywords="from-java">
+ <compile files="Java.java"/>
+ <compile files="Main.java"/>
+ <run class="Main"/>
+ </ajc-test>
+
+ <ajc-test dir="pureJava/conflictingPackageNames" pr="437"
+ title="Looking in class Java for java.lang.String WITHOUT separate compilation"
+ keywords="from-java">
+ <compile files="Main.java,Java.java"/>
+ <run class="Main"/>
+ </ajc-test>
+
+ <ajc-test dir="pureJava/conflictingPackageNamesWithPackages" pr="437"
+ title="Looking in class Java for java.lang.String WITH separate compilation with packages"
+ keywords="from-java">
+ <compile files="Java.java"/>
+ <compile files="Main.java"/>
+ <run class="conflictingPackageNamesWithPackages.Main"/>
+ </ajc-test>
+
+ <ajc-test dir="pureJava/conflictingPackageNamesWithPackages" pr="437"
+ title="Looking in class Java for java.lang.String WITHOUT separate compilation with packages"
+ keywords="from-java">
+ <compile files="Main.java,Java.java"/>
+ <run class="conflictingPackageNamesWithPackages.Main"/>
+ </ajc-test>
+
+ <ajc-test dir="pureJava" title="Testing ternary operations."
+ keywords="from-java">
+ <compile files="MultiTernaryOps.java"/>
+ <run class="MultiTernaryOps"/>
+ </ajc-test>
+
+ <ajc-test dir="pureJava" title="Lifting locals in switch statements."
+ keywords="from-java">
+ <compile files="SwitchStmtLocals.java"/>
+ <run class="SwitchStmtLocals"/>
+ </ajc-test>
+
+ <ajc-test dir="pureJava"
+ title="Getting confused when looking up method signatures"
+ keywords="from-java">
+ <compile files="MethodSigs.java"/>
+ <run class="MethodSigs"/>
+ </ajc-test>
+
+ <ajc-test dir="pureJava"
+ title="Not recognizing the chars '\0', '\1', '\2', '\3', '\4', '\5', '\6', '\7'"
+ keywords="from-java">
+ <compile files="Chars.java"/>
+ <run class="Chars"/>
+ </ajc-test>
+
+ <ajc-test dir="pureJava"
+ title="Test chars '\0', '\1', '\2', '\3', '\4', '\5', '\6', '\7' with a case statement"
+ keywords="from-java">
+ <compile files="CaseClauses.java"/>
+ <run class="CaseClauses"/>
+ </ajc-test>
+
+ <ajc-test dir="pureJava"
+ title="Checking character values with all the unicode chars."
+ keywords="from-java">
+ <compile files="CharsUnicode.java"/>
+ <run class="CharsUnicode"/>
+ </ajc-test>
+
+ <ajc-test dir="pureJava"
+ title="Trouble finding methods with the same name and different parameter types"
+ keywords="from-java">
+ <compile files="MethodsWithTheSameName.java"/>
+ <run class="MethodsWithTheSameName"/>
+ </ajc-test>
+
+ <ajc-test dir="pureJava"
+ title="Binding non-public static inner classes of interfaces in other packages"
+ keywords="from-java">
+ <compile
+ files="StaticClassesInInterfaces.java,anotherPackage/AnotherPackageInterface.java"/>
+ <run class="StaticClassesInInterfaces"/>
+ </ajc-test>
+
+ <ajc-test dir="pureJava"
+ title="Not recognizing the octal chars '\0', '\1', '\2', '\3', '\4', '\5', '\6', '\7'"
+ keywords="from-java">
+ <compile files="OctalChars.java"/>
+ <run class="OctalChars"/>
+ </ajc-test>
+
+ <ajc-test dir="pureJava"
+ title="Members with the same name as their package cause confusion with fully-qualified names."
+ keywords="from-java">
+ <compile files="samenames/Main.java,samenames/Other.java"/>
+ <run class="samenames.Main"/>
+ </ajc-test>
+
+ <ajc-test dir="pureJava"
+ title="Fully-qual'ed names with same start as variable names"
+ keywords="from-java">
+ <compile files="FullNames.java"/>
+ <run class="FullNames"/>
+ </ajc-test>
+
+ <ajc-test dir="pureJava"
+ title="Fully qualifying inner classes within annonymous classes causes problems."
+ keywords="from-java">
+ <compile files="InnerClassesInAnnonymousClasses.java"/>
+ <run class="InnerClassesInAnnonymousClasses"/>
+ </ajc-test>
+
+ <ajc-test dir="pureJava"
+ title="Calls to methods in outer annonymous classes are being qual's incorrectly with 'this'"
+ keywords="from-java">
+ <compile files="MisplacedThisInAnnonymousInnerClasses.java"/>
+ <run class="MisplacedThisInAnnonymousInnerClasses"/>
+ </ajc-test>
+
+ <ajc-test dir="pureJava/innersFromSourceAndBytecode"
+ title="Reading inner classes from source and bytecode (1) -- was failing"
+ keywords="from-java">
+ <compile files="C.java,D.java"/>
+ <compile files="Main.java,C.java"/>
+ <run class="Main"/>
+ </ajc-test>
+
+ <ajc-test dir="pureJava/innersFromSourceAndBytecode"
+ title="Reading inner classes from source and bytecode (2)"
+ keywords="from-java">
+ <compile files="Main.java,C.java,D.java"/>
+ <run class="Main"/>
+ </ajc-test>
+
+ <ajc-test dir="pureJava/innersFromSourceAndBytecode"
+ title="Reading inner classes from source and bytecode (3)"
+ keywords="from-java">
+ <compile files="C.java,D.java"/>
+ <compile files="Main.java,C.java,D.java"/>
+ <run class="Main"/>
+ </ajc-test>
+
+ <ajc-test dir="pureJava"
+ title="Not lifting types correctly with bytes and shorts with ternary ops"
+ keywords="from-java">
+ <compile files="TernaryPrimitiveOps.java"/>
+ <run class="TernaryPrimitiveOps"/>
+ </ajc-test>
+
+ <ajc-test dir="pureJava"
+ title="Not looking up methods inside of anonymous declarations correctly."
+ keywords="from-java">
+ <compile files="AnonymousMethodLookup.java"/>
+ <run class="AnonymousMethodLookup"/>
+ </ajc-test>
+
+ <ajc-test dir="pureJava"
+ title="Resolving extended classes with array parameters"
+ keywords="from-java">
+ <compile files="ResolvingArrayParameters.java"/>
+ <run class="ResolvingArrayParameters"/>
+ </ajc-test>
+
+ <ajc-test dir="pureJava"
+ title="Assignments as second arguments in ternary operators."
+ keywords="from-java">
+ <compile files="TernaryAssignments.java"/>
+ <run class="TernaryAssignments"/>
+ </ajc-test>
+
+ <ajc-test dir="pureJava" title="Using 'aspect' as identifier is legal TODO"
+ keywords="from-java,purejava">
+ <compile files="KeywordAspect.java"/>
+ <run class="KeywordAspect"/>
+ </ajc-test>
+
+ <ajc-test dir="pureJava"
+ title="Using 'pointcut' as identifier is legal TODO"
+ keywords="from-java,purejava">
+ <compile files="KeywordPointcut.java"/>
+ <run class="KeywordPointcut"/>
+ </ajc-test>
+
+ <ajc-test dir="pureJava" title="Conflicting inner classes with interfaces."
+ keywords="from-java">
+ <compile files="PR413.java"/>
+ <run class="PR413"/>
+ </ajc-test>
+
+ <ajc-test dir="new" pr="408"
+ title="Not binding constructor when using more than one compilation"
+ keywords="from-java,purejava">
+ <compile files="OuterAbstract_PR408.java"/>
+ <compile files="ExtendsOuterAbstract_PR408.java"/>
+ <compile files="ConstructorNotFound_PR408.java"/>
+ <run class="ConstructorNotFound_PR408"/>
+ </ajc-test>
+
+ <ajc-test dir="pureJava" title="confusions of casts and parens"
+ keywords="from-java">
+ <compile files="CastVsParen.java"/>
+ <run class="CastVsParen"/>
+ </ajc-test>
+
+ <ajc-test dir="pureJava"
+ title="default constructors seen by inner classes subtyping outers"
+ keywords="from-java">
+ <compile files="DefaultConsAndInner.java"/>
+ <run class="DefaultConsAndInner"/>
+ </ajc-test>
+
+ <ajc-test dir="pureJava"
+ title="folding fields set to anonymous instances containing self-references"
+ keywords="from-java">
+ <compile files="AnonFolding.java"/>
+ <run class="AnonFolding"/>
+ </ajc-test>
+
+ <ajc-test dir="pureJava"
+ title="finally at the end of a method that needs to return"
+ keywords="from-java">
+ <compile files="FinallyAndReturns.java"/>
+ <run class="FinallyAndReturns"/>
+ </ajc-test>
+
+ <ajc-test dir="pureJava" title="return;;; is not really legal"
+ keywords="from-java,purejava">
+ <compile files="ReachableEmpty.java">
+ <message kind="error" line="5"/>
+ <message kind="error" line="9"/>
+ <message kind="error" line="13"/>
+ <message kind="error" line="17"/>
+ </compile>
+ </ajc-test>
+
+ <ajc-test dir="new"
+ title="ajc treating Throwable as checked, issuing error if not found"
+ keywords="from-java,purejava">
+ <compile files="FalseThrowsCE.java"/>
+ <run class="FalseThrowsCE"/>
+ </ajc-test>
+
+ <ajc-test dir="pureJava"
+ title="overriding methods from object in interfaces and multiple-inheritance"
+ keywords="from-java">
+ <compile files="InterfaceAndObject.java"/>
+ <run class="InterfaceAndObject"/>
+ </ajc-test>
+
+ <ajc-test dir="pureJava"
+ title="private fields in an outer class accessed by an inner which also extends the outer"
+ keywords="from-java">
+ <compile files="PrivateFields.java"/>
+ <run class="PrivateFields"/>
+ </ajc-test>
+
+ <ajc-test dir="pureJava"
+ title="breaking out of a labeled block inside of an if"
+ keywords="from-java">
+ <compile files="Breaks.java"/>
+ <run class="Breaks"/>
+ </ajc-test>
+
+ <ajc-test dir="pureJava"
+ title="abstractifying a method and getting it back through super"
+ keywords="from-java">
+ <compile files="Abstracts.java"/>
+ <run class="Abstracts"/>
+ </ajc-test>
+
+ <ajc-test dir="new" pr="328"
+ title="package protected classes becoming public"
+ keywords="from-java,purejava">
+ <compile files="PR328.java"/>
+ <run class="PR328"/>
+ </ajc-test>
+
+ <ajc-test dir="pureJava"
+ title="Packages and static classes with the same name produce compile errors."
+ keywords="from-java">
+ <compile files="PackagesAndStaticClassesWithTheSameName.java"/>
+ <run class="PackagesAndStaticClassesWithTheSameName"/>
+ </ajc-test>
+
+ <ajc-test dir="pureJava/innerTypeModifiers"
+ title="Inner types must generate classfiles with only Public/Default access flags."
+ keywords="from-java">
+ <compile files="pkg1/Main.java,pkg2/Foo.java"/>
+ <run class="pkg1.Main"/>
+ </ajc-test>
+
+ <ajc-test dir="pureJava/innerDefaultConstructors"
+ title="Default constructors have same access as their enclosing type"
+ keywords="from-java">
+ <compile files="pkg1/Main.java,pkg2/Foo.java">
+ <message kind="error" line="6"/>
+ </compile>
+ </ajc-test>
+
+ <ajc-test dir="pureJava"
+ title="Returning primitive values matching method return type (minimal)"
+ keywords="from-java">
+ <compile files="ReturnTypes.java"/>
+ <run class="ReturnTypes"/>
+ </ajc-test>
+
+ <ajc-test dir="pureJava" title="Flow analysis and if(true)"
+ keywords="from-java">
+ <compile files="Flow.java"/>
+ <run class="Flow"/>
+ </ajc-test>
+
+ <ajc-test dir="pureJava"
+ title="packages and generated inner types (for I.class)"
+ keywords="from-java">
+ <compile files="InterfaceAndClass.java"/>
+ <run class="p.InterfaceAndClass"/>
+ </ajc-test>
+
+ <ajc-test dir="pureJava" title="A.this exprs match by exact type matching"
+ keywords="from-java">
+ <compile files="QualifiedThisMatchesExactly.java">
+ <message kind="error" line="14"/>
+ </compile>
+ </ajc-test>
+
+ <ajc-test dir="pureJava"
+ title="Implicit this for new inner instance must be avaliable"
+ keywords="from-java">
+ <compile files="ImplicitThisMissing.java">
+ <message kind="error" line="4"/>
+ </compile>
+ </ajc-test>
+
+ <ajc-test dir="pureJava"
+ title="Inners can reference protected fields of their outer's super."
+ keywords="from-java">
+ <compile
+ files="protectedFieldRefInInner/Main.java,protectedFieldRefInInner/p1/C.java"/>
+ <run class="protectedFieldRefInInner.Main"/>
+ </ajc-test>
+
+ <ajc-test dir="new" title="IOException on windows if nul used as identifier"
+ keywords="from-java,purejava">
+ <compile files="NulIOException.java">
+ <message kind="error" line="12"/>
+ <message kind="error" line="14"/>
+ <message kind="error" line="17"/>
+ </compile>
+ </ajc-test>
+
+ <ajc-test dir="new"
+ title="NullPointerException (not compiler error) when extending non-static inner class"
+ keywords="from-java,purejava">
+ <compile files="ExtendInnerCE.java">
+ <message kind="error" line="3"/>
+ </compile>
+ </ajc-test>
+
+ <ajc-test dir="new"
+ title="compiler flags final static variable as indefinite in member assignment."
+ keywords="from-java,purejava">
+ <compile files="DefiniteStatic.java"/>
+ <run class="DefiniteStatic"/>
+ </ajc-test>
+
+ <ajc-test dir="new"
+ title="confirm no IOException on windows if nul used as identifier"
+ keywords="from-java,purejava">
+ <compile files="NulIOException2.java"/>
+ <run class="NulIOException2"/>
+ </ajc-test>
+
+ <ajc-test dir="pureJava"
+ title="Primitives that special case for a constant arm should work"
+ keywords="from-java">
+ <compile files="OneArmedPrimitiveTests.java"/>
+ <run class="OneArmedPrimitiveTests"/>
+ </ajc-test>
+
+ <ajc-test dir="pureJava" title="Parenthesized true and false don't parse"
+ keywords="from-java">
+ <compile files="ParenKeywords.java"/>
+ <run class="ParenKeywords"/>
+ </ajc-test>
+
+ <ajc-test dir="pureJava"
+ title="Field sets to public fields of private fields of enclosing types"
+ keywords="from-java">
+ <compile files="InnerFieldRef.java"/>
+ <run class="InnerFieldRef"/>
+ </ajc-test>
+
+ <ajc-test dir="pureJava"
+ title="Constant values should be stored with the correct type of their fields"
+ keywords="from-java">
+ <compile files="ConstantValueConversion.java"/>
+ <run class="ConstantValueConversion"/>
+ </ajc-test>
+
+ <ajc-test dir="pureJava"
+ title="Local variables in initializers should not be treated as blank final fields"
+ keywords="from-java">
+ <compile files="LocalInitializerVariableNotBlank.java"/>
+ <run class="LocalInitializerVariableNotBlank"/>
+ </ajc-test>
+
+ <ajc-test dir="pureJava"
+ title="Binops aren't allowed as update stmts in for loops"
+ keywords="from-java">
+ <compile files="NonStmtInFor.java">
+ <message kind="error" line="3"/>
+ </compile>
+ </ajc-test>
+
+ <ajc-test dir="pureJava"
+ title="Can't avoid doing division in case of div by zero"
+ keywords="from-java">
+ <compile files="DivOpMustHappen.java"/>
+ <run class="DivOpMustHappen"/>
+ </ajc-test>
+
+ <ajc-test dir="pureJava"
+ title="Testing frames w/greater than FF locals and 7F incs (i.e., WIDE instruction)"
+ keywords="from-java">
+ <compile files="BigFrameTest.java"/>
+ <run class="BigFrameTest"/>
+ </ajc-test>
+
+ <ajc-test dir="pureJava" title="correct numeric literals"
+ keywords="from-java">
+ <compile files="LiteralsCp.java"/>
+ <run class="LiteralsCp"/>
+ </ajc-test>
+
+ <ajc-test dir="pureJava" title="invalid numeric literals"
+ keywords="from-java">
+ <compile files="LiteralsCf.java">
+ <message kind="error" line="8"/>
+ <message kind="error" line="9"/>
+ <message kind="error" line="10"/>
+ <message kind="error" line="11"/>
+ <message kind="error" line="12"/>
+ <message kind="error" line="17"/>
+ <message kind="error" line="18"/>
+ <message kind="error" line="19"/>
+ <message kind="error" line="20"/>
+ <message kind="error" line="21"/>
+ <message kind="error" line="22"/>
+ <message kind="error" line="23"/>
+ <message kind="error" line="25"/>
+ <message kind="error" line="27"/>
+ <message kind="error" line="28"/>
+ <message kind="error" line="29"/>
+ <message kind="error" line="30"/>
+ <message kind="error" line="32"/>
+ </compile>
+ </ajc-test>
+
+ <ajc-test dir="pureJava" pr="538"
+ title="inner types can't have the same simple name as an enclosing type"
+ keywords="from-java">
+ <compile files="InnerNameConflictsCf.java">
+ <message kind="error" line="9"/>
+ <message kind="error" line="14"/>
+ <message kind="error" line="20"/>
+ <message kind="error" line="21"/>
+ </compile>
+ </ajc-test>
+
+ <ajc-test dir="pureJava"
+ title="test the unops and binops with various values" keywords="from-java">
+ <compile files="BigOps.java"/>
+ <run class="BigOps"/>
+ </ajc-test>
+
+ <ajc-test dir="pureJava"
+ title="test + and += for strings and variously typed values"
+ keywords="from-java">
+ <compile files="BigString.java"/>
+ <run class="BigString"/>
+ </ajc-test>
+
+ <ajc-test dir="pureJava" title="test try/catch/finally statements"
+ keywords="from-java">
+ <compile files="TryCatchFinally.java"/>
+ <run class="TryCatchFinally"/>
+ </ajc-test>
+
+
+ <ajc-test dir="pureJava" pr="547"
+ title="local types can be bound in the signatures of other local types"
+ keywords="from-resolved_10rc3,from-java">
+ <compile files="LocalInners.java"/>
+ <run class="LocalInners"/>
+ </ajc-test>
+
+ <ajc-test dir="new"
+ title="final constructor parameter causes incorrect compiler error"
+ keywords="from-java,purejava">
+ <compile files="FinalConstructorParm.java"/>
+ <run class="FinalConstructorParm"/>
+ </ajc-test>
+
+ <ajc-test dir="new" title="Error expected for field of type void"
+ keywords="from-java,purejava">
+ <compile files="VoidField.java">
+ <message kind="error" line="2"/>
+ <message kind="error" line="4"/>
+ <message kind="error" line="6"/>
+ </compile>
+ </ajc-test>
+
+ <ajc-test dir="new" title="Error expected for constructor in interfaces"
+ keywords="from-java">
+ <compile files="InterfaceConstructor.java">
+ <message kind="error" line="2"/>
+ <message kind="error" line="6"/>
+ <message kind="error" line="8"/>
+ </compile>
+ </ajc-test>
+
+ <ajc-test dir="new" pr="558"
+ title="class name for identifier as String should provoke error"
+ keywords="from-java,purejava">
+ <compile files="PR558.java">
+ <message kind="error" line="4"/>
+ </compile>
+ </ajc-test>
+
+ <ajc-test dir="new" pr="567"
+ title="cyclic interface inheritance not detected if no classes implement the interfaces"
+ keywords="from-java,purejava,messages-vary">
+ <compile files="CyclicInterfaceInheritance.java"
+ options="!eclipse">
+ <message kind="error" line="14"/>
+ <message kind="error" line="15"/>
+ </compile>
+ </ajc-test>
+
+ <ajc-test dir="new" pr="567" title="cyclic class inheritance"
+ keywords="from-java,purejava">
+ <compile files="CyclicClassInheritance.java">
+ <message kind="error" line="11"/>
+ <message kind="error" line="12"/>
+ </compile>
+ </ajc-test>
+
+ <ajc-test dir="pureJava" title="Type names are not expressions on their own"
+ keywords="from-java,purejava">
+ <compile files="TypeExprErrors.java">
+ <message kind="error" line="10"/>
+ <message kind="error" line="17"/>
+ <message kind="error" line="18"/>
+ <message kind="error" line="19"/>
+ <message kind="error" line="20"/>
+ <message kind="error" line="21"/>
+ <message kind="error" line="22"/>
+ <message kind="error" line="23"/>
+ <message kind="error" line="24"/>
+ <message kind="error" line="25"/>
+ <message kind="error" line="26"/>
+ <message kind="error" line="27"/>
+ <message kind="error" line="28"/>
+ <message kind="error" line="29"/>
+ <message kind="error" line="30"/>
+ <message kind="error" line="31"/>
+ <message kind="error" line="32"/>
+ <message kind="error" line="33"/>
+ <message kind="error" line="34"/>
+ <message kind="error" line="36"/>
+ <message kind="error" line="37"/>
+ </compile>
+ </ajc-test>
+
+ <ajc-test dir="pureJava/nameConflicts"
+ title="type and package name conflicts are resolved happily (1a)"
+ keywords="from-java,purejava">
+ <compile files="p1/Main1.java,p1/Foo.java,p1/p2.java"/>
+ <run class="p1.Main1"/>
+ </ajc-test>
+
+ <ajc-test dir="pureJava/nameConflicts"
+ title="(fails in USEJAVAC) type and package name conflicts are resolved happily (1b)"
+ keywords="from-java,purejava">
+ <compile files="p1.java,p1/p2/Foo.java"/>
+ <compile files="p1/Main1.java,p1/Foo.java,p1/p2.java"/>
+ <run class="p1.Main1"/>
+ </ajc-test>
+
+ <ajc-test dir="pureJava/nameConflicts"
+ title="type and package name conflicts are resolved happily (2)"
+ keywords="from-java">
+ <compile files="p1/Main2.java,p1/p2/Foo.java"/>
+ <run class="p1.Main2"/>
+ </ajc-test>
+
+ <ajc-test dir="pureJava/nameConflicts"
+ title="type and package name conflicts caught as errors (1)"
+ keywords="from-java,purejava">
+ <compile files="p1/p2.java,p1/Main1.java,p1/Foo.java,p1/p2/Foo.java">
+ <message kind="error" line="3"/>
+ </compile>
+ </ajc-test>
+
+ <ajc-test dir="pureJava"
+ title="flow analysis where final variable set in another constructor"
+ keywords="from-java,purejava">
+ <compile files="ConstructorFlow.java"/>
+ <run class="ConstructorFlow"/>
+ </ajc-test>
+
+ <ajc-test dir="new" pr="584"
+ title="Can construct inner classes using qualified expressions"
+ keywords="from-java,purejava">
+ <compile files="PR584.java"/>
+ <run class="PR584"/>
+ </ajc-test>
+
+ <ajc-test dir="new/protectedStatic" pr="585"
+ title="subclass unable to access protected static methods using type-qualified references"
+ keywords="from-java,purejava">
+ <compile files="SubClass.java,pack/SuperClass.java"/>
+ <run class="SubClass"/>
+ </ajc-test>
+
+ <ajc-test dir="new" pr="588" title="Undefined inner class constructor"
+ keywords="from-java,purejava">
+ <compile files="UndefinedInner.java">
+ <message kind="error" line="6"/>
+ </compile>
+ </ajc-test>
+
+ <ajc-test dir="pureJava"
+ title="try statements work sorta like scoped items for exception flow control"
+ keywords="from-java">
+ <compile files="TryWorksLikeEnvironment.java"/>
+ <run class="TryWorksLikeEnvironment"/>
+ </ajc-test>
+
+ <ajc-test dir="pureJava"
+ title="qualified this must work exactly, not based on subtypes"
+ keywords="from-java">
+ <compile files="QualifiedThisExactness.java">
+ <message kind="error" line="6"/>
+ </compile>
+ </ajc-test>
+
+ <ajc-test dir="new/packagePrefix" pr="574"
+ title="classes that are package prefixes are illegal"
+ keywords="from-java,purejava,messages-vary">
+ <compile files="p/prefix.java,p/prefix/SomeClass.java"
+ options="!eclipse">
+ <message kind="error" line="2"/>
+ </compile>
+ </ajc-test>
+
+ <ajc-test dir="new/introTypeMissing"
+ title="valid type expressions for introduced type testing"
+ keywords="from-java,purejava">
+ <compile files="TargetClass.java,Util.java"/>
+ <run class="TargetClass"/>
+ </ajc-test>
+
+ <ajc-test dir="new/introTypeMissing"
+ title="CF expected when enclosing class superclass used as this qualifier in inner class"
+ keywords="from-java">
+ <compile files="TargetClassCF.java,Util.java">
+ <message kind="error" line="22"/>
+ <message kind="error" line="23"/>
+ <message kind="error" line="27"/>
+ <message kind="error" line="28"/>
+ </compile>
+ </ajc-test>
+
+ <ajc-test dir="new/introTypeMissing"
+ title="enclosing class may be used as this qualifier in inner class"
+ keywords="from-java">
+ <compile files="TargetClassCP.java,Util.java"/>
+ <run class="TargetClassCP"/>
+ </ajc-test>
+
+ <ajc-test dir="new"
+ title="PR591 compiler error expected when directly calling unimplemented abstract method using super"
+ keywords="from-java,purejava">
+ <compile files="AbstractMethodCall.java">
+ <message kind="error" line="10"/>
+ </compile>
+ </ajc-test>
+
+ <ajc-test dir="pureJava"
+ title="suggested by Jacks 15.28-qualified-namestr tests"
+ keywords="from-java,purejava,messages-vary">
+ <compile files="NonConstants.java"
+ options="!eclipse">
+ <message kind="error" line="13"/>
+ <message kind="error" line="14"/>
+ <message kind="error" line="15"/>
+ <message kind="error" line="16"/>
+ <message kind="error" line="17"/>
+ </compile>
+ </ajc-test>
+
+ <ajc-test dir="pureJava"
+ title="nested finally blocks have interesting frame location problems"
+ keywords="from-java">
+ <compile files="NestedFinally.java"/>
+ <run class="NestedFinally"/>
+ </ajc-test>
+
+ <ajc-test dir="pureJava"
+ title="suggested by jacks 3.7-15 all comments must be closed"
+ keywords="from-java,purejava">
+ <compile files="OpenComment.java">
+ <message kind="error" line="7"/>
+ </compile>
+ </ajc-test>
+
+ <ajc-test dir="pureJava" pr="601"
+ title="nested synchronized blocks have interesting frame location problems"
+ keywords="from-java">
+ <compile files="NestedSynchronized.java"/>
+ <run class="NestedSynchronized"/>
+ </ajc-test>
+
+ <ajc-test dir="new/classaccess"
+ title="package class access not enforced outside of package"
+ keywords="from-java,purejava">
+ <compile files="main/Main.java,pack1/Target.java">
+ <message kind="error" line="7"/>
+ </compile>
+ </ajc-test>
+
+ <ajc-test dir="new" pr="631" title="expecting CE for ambiguous reference"
+ keywords="from-java,purejava">
+ <compile files="AmbiguousClassReference.java">
+ <message kind="error" line="11"/>
+ </compile>
+ </ajc-test>
+
+ <ajc-test dir="new" pr="643" title="try without catch or finally"
+ keywords="from-java,purejava,message-vary">
+ <compile files="TryNoCatchCE.java"
+ options="!eclipse">
+ <message kind="error" line="6"/>
+ </compile>
+ </ajc-test>
+
+ <ajc-test dir="new" pr="642" title="invalid floating-point constant"
+ keywords="from-java,purejava,messages-vary">
+ <compile files="ParsingFloatCE.java"
+ options="!eclipse">
+ <message kind="error" line="5"/>
+ </compile>
+ </ajc-test>
+
+ <ajc-test dir="pureJava" title="anonymous inner classes with inner types"
+ keywords="from-java">
+ <compile files="AnonymousWithInner.java"/>
+ <run class="AnonymousWithInner"/>
+ </ajc-test>
+
+ <ajc-test dir="pureJava" pr="651" title="qualified super call expr"
+ keywords="from-java">
+ <compile files="QualifiedSuperCall.java"/>
+ <run class="QualifiedSuperCall"/>
+ </ajc-test>
+
+ <ajc-test dir="new/subaspects" pr="647"
+ title="concrete aspect unable to access abstract package-private method in parent for overriding"
+ keywords="from-java,purejava,messages-vary"
+ comment="XXX fix source - package-private">
+ <compile files="parent/ParentMethodCE.java,child/ChildMethodCE.java"
+ options="!eclipse">
+ <message kind="warning" line="28"/>
+ <message kind="error" line="27"/>
+ </compile>
+ </ajc-test>
+
+ <ajc-test dir="new"
+ title="super reference used to disambiguate names of different but compatible types"
+ keywords="from-java,purejava">
+ <compile files="SuperDisambiguatingType.java"/>
+ <run class="SuperDisambiguatingType"/>
+ </ajc-test>
+
+ <ajc-test dir="pureJava" title="anonymous explicit inner constructors"
+ keywords="from-java,purejava">
+ <compile files="QualifiedNewCP.java"/>
+ <run class="QualifiedNewCP"/>
+ </ajc-test>
+
+ <ajc-test dir="pureJava" pr="680"
+ title="interfaces with non-explicitly static inner classes"
+ keywords="from-java">
+ <compile files="InterfaceAndInnerHelper.java"/>
+ <compile files="InterfaceAndInner.java"/>
+ <run class="InterfaceAndInner"/>
+ </ajc-test>
+
+ <ajc-test dir="pureJava"
+ title="Overruning the lineStarts buffer, DO NOT EDIT THIS FILE!!!!"
+ keywords="from-java,purejava">
+ <compile files="AJError.java"/>
+ <run class="AJError"/>
+ </ajc-test>
+
+ <ajc-test dir="new" pr="701" title="no CE for unambiguous type reference"
+ keywords="from-java,purejava">
+ <compile files="UnambiguousClassReference3CP.java"/>
+ <run class="UnambiguousClassReference3CP"/>
+ </ajc-test>
+
+ <ajc-test dir="new" pr="701"
+ title="CE for ambiguous type reference (imports)"
+ keywords="from-java,purejava">
+ <compile files="AmbiguousClassReference2CE.java">
+ <message kind="error" line="2"/>
+ <message kind="error" line="10"/>
+ </compile>
+ </ajc-test>
+
+ <ajc-test dir="new" pr="701"
+ title="CE for ambiguous type reference (two type declarations)"
+ keywords="from-java,purejava,messages-vary">
+ <compile files="AmbiguousClassReference3CE.java"
+ options="!eclipse">
+ <message kind="error" line="10"/>
+ </compile>
+ </ajc-test>
+
+ <ajc-test dir="new" pr="701"
+ title="CE for ambiguous type reference (two inner types)"
+ keywords="from-java,purejava,messages-vary">
+ <compile files="AmbiguousClassReference4CE.java"
+ options="!eclipse">
+ <message kind="error" line="10"/>
+ </compile>
+ </ajc-test>
+
+ <ajc-test dir="new" pr="709" title="final assignment in loop"
+ keywords="from-java,purejava">
+ <compile files="FinalInLoop.java"/>
+ <run class="FinalInLoop"/>
+ </ajc-test>
+
+ <ajc-test dir="pureJava" title="private super access in inners"
+ keywords="from-java,purejava">
+ <compile files="PrivateSuperInnerAccess.java"/>
+ <run class="PrivateSuperInnerAccess"/>
+ </ajc-test>
+
+ <ajc-test dir="pureJava"
+ title="nested interface does not require new qualifier (8)"
+ keywords="from-java,purejava">
+ <compile files="InvalidNewQualifier8CE.java">
+ <message kind="error" line="8"/>
+ </compile>
+ </ajc-test>
+
+ <ajc-test dir="pureJava"
+ title="nested interface does not require new qualifier (9)"
+ keywords="from-java,purejava">
+ <compile files="InvalidNewQualifier9CE.java">
+ <message kind="error" line="9"/>
+ </compile>
+ </ajc-test>
+
+ <ajc-test dir="pureJava"
+ title="nested interface does not require new qualifier (10)"
+ keywords="from-java,purejava">
+ <compile files="InvalidNewQualifier10CE.java">
+ <message kind="error" line="10"/>
+ </compile>
+ </ajc-test>
+
+ <ajc-test dir="pureJava"
+ title="nested interface does not require new qualifier (14)"
+ keywords="from-java,purejava">
+ <compile files="InvalidNewQualifier14CE.java">
+ <message kind="error" line="14"/>
+ </compile>
+ </ajc-test>
+
+ <ajc-test dir="pureJava"
+ title="nested interface does not require new qualifier (15)"
+ keywords="from-java,purejava">
+ <compile files="InvalidNewQualifier15CE.java">
+ <message kind="error" line="15"/>
+ </compile>
+ </ajc-test>
+
+ <ajc-test dir="pureJava"
+ title="nested interface does not require new qualifier (16)"
+ keywords="from-java,purejava">
+ <compile files="InvalidNewQualifier16CE.java">
+ <message kind="error" line="16"/>
+ </compile>
+ </ajc-test>
+
+ <ajc-test dir="pureJava" title="Operands work correctly"
+ keywords="from-bigjava">
+ <compile files="Ops.java"/>
+ <run class="Ops"/>
+ </ajc-test>
+
+ <ajc-test dir="errors"
+ title="reasonable error for crosscut reference with no formals specified"
+ keywords="from-errors">
+ <compile files="NoFormalsCrosscut.java">
+ <message kind="error" line="6"/>
+ <message kind="error" line="7"/>
+ <message kind="error" line="8"/>
+ </compile>
+ </ajc-test>
+
+ <ajc-test dir="errors"
+ title="reasonable error for introduction on type whose source isn't found"
+ keywords="from-errors">
+ <compile files="NoSource.java">
+ <message kind="error" line="4"/>
+ </compile>
+ </ajc-test>
+
+ <ajc-test dir="errors"
+ title="check that constructor name's match the enclosing type"
+ keywords="from-errors,purejava">
+ <compile files="BadConstructorName.java">
+ <message kind="error" line="4"/>
+ </compile>
+ </ajc-test>
+
+ <ajc-test dir="errors"
+ title="handle errors in crosscut designators, insist that they end with a semicolon"
+ keywords="from-errors">
+ <compile files="BadDesignator.java">
+ <message kind="error" line="4"/>
+ </compile>
+ </ajc-test>
+
+ <ajc-test dir="errors"
+ title="errors for not applicable or accessible methods"
+ keywords="from-errors,purejava">
+ <compile files="MethodsNotFound.java">
+ <message kind="error" line="4"/>
+ <message kind="error" line="8"/>
+ <message kind="error" line="12"/>
+ </compile>
+ </ajc-test>
+
+ <ajc-test dir="errors"
+ title="try to return from a before, after, after throwing and after returning"
+ keywords="from-errors">
+ <compile files="InvalidReturn.java">
+ <message kind="error" line="12"/>
+ <message kind="error" line="16"/>
+ <message kind="error" line="19"/>
+ <message kind="error" line="22"/>
+ </compile>
+ </ajc-test>
+
+ <ajc-test dir="errors" pr="130"
+ title="the designator has a wildcard for method name but no return type specified"
+ keywords="from-errors">
+ <compile files="NoReturnTypeInDesignator.java">
+ <message kind="error" line="6"/>
+ </compile>
+ </ajc-test>
+
+ <ajc-test dir="errors"
+ title="the designator for the introduction has no type after the | charcter"
+ keywords="from-errors">
+ <compile files="BadIntroductionDesignator.java">
+ <message kind="error" line="6"/>
+ </compile>
+ </ajc-test>
+
+ <ajc-test dir="errors" pr="140" title="crosscut signature does not match"
+ keywords="from-errors">
+ <compile files="BadCCutSig.java">
+ <message kind="error" line="8"/>
+ </compile>
+ </ajc-test>
+
+ <ajc-test dir="errors"
+ title="proper exit conditions when errors fall through to javac"
+ keywords="from-errors">
+ <compile files="FromJavac.java">
+ <message kind="error" line="11"/>
+ </compile>
+ </ajc-test>
+
+ <ajc-test dir="errors" pr="213"
+ title="mismatched parens on advice (wasn't binding Tester)"
+ keywords="from-errors">
+ <compile files="MismatchedParens.java">
+ <message kind="error" line="16"/>
+ <message kind="error" line="17"/>
+ </compile>
+ </ajc-test>
+
+ <ajc-test dir="errors" pr="209" title="Non-static advice silently ignored"
+ keywords="from-errors">
+ <compile files="BadPointcutName.java">
+ <message kind="error" line="15"/>
+ </compile>
+ </ajc-test>
+
+ <ajc-test dir="errors" pr="218"
+ title="import statement within class body crashes compiler"
+ keywords="from-errors">
+ <compile files="ImportWithinClassBody.java">
+ <message kind="error" line="8"/>
+ </compile>
+ </ajc-test>
+
+ <ajc-test dir="errors" pr="219" title="extra closing brace"
+ keywords="from-errors">
+ <compile files="ExtraClosingBrace.java">
+ <message kind="error" line="9"/>
+ <message kind="error" line="10"/>
+ </compile>
+ </ajc-test>
+
+ <ajc-test dir="errors" pr="244"
+ title="decent errors for around return type not matching target point"
+ keywords="from-errors">
+ <compile files="AroundReturnType.java">
+ <message kind="error" line="16"/>
+ <message kind="error" line="21"/>
+ </compile>
+ </ajc-test>
+
+ <ajc-test dir="errors" title="eachobject: can't call new on an aspect of"
+ keywords="from-errors">
+ <compile files="CantCallConstructorOnAspects.java">
+ <message kind="error" line="4"/>
+ </compile>
+ </ajc-test>
+
+ <ajc-test dir="errors"
+ title="eachobject: only zero-argument constructors allowed in an aspect"
+ keywords="from-errors,fail-unimplemented">
+ <compile files="AspectsCantHaveYesArgumentConstructors.java">
+ <message kind="error" line="8"/>
+ </compile>
+ </ajc-test>
+
+ <ajc-test dir="errors" title="eachobject: can't extend a concrete aspect"
+ keywords="from-errors,fail-unimplemented">
+ <compile files="SubAspectsCantExtendNonAbstractAspects.java">
+ <message kind="error" line="14"/>
+ </compile>
+ </ajc-test>
+
+ <ajc-test dir="errors" pr="271" title="instanceof used without a class"
+ keywords="from-errors">
+ <compile files="InstanceofWithoutClass.java">
+ <message kind="error" line="14"/>
+ </compile>
+ </ajc-test>
+
+ <ajc-test dir="errors" pr="280" title="wildcard used for returns clause"
+ keywords="from-errors">
+ <compile files="WildcardForReturns.java">
+ <message kind="error" line="17"/>
+ </compile>
+ </ajc-test>
+
+ <ajc-test dir="errors" pr="280" title="no return statement in around advice"
+ keywords="from-errors,new-messages-vary">
+ <compile files="NoReturnStatement.java">
+ <message kind="error" line="15"/>
+ </compile>
+ </ajc-test>
+
+ <ajc-test dir="errors" pr="286"
+ title="inner aspects must be static (no longer matches PR#286)"
+ keywords="from-errors,fail-unimplemented">
+ <compile files="AbstractAspectOf.java">
+ <message kind="error" line="12"/>
+ </compile>
+ </ajc-test>
+
+ <ajc-test dir="errors"
+ title="Casting class declarations as interfaces"
+ keywords="from-errors">
+ <compile files="InterfaceCast.java">
+ <message kind="error" line="14"/>
+ </compile>
+ </ajc-test>
+
+ <ajc-test dir="errors"
+ title="omits a variable name and crashes with a null pointer"
+ keywords="from-errors">
+ <compile files="BindingNullPointer.java">
+ <message kind="error" line="7"/>
+ </compile>
+ </ajc-test>
+
+ <ajc-test dir="errors"
+ title="Not generating an error for using new as a method name"
+ keywords="from-errors">
+ <compile files="New.java">
+ <message kind="error" line="12"/>
+ </compile>
+ </ajc-test>
+
+ <ajc-test dir="errors" title="ClassCastException on the int literal"
+ keywords="from-errors">
+ <compile files="IntLiteral.java">
+ <message kind="error" line="17"/>
+ </compile>
+ </ajc-test>
+
+ <ajc-test dir="new"
+ title="Wrong strictfp keyword usage in interface function prototype [TODO: move to errors]"
+ keywords="from-errors">
+ <compile files="StrictFpCErr1.java">
+ <message kind="error" line="3"/>
+ </compile>
+ </ajc-test>
+
+ <ajc-test dir="new"
+ title="Wrong strictfp keyword usage in field declaration [TODO: move to errors]"
+ keywords="from-errors">
+ <compile files="StrictFpCErr2.java">
+ <message kind="error" line="3"/>
+ </compile>
+ </ajc-test>
+
+ <ajc-test dir="new"
+ title="Wrong strictfp keyword usage in constructor declaration [TODO: move to errors]"
+ keywords="from-errors">
+ <compile files="StrictFpCErr3.java">
+ <message kind="error" line="3"/>
+ </compile>
+ </ajc-test>
+
+ <ajc-test dir="errors"
+ title="Incorrect static casts to primitively foldable arguments should not crash the compiler."
+ keywords="from-errors">
+ <compile files="BadStaticCast.java">
+ <message kind="error" line="5"/>
+ </compile>
+ </ajc-test>
+
+ <ajc-test dir="errors" title="Dominates with commas should signal an error."
+ keywords="from-errors">
+ <compile files="DominatesWithCommas.java">
+ <message kind="error" line="9"/>
+ </compile>
+ </ajc-test>
+
+ <ajc-test dir="errors"
+ title="Accessing instance fields and instance methods statically."
+ keywords="from-errors,purejava">
+ <compile files="AccessingInstanceFieldsStatically.java">
+ <message kind="error" line="15"/>
+ <message kind="error" line="16"/>
+ <message kind="error" line="17"/>
+ <message kind="error" line="18"/>
+ <message kind="error" line="26"/>
+ <message kind="error" line="27"/>
+ <message kind="error" line="30"/>
+ <message kind="error" line="38"/>
+ <message kind="error" line="39"/>
+ </compile>
+ </ajc-test>
+
+ <ajc-test dir="errors" pr="95"
+ title="stack overflow with recursive crosscut specifier"
+ keywords="from-errors">
+ <compile files="RecursiveCCutSpecifier.java">
+ <message kind="error" line="10"/>
+ </compile>
+ </ajc-test>
+
+ <ajc-test dir="errors"
+ title="Throwing a NullPointerException when formals can't be bound in named pointcut"
+ keywords="from-errors">
+ <compile files="BadFormalsToCalls.java">
+ <message kind="error" line="22"/>
+ </compile>
+ </ajc-test>
+
+ <ajc-test dir="errors" pr="385"
+ title="disallow defining more than one pointcut with the same name"
+ keywords="from-errors,fail-unimplemented">
+ <compile files="OverloadedPointcuts.java">
+ <message kind="error" line="5"/>
+ </compile>
+ </ajc-test>
+
+ <ajc-test dir="errors"
+ title="pre 0.7 introduction form outside aspect body causes an EmptyStackException"
+ keywords="from-errors">
+ <compile files="BadIntroduction.java">
+ <message kind="error" line="10"/>
+ </compile>
+ </ajc-test>
+
+ <ajc-test dir="errors" title="a class can't extend an aspect"
+ keywords="from-errors,fail-unimplemented">
+ <compile files="ClassExtendingAspect.java">
+ <message kind="error" line="19"/>
+ </compile>
+ </ajc-test>
+
+ <ajc-test dir="errors"
+ title="a before() clause at the class-level causes an EmptyStackException"
+ keywords="from-errors">
+ <compile files="TopLevelBefore.java">
+ <message kind="error" line="9"/>
+ </compile>
+ </ajc-test>
+
+ <ajc-test dir="errors"
+ title="an after() clause at the class-level causes an EmptyStackException"
+ keywords="from-errors">
+ <compile files="TopLevelAfter.java">
+ <message kind="error" line="9"/>
+ </compile>
+ </ajc-test>
+
+ <ajc-test dir="errors"
+ title="an around() clause at the class-level causes an EmptyStackException"
+ keywords="from-errors">
+ <compile files="TopLevelAround.java">
+ <message kind="error" line="9"/>
+ </compile>
+ </ajc-test>
+
+ <ajc-test dir="errors" title="Crashes when a cast is within another cast"
+ keywords="from-errors,purejava">
+ <compile files="CastInCast.java">
+ <message kind="error" line="9"/>
+ </compile>
+ </ajc-test>
+
+ <ajc-test dir="errors" title="Crashes when a cast of the form )int) appears"
+ keywords="from-errors,purejava,messages-vary">
+ <compile files="BadCast.java"
+ options="!eclipse">
+ <message kind="error" line="9"/>
+ <message kind="error" line="10"/>
+ </compile>
+ </ajc-test>
+
+ <ajc-test dir="errors" title="Crashes when the closing brace is reversed"
+ keywords="from-errors,purejava,messages-vary">
+ <compile files="ClosingBrace.java"
+ options="!eclipse">
+ <message kind="error" line="11"/>
+ </compile>
+ </ajc-test>
+
+ <ajc-test dir="errors"
+ title="Crashes when a method name is missing in a call -- e.g. 'System.out.();'"
+ keywords="from-errors,purejava">
+ <compile files="NoMethodName.java">
+ <message kind="error" line="9"/>
+ </compile>
+ </ajc-test>
+
+ <ajc-test dir="errors" title="Crashes when a bad r-value appears."
+ keywords="from-errors,purejava">
+ <compile files="BadValue.java">
+ <message kind="error" line="9"/>
+ </compile>
+ </ajc-test>
+
+ <ajc-test dir="errors" title="Two underscores as a variables causes a crash"
+ keywords="from-errors,purejava">
+ <compile files="BadVar.java">
+ <message kind="error" line="9"/>
+ </compile>
+ </ajc-test>
+
+ <ajc-test dir="errors"
+ title="Crashes when assigning to a final static in an intializer and declaration"
+ keywords="from-errors,purejava">
+ <compile files="FinalStatic.java">
+ <message kind="error" line="13"/>
+ </compile>
+ </ajc-test>
+
+ <ajc-test dir="errors" title="Crashes when two dots appear instead of one"
+ keywords="from-errors,purejava">
+ <compile files="TwoDots.java">
+ <message kind="error" line="9"/>
+ </compile>
+ </ajc-test>
+
+ <ajc-test dir="errors" title="Crashes when there're stray dots"
+ keywords="from-errors,purejava">
+ <compile files="StrayDot.java">
+ <message kind="error" line="9"/>
+ </compile>
+ </ajc-test>
+
+ <ajc-test dir="errors" title="Stray characters cause a crash"
+ comment="XXX public class in wrong file"
+ keywords="from-errors,purejava">
+ <compile files="StraySlash.java">
+ <message kind="error" line="9"/>
+ </compile>
+ </ajc-test>
+
+ <ajc-test dir="errors" title="Colon instead of a semi-colon causes a crash"
+ comment="XXX public class in wrong file"
+ keywords="from-errors,purejava">
+ <compile files="Colon.java">
+ <message kind="error" line="9"/>
+ </compile>
+ </ajc-test>
+
+ <ajc-test dir="errors"
+ title="type error in initializer caught by ajc, not javac"
+ keywords="from-errors,purejava">
+ <compile files="ArrayInitializerType.java">
+ <message kind="error" line="2"/>
+ </compile>
+ </ajc-test>
+
+ <ajc-test dir="errors"
+ title="Circular inheritance with classes causes a stack overflow."
+ keywords="from-errors,purejava">
+ <compile files="CircularExtends.java">
+ <message kind="error" line="7"/>
+ </compile>
+ </ajc-test>
+
+ <ajc-test dir="errors" title="Doesn't detect cyclic inheritance of aspects."
+ keywords="from-errors">
+ <compile files="CircularExtendsAspect.java">
+ <message kind="error" line="18"/>
+ </compile>
+ </ajc-test>
+
+ <ajc-test dir="errors"
+ title="Binds the pointcut formals to member variables instead of pointcut formals."
+ keywords="from-errors">
+ <compile files="PointcutFormals.java" options="-Xlint:warning">
+ <message kind="error" line="14"/>
+ <message kind="error" line="15"/>
+ <message kind="warning" line="16"/>
+ <message kind="warning" line="17"/>
+ </compile>
+ </ajc-test>
+
+ <ajc-test dir="errors" title="ambiguous formal in formals pattern"
+ keywords="from-errors">
+ <compile files="AmbiguousFormal.java">
+ <message kind="error" line="6"/>
+ </compile>
+ </ajc-test>
+
+ <ajc-test dir="errors" title="Missing ;" keywords="from-errors,purejava">
+ <compile files="PR405.java">
+ <message kind="error" line="15"/>
+ </compile>
+ </ajc-test>
+
+ <ajc-test dir="errors"
+ title="cast expressions should not allow casts between ifaces and array types"
+ keywords="from-errors,purejava">
+ <compile files="InterfaceArrayCast.java">
+ <message kind="error" line="9"/>
+ <message kind="error" line="10"/>
+ </compile>
+ </ajc-test>
+
+ <ajc-test dir="errors"
+ title="parsing errors for various bad forms of NewArrayExprs."
+ keywords="from-errors,purejava">
+ <compile files="BadNewArrayExprs.java">
+ <message kind="error" line="4"/>
+ <message kind="error" line="5"/>
+ <message kind="error" line="6"/>
+ <message kind="error" line="7"/>
+ </compile>
+ </ajc-test>
+
+ <ajc-test dir="errors"
+ title="good error for field name instead of type name"
+ keywords="from-errors">
+ <compile files="BadTypeName.java">
+ <message kind="error" line="2"/>
+ <message kind="error" line="4"/>
+ <message kind="error" line="6"/>
+ <message kind="error" line="8"/>
+ <message kind="error" line="10"/>
+ <message kind="error" line="12"/>
+ </compile>
+ </ajc-test>
+
+ <ajc-test dir="errors"
+ title="good error for bad field and inner class references"
+ keywords="from-errors,purejava">
+ <compile files="BadReferences.java">
+ <message kind="error" line="3"/>
+ <message kind="error" line="5"/>
+ </compile>
+ </ajc-test>
+
+ <ajc-test dir="errors" title="errors in aspect inheritance - 1"
+ keywords="from-errors">
+ <compile files="AspectInheritance1.java">
+ <message kind="error" line="17"/>
+ </compile>
+ </ajc-test>
+
+ <ajc-test dir="errors" title="errors in aspect inheritance - 2"
+ keywords="from-errors"
+ comment="XXX error now is confusing methods with pointcuts">
+ <compile files="AspectInheritance2.java">
+ <message kind="error" line="15"/>
+ <message kind="error" line="20"/>
+ <message kind="error" line="26"/>
+ <message kind="error" line="30"/>
+ </compile>
+ </ajc-test>
+
+ <ajc-test dir="errors" title="errors in aspect inheritance - 3"
+ keywords="from-errors">
+ <compile files="AspectInheritance3.java">
+ <message kind="error" line="19"/>
+ <message kind="error" line="24"/>
+ </compile>
+ </ajc-test>
+
+ <ajc-test dir="errors" title="errors in aspect inheritance - 4"
+ keywords="from-errors">
+ <compile files="AspectInheritance4.java">
+ <message kind="error" line="17"/>
+ </compile>
+ </ajc-test>
+
+ <ajc-test dir="errors"
+ title="Implementing a non-interface used to crash the compiler."
+ keywords="from-errors,purejava">
+ <compile files="PR333.java">
+ <message kind="error" line="6"/>
+ </compile>
+ </ajc-test>
+
+ <ajc-test dir="errors"
+ title="circular dominates leading to irresolvable advice precedence"
+ keywords="from-errors">
+ <compile files="CircularDominates.java">
+ <message kind="error" line="12"/>
+ <message kind="error" line="16"/>
+ <message kind="error" line="20"/>
+ </compile>
+ </ajc-test>
+
+ <ajc-test dir="errors"
+ title="Should issue an error for using 'class' instead of 'aspect'"
+ keywords="from-errors">
+ <compile files="NoAspect.java">
+ <message kind="error" line="12"/>
+ </compile>
+ </ajc-test>
+
+ <ajc-test dir="errors"
+ title="Should signal an error when we need an exposed value but don't provide it"
+ keywords="from-errors">
+ <compile files="MissingExposure.java">
+ <message kind="error" line="13"/>
+ </compile>
+ </ajc-test>
+
+ <ajc-test dir="errors"
+ title="StackOverFlowException with circular +implements's."
+ keywords="from-errors">
+ <compile files="CircularPlusImplementsIntros.java">
+ <message kind="error" line="19"/>
+ </compile>
+ </ajc-test>
+
+ <ajc-test dir="errors"
+ title="Introducing protected methods is causing a crash"
+ keywords="from-errors">
+ <compile files="ProtectedIntro.java">
+ <message kind="error" line="14"/>
+ </compile>
+ </ajc-test>
+
+ <ajc-test dir="errors"
+ title="Introducing protected fields is causing a crash"
+ keywords="from-errors">
+ <compile files="ProtectedFieldIntro.java">
+ <message kind="error" line="14"/>
+ </compile>
+ </ajc-test>
+
+ <ajc-test dir="errors" pr="388"
+ title="two classes with the same fully-qualified names [eachjvm]"
+ keywords="from-errors"
+ comment="XXX error not flagging initial type">
+ <compile files="DuplicatedNames.java">
+ <message kind="error" line="3"/>
+ <message kind="error" line="5"/>
+ <message kind="error" line="7"/>
+ <message kind="error" line="9"/>
+ </compile>
+ </ajc-test>
+
+ <ajc-test dir="errors" pr="396"
+ title="Undefined pointcuts were throwing exceptions in 07b11 [callsto]"
+ keywords="from-errors">
+ <compile files="UndefinedPointCut_PR396.java">
+ <message kind="error" line="8"/>
+ </compile>
+ </ajc-test>
+
+ <ajc-test dir="errors" pr="240" title="advice on abstract pointcuts"
+ keywords="from-errors">
+ <compile files="StaticAdviceOnAbstract.java">
+ <message kind="error" line="17"/>
+ </compile>
+ </ajc-test>
+
+ <ajc-test dir="errors"
+ title="Whoops, I forgot to put a class in the field access PCD."
+ keywords="from-errors">
+ <compile files="BadGetPCD.java">
+ <message kind="error" line="5"/>
+ </compile>
+ </ajc-test>
+
+ <ajc-test dir="errors" pr="138"
+ title=", PR#139 the arounds return something but there is no returns statement"
+ keywords="from-errors">
+ <compile files="MissingReturns.java">
+ <message kind="error" line="14"/>
+ <message kind="error" line="20"/>
+ </compile>
+ </ajc-test>
+
+ <ajc-test dir="pureJava" title="simple tests of throws and for stmt typing"
+ keywords="from-errors">
+ <compile files="SimpleSpec.java">
+ <message kind="error" line="4"/>
+ <message kind="error" line="7"/>
+ </compile>
+ </ajc-test>
+
+ <!-- we're not implementing this error check in 1.1 -->
+ <ajc-test dir="errors"
+ title="checking the contra-variant errors for typing of proceed"
+ keywords="from-errors,knownLimitations">
+ <compile files="BadAround.java">
+ <message kind="error" line="12"/>
+ <message kind="error" line="15"/>
+ <message kind="error" line="18"/>
+ <message kind="error" line="19"/>
+ <message kind="error" line="22"/>
+ </compile>
+ </ajc-test>
+
+ <ajc-test dir="errors"
+ title="error of no return statement detected not by ajc but by javac (line 4)"
+ keywords="from-errors,purejava">
+ <compile files="NoReturnStatementSimple.java">
+ <message kind="error" line="4"/>
+ </compile>
+ </ajc-test>
+
+ <ajc-test dir="errors" title="class and interface extension"
+ keywords="from-errors,purejava,messages-vary">
+ <compile files="BadExtension.java"
+ options="!eclipse">
+ <message kind="error" line="7"/>
+ <message kind="error" line="9"/>
+ <message kind="error" line="16"/>
+ <message kind="error" line="17"/>
+ <message kind="error" line="18"/>
+ <message kind="error" line="19"/>
+ <message kind="error" line="21"/>
+ <message kind="error" line="35"/>
+ <message kind="error" line="38"/>
+ </compile>
+ </ajc-test>
+
+ <ajc-test dir="errors" title="multiple conflicting introductions"
+ keywords="from-errors">
+ <compile files="MultipleIntros.java">
+ <message kind="error" line="16"/>
+ <message kind="error" line="18"/>
+ <message kind="error" line="19"/>
+ <message kind="error" line="22"/>
+ <message kind="error" line="27"/>
+ <message kind="error" line="30"/>
+ </compile>
+ </ajc-test>
+
+ <ajc-test dir="errors" title="types in throws clauses"
+ keywords="from-errors,purejava">
+ <compile files="ThrowsClause.java">
+ <message kind="error" line="2"/>
+ <message kind="error" line="4"/>
+ <message kind="error" line="13"/>
+ </compile>
+ </ajc-test>
+
+ <ajc-test dir="errors"
+ title="referencing non-static pointcuts in outer aspects"
+ keywords="from-errors">
+ <compile files="StaticPointcutRefs.java">
+ <message kind="error" line="8"/>
+ </compile>
+ </ajc-test>
+
+ <ajc-test dir="errors" title="bad switch syntax"
+ keywords="from-errors,purejava">
+ <compile files="Switch.java">
+ <message kind="error" line="4"/>
+ </compile>
+ </ajc-test>
+
+ <ajc-test dir="new"
+ title="javac correct compiler error if there is no return in around returning result"
+ keywords="from-errors">
+ <compile files="NoReturnInProceed.java">
+ <message kind="error" line="17"/>
+ </compile>
+ </ajc-test>
+
+ <ajc-test dir="errors"
+ title="should give an error for introducing two members with the same name"
+ keywords="from-errors">
+ <compile files="TwoIntros.java">
+ <message kind="error" line="14"/>
+ <message kind="error" line="16"/>
+ </compile>
+ </ajc-test>
+
+ <ajc-test dir="errors"
+ title="wimpy test for undeclared and uncaught exceptions"
+ keywords="from-errors">
+ <compile files="UndeclaredThrows.java">
+ <message kind="error" line="12"/>
+ <message kind="error" line="18"/>
+ </compile>
+ </ajc-test>
+
+ <ajc-test dir="pureJava" title="test for not folding circular constants"
+ keywords="from-errors">
+ <compile files="CircularFolding.java">
+ <message kind="error" line="6"/>
+ <message kind="error" line="7"/>
+ <message kind="error" line="8"/>
+ </compile>
+ </ajc-test>
+
+ <ajc-test dir="pureJava" title="continue targets must be continuable"
+ keywords="from-errors">
+ <compile files="BadContinueTarget.java">
+ <message kind="error" line="6"/>
+ </compile>
+ </ajc-test>
+
+ <ajc-test dir="pureJava"
+ title="qualified this to non-inner should be caught"
+ keywords="from-errors">
+ <compile files="BadQualifiedNew.java">
+ <message kind="error" line="4"/>
+ </compile>
+ </ajc-test>
+
+ <ajc-test dir="pureJava"
+ title="Referencing various things from static contexts"
+ keywords="from-errors,purejava">
+ <compile files="StaticContexts.java">
+ <message kind="error" line="11"/>
+ <message kind="error" line="18"/>
+ <message kind="error" line="19"/>
+ <message kind="error" line="20"/>
+ <message kind="error" line="21"/>
+ <message kind="error" line="27"/>
+ <message kind="error" line="28"/>
+ <message kind="error" line="31"/>
+ <message kind="error" line="35"/>
+ <message kind="error" line="36"/>
+ </compile>
+ </ajc-test>
+
+ <ajc-test dir="new"
+ title="Given non-matching TypePattern, CE flags use of non-introduced method rather than failure to introduce"
+ keywords="from-errors">
+ <compile
+ files="typepatternmatch/pack1/IntroErrorLocation.java,typepatternmatch/pack2/TargetClass.java">
+ <message kind="error" line="28"
+ text="typepatternmatch/pack1/IntroErrorLocation.java:28"/>
+ <message kind="warning" line="33"
+ text="typepatternmatch/pack1/IntroErrorLocation.java:33"/>
+ <message kind="error" line="39"
+ text="typepatternmatch/pack1/IntroErrorLocation.java:39"/>
+ </compile>
+ </ajc-test>
+
+ <ajc-test dir="new" pr="457"
+ title="Compiler should suggest using aspect when advice, pointcuts, or introduction is in a class"
+ keywords="from-errors">
+ <compile files="RecognizeAspectCE.java">
+ <message kind="error" line="6" text="RecognizeAspectCE.java:6"/>
+ </compile>
+ </ajc-test>
+
+ <ajc-test dir="errors"
+ title="Some expressions are illegal expression statements"
+ keywords="from-errors,purejava">
+ <compile files="BadExpressionStatement.java">
+ <message kind="error" line="3"/>
+ </compile>
+ </ajc-test>
+
+ <ajc-test dir="pureJava" title="illegal forward reference"
+ keywords="from-errors,purejava">
+ <compile files="IllegalForwardReference.java">
+ <message kind="error" line="9"/>
+ </compile>
+ </ajc-test>
+
+ <ajc-test dir="errors"
+ title="declare error working with pointcut and-not (amp,amp,bang)"
+ keywords="from-errors">
+ <compile files="DeclareError.java">
+ <message kind="error" line="5"/>
+ <message kind="error" line="19"/>
+ </compile>
+ </ajc-test>
+
+ <ajc-test dir="errors" title="protected accessibility"
+ keywords="from-errors,purejava">
+ <compile files="protectedAccess/Main.java,protectedAccess/p1/C1.java">
+ <message kind="error" line="26"/>
+ <message kind="error" line="28"/>
+ <message kind="error" line="29"/>
+ <message kind="error" line="31"/>
+ <message kind="error" line="37"/>
+ <message kind="error" line="45"/>
+ <message kind="error" line="46"/>
+ <message kind="error" line="54"/>
+ <message kind="error" line="55"/>
+ </compile>
+ </ajc-test>
+
+ <ajc-test dir="errors" title="parse-time illegal modifiers"
+ keywords="from-errors,purejava">
+ <compile files="Modifiers1.java">
+ <message kind="error" line="2"/>
+ <message kind="error" line="3"/>
+ <message kind="error" line="6"/>
+ </compile>
+ </ajc-test>
+
+ <ajc-test dir="errors" title="check-time illegal modifiers"
+ keywords="from-errors,purejava">
+ <compile files="Modifiers.java">
+ <message kind="error" line="2"/>
+ <message kind="error" line="3"/>
+ <message kind="error" line="4"/>
+ <message kind="error" line="6"/>
+ <message kind="error" line="7"/>
+ <message kind="error" line="8"/>
+ <message kind="error" line="9"/>
+ <message kind="error" line="11"/>
+ </compile>
+ </ajc-test>
+
+ <ajc-test dir="errors" title="illegal synchronized stmts"
+ keywords="from-errors,purejava,messages-vary">
+ <compile files="BadSynchronized.java"
+ options="!eclipse">
+ <message kind="error" line="6"/>
+ </compile>
+ </ajc-test>
+
+ <ajc-test dir="pureJava" title="modifiers on interface members"
+ keywords="from-errors,purejava">
+ <compile files="InterfaceMembers.java">
+ <message kind="error" line="2"/>
+ <message kind="error" line="3"/>
+ <message kind="error" line="4"/>
+ <message kind="error" line="5"/>
+ <message kind="error" line="7"/>
+ <message kind="error" line="8"/>
+ <message kind="error" line="9"/>
+ <message kind="error" line="10"/>
+ </compile>
+ </ajc-test>
+
+ <ajc-test dir="new" pr="534"
+ title="aspect as member of interface (private and protected)"
+ keywords="from-errors">
+ <compile files="AspectInInterfaceCF.java">
+ <message kind="error" line="11"/>
+ <message kind="error" line="14"/>
+ </compile>
+ </ajc-test>
+
+ <ajc-test dir="errors"
+ title="good errors (and not too many) for missing members"
+ comment="XXX import of class in default package"
+
+ keywords="from-errors,purejava">
+ <compile files="NotFound.java">
+ <message kind="error" line="1"/>
+ <message kind="error" line="2"/>
+ <message kind="error" line="6"/>
+ <message kind="error" line="9"/>
+ <message kind="error" line="10"/>
+ <message kind="error" line="14"/>
+ <message kind="error" line="16"/>
+ </compile>
+ </ajc-test>
+
+ <ajc-test dir="new" pr="536"
+ title="expecting compile failures with subclass narrowing scope of superclass methods or accessing private superclass variables"
+ keywords="from-errors,purejava">
+ <compile files="RestrictingVisibilityCF.java">
+ <message kind="error" line="27"/>
+ <message kind="error" line="29"/>
+ <message kind="error" line="31"/>
+ <message kind="error" line="39"/>
+ <message kind="error" line="41"/>
+ <message kind="error" line="46"/>
+ <message kind="error" line="48"/>
+ <message kind="error" line="53"/>
+ </compile>
+ </ajc-test>
+
+ <ajc-test dir="new" pr="494"
+ title="introduced inner interfaces - compile should fail to bind interface name outside of Aspect or if implementing method is not public"
+ keywords="from-errors">
+ <compile files="IntroduceInnerInterfaceCF.java" options="-Xlint:ignore">
+ <message kind="error" line="18"/>
+ <message kind="error" line="19"/>
+ <message kind="error" line="20"/>
+ <message kind="error" line="24"/>
+ <message kind="error" line="42"/>
+ <message kind="error" line="45"/>
+ <message kind="error" line="48"/>
+ <message kind="error" line="50"/>
+ <message kind="error" line="58"/>
+ </compile>
+ </ajc-test>
+
+ <ajc-test dir="errors"
+ title="aspects may not implement Serializable or Cloneable"
+ keywords="from-errors">
+ <compile files="AspectInterfaces.java">
+ <message kind="error" line="4"/>
+ <message kind="error" line="5"/>
+ <message kind="error" line="9"/>
+ </compile>
+ </ajc-test>
+
+ <ajc-test dir="errors"
+ title="inner classes may not have static non-constant members"
+ keywords="from-errors,purejava">
+ <compile files="InnerMembers.java">
+ <message kind="error" line="8"/>
+ <message kind="error" line="9"/>
+ <message kind="error" line="10"/>
+ <message kind="error" line="11"/>
+ <message kind="error" line="16"/>
+ <message kind="error" line="17"/>
+ </compile>
+ </ajc-test>
+
+ <ajc-test dir="errors"
+ title="explicit constructor calls can throw exceptions"
+ keywords="from-errors">
+ <compile files="ExplicitConstructorThrows.java">
+ <message kind="error" line="3"/>
+ <message kind="error" line="12"/>
+ <message kind="error" line="18"/>
+ </compile>
+ </ajc-test>
+
+ <ajc-test dir="pureJava" title="flow analysis with local types"
+ keywords="from-errors,purejava">
+ <compile files="InnerFlow.java">
+ <message kind="error" line="5"/>
+ </compile>
+ </ajc-test>
+
+ <ajc-test dir="errors" pr="664" title="bad proceed args good error messages"
+ keywords="from-errors">
+ <compile files="ProceedArgsCE.java">
+ <message kind="error" line="13"/>
+ <message kind="error" line="16"/>
+ <message kind="error" line="19"/>
+ </compile>
+ </ajc-test>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <ajc-test dir="design/intro"
+ title="initial tests for new introduction style" keywords="from-design">
+ <compile files="Simple.java"/>
+ <run class="Simple"/>
+ </ajc-test>
+
+ <ajc-test dir="design/intro"
+ title="overriding of introduced methods and accessibility"
+ keywords="from-design">
+ <compile files="Overriding.java"/>
+ <run class="Overriding"/>
+ </ajc-test>
+
+ <ajc-test dir="design/intro"
+ title="within and introductions behaves correctly" keywords="from-design">
+ <compile files="Within.java"/>
+ <run class="Within"/>
+ </ajc-test>
+
+
+ <!-- we're not implementing static inter-type fields on interfaces in 1.1 -->
+ <ajc-test dir="design/intro"
+ title="introduction of static methods and fields on classes and interfaces"
+ keywords="from-design,knownLimitation">
+ <compile files="Statics.java"/>
+ <run class="Statics"/>
+ </ajc-test>
+
+ <ajc-test dir="design/intro" pr="570"
+ title="correct inheritance of multiple concrete methods"
+ keywords="from-design">
+ <compile files="MultiInheritCP.java"/>
+ <run class="MultiInheritCP"/>
+ </ajc-test>
+
+ <ajc-test dir="design/intro" pr="570"
+ title="errors in inheritance of multiple concrete methods"
+ keywords="from-design">
+ <compile files="MultiInheritCF.java">
+ <message kind="error" line="21"/>
+ <message kind="error" line="41"/>
+ <message kind="error" line="42"/>
+ <message kind="error" line="43"/>
+ <message kind="error" line="45"/>
+ <message kind="error" line="46"/>
+ </compile>
+ </ajc-test>
+
+ <ajc-test dir="design/reflect"
+ title="Joinpoint is not created for foo(String) when before() advice is present."
+ keywords="from-design">
+ <compile files="SimpleAround1.java"/>
+ <run class="SimpleAround1"/>
+ </ajc-test>
+
+ <ajc-test dir="design/eachobject"
+ title="more tests of eachobject with some difficult typing issues"
+ keywords="from-design">
+ <compile files="Tricky3.java"/>
+ <run class="Tricky3"/>
+ </ajc-test>
+
+ <ajc-test dir="design/eachobject"
+ title="eachobject: eachobject(receptions(...)) [eachobject]"
+ keywords="from-design">
+ <compile files="Tricky1.java"/>
+ <run class="Tricky1"/>
+ </ajc-test>
+
+ <ajc-test dir="design/reflect" title="Checking new joinpoints"
+ keywords="from-design">
+ <compile files="Coverage.java"/>
+ <run class="Coverage"/>
+ </ajc-test>
+
+ <ajc-test dir="design/eachobject"
+ title="eachobject: simple test [eachobject] (still)"
+ keywords="from-design">
+ <compile files="Simple.java"/>
+ <run class="Simple"/>
+ </ajc-test>
+
+ <ajc-test dir="design/intro"
+ title="scope issues with introduction (needs more work)"
+ keywords="from-design">
+ <compile files="p1/ScopeIssues.java,p1/C1.java"/>
+ <run class="p1.ScopeIssues"/>
+ </ajc-test>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <ajc-test dir="new"
+ title="properly make choice between cast and parenthesis in parser"
+ keywords="from-resolved_10x">
+ <compile files="JoinPointFields.java"/>
+ <run class="JoinPointFields"/>
+ </ajc-test>
+
+ <ajc-test dir="new" pr="96"
+ title="field from implemented interface not found in advice"
+ keywords="from-resolved_10x">
+ <compile files="FieldFromImplementsNotFound.java"/>
+ <run class="FieldFromImplementsNotFound"/>
+ </ajc-test>
+
+ <ajc-test dir="new"
+ title="make sure advice affects introduced methods and constructors"
+ keywords="from-resolved_10x">
+ <compile files="AdviceOnIntroduced.java"/>
+ <run class="AdviceOnIntroduced"/>
+ </ajc-test>
+
+ <ajc-test dir="new" title="new around construct"
+ keywords="from-resolved_10x">
+ <compile files="AroundAdvice.java"/>
+ <run class="AroundAdvice"/>
+ </ajc-test>
+
+ <ajc-test dir="new" pr="65" title="aspect redefines a parameter"
+ keywords="from-resolved_10x">
+ <compile files="AspectRedefinesParam.java"/>
+ <run class="AspectRedefinesParam"/>
+ </ajc-test>
+
+ <ajc-test dir="new" title="introducing extends and implements"
+ keywords="from-resolved_10x">
+ <compile files="HierarchyIntroductions.java"/>
+ <run class="HierarchyIntroductions"/>
+ </ajc-test>
+
+ <ajc-test dir="new" pr="104" title="(related) aspect on interface"
+ keywords="from-resolved_10x">
+ <compile files="AspectOnInterface.java"/>
+ <run class="AspectOnInterface"/>
+ </ajc-test>
+
+ <ajc-test dir="new" pr="106" title="advice and package visibility"
+ keywords="from-resolved_10x">
+ <compile
+ files="packagevisibility/PackagesAndAdvice.java,packagevisibility/testPackage/Class1.java,packagevisibility/testPackage/Class2.java"/>
+ <run class="packagevisibility.PackagesAndAdvice"/>
+ </ajc-test>
+
+ <ajc-test dir="new" title="advice on implied empty constructor"
+ keywords="from-resolved_10x">
+ <compile files="AdviceOnEmptyConstructor.java"/>
+ <run class="AdviceOnEmptyConstructor"/>
+ </ajc-test>
+
+ <ajc-test dir="new" title="advice on * *(..) not mapping to initializers"
+ keywords="from-resolved_10x">
+ <compile files="InitializerAdvice.java"/>
+ <run class="InitializerAdvice"/>
+ </ajc-test>
+
+ <ajc-test dir="new"
+ title="three type declarations in the scope of an advice"
+ keywords="from-resolved_10x">
+ <compile files="TypeDeclInAdvice.java"/>
+ <run class="TypeDeclInAdvice"/>
+ </ajc-test>
+
+ <ajc-test dir="new" pr="129"
+ title="introduction fails on class with an inner class that extends or implements something"
+ keywords="from-resolved_10x">
+ <compile files="IntroductionFailsWithInnerClass.java"/>
+ <run class="IntroductionFailsWithInnerClass"/>
+ </ajc-test>
+
+ <ajc-test dir="new" pr="126"
+ title="checks that methods are introduced on the topmost class implemented"
+ keywords="from-resolved_10x">
+ <compile files="TopmostImplements.java"/>
+ <run class="TopmostImplements"/>
+ </ajc-test>
+
+ <ajc-test dir="new/arndAdvRet" pr="140"
+ title="a couple different returns from around advice"
+ keywords="from-resolved_10x">
+ <compile files="Driver.java"/>
+ <run class="Driver"/>
+ </ajc-test>
+
+ <ajc-test dir="new"
+ title="member finally advice paired with signature advice"
+ keywords="from-resolved_10x">
+ <compile files="TryErrors.java"/>
+ <run class="TryErrors"/>
+ </ajc-test>
+
+ <ajc-test dir="new" title="aspect of eachobject(instanceof(Interface))"
+ keywords="from-resolved_10x">
+ <compile files="AspectOfInterface.java"/>
+ <run class="AspectOfInterface"/>
+ </ajc-test>
+
+ <ajc-test dir="new/finalMemInit" pr="162"
+ title="final member initialization broken with JDK before 1.1.8"
+ keywords="from-resolved_10x">
+ <compile files="Driver.java"/>
+ <run class="Driver"/>
+ </ajc-test>
+
+ <ajc-test dir="new/packageNameClash" pr="205"
+ title="same package and var name clash in preprocessed code when aspectOf is used"
+ keywords="from-resolved_10x">
+ <compile files="otherpkg/Driver.java,pkg/Aspect1.java,pkg/Class1.java"/>
+ <run class="otherpkg.Driver"/>
+ </ajc-test>
+
+ <ajc-test dir="new/adviceOnStaticMeth" pr="221"
+ title="and PR#201 advice on static methods fails javac compile with this"
+ keywords="from-resolved_10x">
+ <compile files="Driver.java"/>
+ <run class="Driver"/>
+ </ajc-test>
+
+ <ajc-test dir="new"
+ title="non-static advice on inner class defined inside of method body"
+ keywords="from-resolved_10x">
+ <compile files="MethodInner.java"/>
+ <run class="MethodInner"/>
+ </ajc-test>
+
+ <ajc-test dir="new"
+ title="simple single-threaded eachcflow test (includes aspectOf)"
+ keywords="from-resolved_10x">
+ <compile files="Client.java"/>
+ <run class="Client"/>
+ </ajc-test>
+
+ <ajc-test dir="new/scopeTypingBug" pr="191"
+ title="bad type resolution when var reassigned in same scope"
+ keywords="from-resolved_10x">
+ <compile files="Driver.java"/>
+ <run class="Driver"/>
+ </ajc-test>
+
+ <ajc-test dir="new" pr="242"
+ title="generating the right throws clause for call-site advice (and around)"
+ keywords="from-resolved_10x">
+ <compile files="ComputedThrows.java"/>
+ <run class="ComputedThrows"/>
+ </ajc-test>
+
+ <ajc-test dir="new" pr="246"
+ title="advice on calls to static methods using several syntax"
+ keywords="from-resolved_10x">
+ <compile files="StaticCalls.java"/>
+ <run class="StaticCalls"/>
+ </ajc-test>
+
+ <ajc-test dir="new" pr="248"
+ title=", PR#249, PR#250 advice on constructor sites"
+ keywords="from-resolved_10x">
+ <compile files="NewSiteAdvice.java"/>
+ <run class="NewSiteAdvice"/>
+ </ajc-test>
+
+ <ajc-test dir="new" title="test after throwing advice in several ways"
+ keywords="from-resolved_10x">
+ <compile files="AfterThrowing.java"/>
+ <run class="AfterThrowing"/>
+ </ajc-test>
+
+ <ajc-test dir="new" title="fancy name patterns for method names"
+ keywords="from-resolved_10x">
+ <compile files="WildNames.java"/>
+ <run class="WildNames"/>
+ </ajc-test>
+
+ <ajc-test dir="design/calls" title="calls: calls(...)"
+ keywords="from-resolved_10x">
+ <compile files="Simple.java"/>
+ <run class="Simple"/>
+ </ajc-test>
+
+ <ajc-test dir="new/extraThrows" pr="259"
+ title="throws Exception clause is unnecessarily added to Driver.main method"
+ keywords="from-resolved_10x">
+ <compile files="Driver.java"/>
+ <run class="Driver"/>
+ </ajc-test>
+
+ <ajc-test dir="new/thisUsedInMain" pr="262"
+ title="javac fails when this is referenced in the static main method"
+ keywords="from-resolved_10x">
+ <compile files="Driver.java"/>
+ <run class="Driver"/>
+ </ajc-test>
+
+ <ajc-test dir="new/badCast" pr="275"
+ title="and 276 cast error generated by ajc when type not in signature"
+ keywords="from-resolved_10x">
+ <compile files="Driver.java"/>
+ <run class="Driver"/>
+ </ajc-test>
+
+ <ajc-test dir="new" pr="285"
+ title="calls to methods to which we don't have source"
+ keywords="from-resolved_10x">
+ <compile files="ExternalCalls.java"/>
+ <run class="ExternalCalls"/>
+ </ajc-test>
+
+ <ajc-test dir="new/beforeNotRun" pr="265" title="more aspect inheritance"
+ keywords="from-resolved_10x">
+ <compile files="Driver.java"/>
+ <run class="Driver"/>
+ </ajc-test>
+
+ <ajc-test dir="new" pr="310"
+ title="around and calls with both calling and called this params"
+ keywords="from-resolved_10x">
+ <compile files="AroundAndCalls.java"/>
+ <run class="AroundAndCalls"/>
+ </ajc-test>
+
+ <ajc-test dir="new/pointcutParameter" pr="290"
+ title="compiler crashes with eachobject and named pointcuts with parameters"
+ keywords="from-resolved_10x">
+ <compile files="Driver.java"/>
+ <run class="Driver"/>
+ </ajc-test>
+
+ <ajc-test dir="new/unqualifiedPointcutName" pr="304"
+ title="lookup rules for unqualified pointcut names"
+ keywords="from-resolved_10x">
+ <compile files="Driver.java"/>
+ <run class="Driver"/>
+ </ajc-test>
+
+ <ajc-test dir="new" pr="321"
+ title="eachcflow only instantiated if the aspect has some advice in it"
+ keywords="from-resolved_10x">
+ <compile files="CFlowNoAdvice.java"/>
+ <run class="CFlowNoAdvice"/>
+ </ajc-test>
+
+ <ajc-test dir="new" pr="309"
+ title="(DESIGN QUESTION) aspect of eachJVM advising its own initializer"
+ keywords="from-resolved_10x">
+ <compile files="EachJVMOnSelf.java"/>
+ <run class="EachJVMOnSelf"/>
+ </ajc-test>
+
+ <ajc-test dir="new" pr="302"
+ title="after returning advice on calls to constructors"
+ keywords="from-resolved_10x">
+ <compile files="AfterConstructorCalls.java"/>
+ <run class="AfterConstructorCalls"/>
+ </ajc-test>
+
+ <ajc-test dir="new"
+ title="Does annotating 'new' with a type work as desired?"
+ keywords="from-resolved_10x">
+ <compile files="ConstructorSignatures.java"/>
+ <run class="ConstructorSignatures"/>
+ </ajc-test>
+
+ <ajc-test dir="new"
+ title="Referring to inner classes as {super}.{inner} confused ajc."
+ keywords="from-resolved_10x">
+ <compile files="InnerClassNaming.java"/>
+ <run class="InnerClassNaming"/>
+ </ajc-test>
+
+ <ajc-test dir="new" title="Advice on advice" keywords="from-resolved_10x">
+ <compile files="AdviceOnAdvice.java"/>
+ <run class="AdviceOnAdvice"/>
+ </ajc-test>
+
+ <ajc-test dir="new" title="Introductions on other introductions"
+ keywords="from-resolved_10x">
+ <compile files="IntroOnIntro.java"/>
+ <run class="IntroOnIntro"/>
+ </ajc-test>
+
+ <ajc-test dir="new" title="Putting advice on array constructors."
+ keywords="from-resolved_10x">
+ <compile files="Orleans.java"/>
+ <run class="Orleans"/>
+ </ajc-test>
+
+ <ajc-test dir="new"
+ title="call points within block inner classes are doubled"
+ keywords="from-resolved_10x">
+ <compile files="DoubledCalls.java"/>
+ <run class="DoubledCalls"/>
+ </ajc-test>
+
+ <ajc-test dir="new" title="Gets and sets with other advice"
+ keywords="from-resolved_10x">
+ <compile files="Counting3.java"/>
+ <run class="Counting3"/>
+ </ajc-test>
+
+ <ajc-test dir="new" title="Compiler can compile correct strictfp modifiers"
+ keywords="from-resolved_10x">
+ <compile files="StrictFpCompile.java"/>
+ <run class="StrictFpCompile"/>
+ </ajc-test>
+
+ <ajc-test dir="new" title="basic test of callsto pointcuts"
+ keywords="from-resolved_10x">
+ <compile files="CallsTo.java"/>
+ <run class="CallsTo"/>
+ </ajc-test>
+
+ <ajc-test dir="new" title="package wildcards in packages"
+ keywords="from-resolved_10x">
+ <compile files="pack/PackageWildcards.java"/>
+ <run class="pack.PackageWildcards"/>
+ </ajc-test>
+
+ <ajc-test dir="new" title="advice on catch clauses"
+ keywords="from-resolved_10x">
+ <compile files="CatchAdvice.java"/>
+ <run class="CatchAdvice"/>
+ </ajc-test>
+
+ <ajc-test dir="new"
+ title="around advice on calls and receptions with lots of context"
+ keywords="from-resolved_10x">
+ <compile files="AroundCalls.java"/>
+ <run class="AroundCalls"/>
+ </ajc-test>
+
+ <ajc-test dir="new" pr="208"
+ title="! modifier and char in pointcut (no longer an error)"
+ keywords="from-resolved_10x">
+ <compile files="NotCharInPointcut.java"/>
+ <run class="NotCharInPointcut"/>
+ </ajc-test>
+
+ <ajc-test dir="new" pr="308"
+ title="right number of aspect instances per cflow"
+ keywords="from-resolved_10x">
+ <compile files="CFlowObjects.java"/>
+ <run class="CFlowObjects"/>
+ </ajc-test>
+
+ <ajc-test dir="new" pr="310" title="many this's into around advice on calls"
+ keywords="from-resolved_10x">
+ <compile files="AroundCallsArgs.java"/>
+ <run class="AroundCallsArgs"/>
+ </ajc-test>
+
+ <ajc-test dir="new"
+ title="Ensures introduction methods can have advice placed on them"
+ keywords="from-resolved_10x">
+ <compile files="Dominates.java"/>
+ <run class="Dominates"/>
+ </ajc-test>
+
+ <ajc-test dir="new" pr="355"
+ title="No boolean appearing in the 'if' clause for around advice with eachJVM()"
+ keywords="from-resolved_10x">
+ <compile files="PR355.java"/>
+ <run class="PR355"/>
+ </ajc-test>
+
+ <ajc-test dir="new" title="Order of super introductions."
+ keywords="from-resolved_10x">
+ <compile files="OrderOfExtendsPlusAndImplementsPlus.java"/>
+ <run class="OrderOfExtendsPlusAndImplementsPlus"/>
+ </ajc-test>
+
+ <ajc-test dir="new" title="Ensuring backdoor methods are produced."
+ keywords="from-resolved_10x">
+ <compile files="BackdoorMethods.java"/>
+ <run class="BackdoorMethods"/>
+ </ajc-test>
+
+ <ajc-test dir="new"
+ title="no duplicate advice methods in abstract aspects"
+ keywords="from-resolved_10x">
+ <compile
+ files="GeneratingDuplicateNamedAdviceMethodsInAbstractAspects.java"/>
+ <run class="GeneratingDuplicateNamedAdviceMethodsInAbstractAspects"/>
+ </ajc-test>
+
+ <ajc-test dir="new"
+ title="no duplicate advice methods in abstract aspects extended"
+ keywords="from-resolved_10x">
+ <compile
+ files="GeneratingDuplicateNamedAdviceMethodsInAbstractAspectsWithExtendedAspect.java"/>
+ <run class="GeneratingDuplicateNamedAdviceMethodsInAbstractAspectsWithExtendedAspect"
+ />
+ </ajc-test>
+
+ <ajc-test dir="new"
+ title="Putting after-constructor advice on the wrong types implementing the same interface."
+ keywords="from-resolved_10x">
+ <compile files="AfterAdviceOnConstructorsOnTheWrongType.java"/>
+ <run class="AfterAdviceOnConstructorsOnTheWrongType"/>
+ </ajc-test>
+
+ <ajc-test dir="new"
+ title="Instantiating non-static inner classes in advice."
+ keywords="from-resolved_10x">
+ <compile files="NonstaticInnerClassesInAspects.java"/>
+ <run class="NonstaticInnerClassesInAspects"/>
+ </ajc-test>
+
+ <ajc-test dir="new" pr="316" title="Referring to pointcut in of clauses"
+ keywords="from-resolved_10x">
+ <compile files="ReferringToPointcutsInAspect_PR316.java"/>
+ <run class="ReferringToPointcutsInAspect_PR316"/>
+ </ajc-test>
+
+ <ajc-test dir="new" pr="191"
+ title="Confused referring to instance variables and locals"
+ keywords="from-resolved_10x">
+ <compile files="ScopesAndFields_PR191.java"/>
+ <run class="ScopesAndFields_PR191"/>
+ </ajc-test>
+
+ <ajc-test dir="new"
+ title="Parsing C+ expressions without parens in super introductions."
+ keywords="from-resolved_10x">
+ <compile files="ParsingSubtypesIntroductions.java"/>
+ <run class="ParsingSubtypesIntroductions"/>
+ </ajc-test>
+
+ <ajc-test dir="new"
+ title="Introducing methods on classes that implements inner-interfaces with +implements."
+ keywords="from-resolved_10x">
+ <compile files="IntroducingMethodsOnPlusImplementedInterfaces.java"/>
+ <run class="IntroducingMethodsOnPlusImplementedInterfaces"/>
+ </ajc-test>
+
+ <ajc-test dir="new" pr="464"
+ title="Methods with the same name are generated when abstract aspects extend another abstract aspect."
+ keywords="from-resolved_10x">
+ <compile
+ files="AbstractAspectsExtendingAbstractAspectsGeneratesMethodsWithTheSameName_PR464.java"/>
+ <run class="AbstractAspectsExtendingAbstractAspectsGeneratesMethodsWithTheSameName_PR464"
+ />
+ </ajc-test>
+
+ <ajc-test dir="new" title="Making sure final variables stay final."
+ keywords="from-resolved_10x">
+ <compile files="RemovingFinals.java"/>
+ <run class="RemovingFinals"/>
+ </ajc-test>
+
+ <ajc-test dir="new"
+ title="Problem resolving meta-joinpoint names with around advice on methods called from around advice."
+ keywords="from-resolved_10x">
+ <compile files="AroundAdviceOnMethodsCalledInAroundAdvice.java"/>
+ <run class="AroundAdviceOnMethodsCalledInAroundAdvice"/>
+ </ajc-test>
+
+ <ajc-test dir="new"
+ title="Make sure that names of lifted local classes are right when referenced in call-site advice"
+ keywords="from-resolved_10x">
+ <compile files="CallsAndLocalClasses.java"/>
+ <run class="CallsAndLocalClasses"/>
+ </ajc-test>
+
+ <ajc-test dir="new" title="matching for throws clause"
+ keywords="from-resolved_10x">
+ <compile files="ThrowsMatching.java"/>
+ <run class="ThrowsMatching"/>
+ </ajc-test>
+
+ <ajc-test dir="new" title="holding onto proceed calls in a closure-like way"
+ keywords="from-resolved_10x">
+ <compile files="HoldProceed.java"/>
+ <run class="HoldProceed"/>
+ </ajc-test>
+
+ <ajc-test dir="new" title="basic test of declare soft"
+ keywords="from-resolved_10x">
+ <compile files="DeclareSoft.java"/>
+ <run class="DeclareSoft"/>
+ </ajc-test>
+
+ <ajc-test dir="new"
+ title="advice on calls to constructors of anonymous inners and access to context"
+ keywords="from-resolved_10x">
+ <compile files="NewAnonymous.java"/>
+ <run class="NewAnonymous"/>
+ </ajc-test>
+
+ <ajc-test dir="new" title="Cannot bind a name." keywords="from-resolved_10x">
+ <compile files="CannotReferenceSuper.java"/>
+ <run class="CannotReferenceSuper"/>
+ </ajc-test>
+
+ <ajc-test dir="new/innerAspectAccess" pr="211"
+ title="inner aspects can't access outer pointcuts"
+ keywords="from-resolved_10x">
+ <compile files="Driver.java"/>
+ <run class="Driver"/>
+ </ajc-test>
+
+ <ajc-test dir="new"
+ title="implements and extends are introduced before methods and fields"
+ keywords="from-resolved_10x">
+ <compile files="IntroOrder.java"/>
+ <run class="IntroOrder"/>
+ </ajc-test>
+
+ <ajc-test dir="new"
+ title="a static/inner aspect of a inner class of an aspect is pulled to the top level as static"
+ keywords="from-resolved_10x">
+ <compile files="StaticInnerAspect.java"/>
+ <run class="StaticInnerAspect"/>
+ </ajc-test>
+
+ <ajc-test dir="new" title="Crashes with privileged aspect."
+ keywords="from-resolved_10x">
+ <compile files="Privileged.java"/>
+ <run class="Privileged"/>
+ </ajc-test>
+
+ <ajc-test dir="new"
+ title="join points exist in the execution of field initializers"
+ keywords="from-resolved_10x">
+ <compile files="FieldInitializerJoinPoints.java"/>
+ <run class="FieldInitializerJoinPoints"/>
+ </ajc-test>
+
+ <ajc-test dir="new/privilegedAspects" title="privileged aspects"
+ keywords="from-resolved_10x">
+ <compile
+ files="main/Main.java,fish/PrivateClass.java,fish/B.java,fowl/C.java,fowl/D.java"/>
+ <run class="main.Main"/>
+ </ajc-test>
+
+ <ajc-test dir="new" title="advice on field gets in privileged aspects"
+ keywords="from-resolved_10x">
+ <compile files="AdviceOnPrivileged.java"/>
+ <run class="AdviceOnPrivileged"/>
+ </ajc-test>
+
+ <ajc-test dir="new" title="Two anonymous classes in the same scope"
+ keywords="from-resolved_10x">
+ <compile files="TwoAnonymous.java"/>
+ <run class="TwoAnonymous"/>
+ </ajc-test>
+
+ <ajc-test dir="new"
+ title="basic tests for initializer and staticinitializer PCDs"
+ keywords="from-resolved_10x">
+ <compile files="InitializerTest.java"/>
+ <run class="InitializerTest"/>
+ </ajc-test>
+
+ <ajc-test dir="new" pr="98"
+ title="introduction of an initializer into a class"
+ keywords="from-resolved_10x">
+ <compile files="IntroductionOfInitializer.java"/>
+ <run class="IntroductionOfInitializer"/>
+ </ajc-test>
+
+ <ajc-test dir="new/access"
+ title="some method accessibility tests, particularly package-protected and inheritance"
+ keywords="from-resolved_10x">
+ <compile files="Test1.java,pc/C.java,psub/SubC.java,psub/A.java"/>
+ <run class="Test1"/>
+ </ajc-test>
+
+ <ajc-test dir="new"
+ title="fairly monotonous (and non-covering) tests for expanded dot patterns"
+ keywords="from-resolved_10x">
+ <compile files="ExpandedDotDotPattern.java"/>
+ <run class="ExpandedDotDotPattern"/>
+ </ajc-test>
+
+ <ajc-test dir="new" title="field patterns and subtyping"
+ keywords="from-resolved_10x">
+ <compile files="FieldPatterns.java"/>
+ <run class="FieldPatterns"/>
+ </ajc-test>
+
+ <ajc-test dir="new"
+ title="Checking formal matching as in Roeder's bug in 0.7b10"
+ keywords="from-resolved_10x">
+ <compile files="FormalMatching.java"/>
+ <run class="FormalMatching"/>
+ </ajc-test>
+
+ <ajc-test dir="new" title="Introducing synchronized methods on interfaces."
+ keywords="from-resolved_10x">
+ <compile files="SynchronizedMethodsOnInterfaces.java"/>
+ <run class="SynchronizedMethodsOnInterfaces"/>
+ </ajc-test>
+
+ <ajc-test dir="new"
+ title="The pointcut params (..,int..) is not recognizing (Object,int,Object)."
+ keywords="from-resolved_10x">
+ <compile files="Params.java"/>
+ <run class="Params"/>
+ </ajc-test>
+
+ <ajc-test dir="new"
+ title="calls advice on array objects causes error in code generation"
+ keywords="from-resolved_10x">
+ <compile files="CallsToArray.java"/>
+ <run class="CallsToArray"/>
+ </ajc-test>
+
+ <ajc-test dir="new"
+ title="join points in field initializers aren't showing up."
+ keywords="from-resolved_10x">
+ <compile files="NonexistentFieldInitializers.java"/>
+ <run class="NonexistentFieldInitializers"/>
+ </ajc-test>
+
+ <ajc-test dir="new" pr="318" title="Handlers problem"
+ keywords="from-resolved_10x">
+ <compile files="PR318.java"/>
+ <run class="PR318"/>
+ </ajc-test>
+
+ <ajc-test dir="new"
+ title="work nicely with inner class method look-up rules and call-site advice"
+ keywords="from-resolved_10x">
+ <compile files="InnerMethods.java"/>
+ <run class="InnerMethods"/>
+ </ajc-test>
+
+ <ajc-test dir="new" title="strictfp modifier allowed on advice"
+ keywords="from-resolved_10x">
+ <compile files="StrictFPAdvice.java"/>
+ <run class="StrictFPAdvice"/>
+ </ajc-test>
+
+ <ajc-test dir="new" pr="415"
+ title="No argthis was being created for calls advice."
+ keywords="from-resolved_10x">
+ <compile files="PR415.java"/>
+ <run class="PR415"/>
+ </ajc-test>
+
+ <ajc-test dir="new"
+ title="Ensuring no advice with instanceof(..) is run on static methods."
+ keywords="from-resolved_10x">
+ <compile files="StaticMethodsShouldNotReceiveInstanceofAdvice.java"/>
+ <run class="StaticMethodsShouldNotReceiveInstanceofAdvice"/>
+ </ajc-test>
+
+ <ajc-test dir="new"
+ title="Null pointer on gets advice showing the case causing the error"
+ keywords="from-resolved_10x">
+ <compile files="NullPointerOnGetsSimple.java"/>
+ <run class="NullPointerOnGetsSimple"/>
+ </ajc-test>
+
+ <ajc-test dir="new"
+ title="try to make sure that dynamic JoinPoint objects aren't generated when used inside of if (false) { ... }"
+ keywords="from-resolved_10x">
+ <compile files="IfdefsAndAdvice.java"/>
+ <run class="IfdefsAndAdvice"/>
+ </ajc-test>
+
+ <ajc-test dir="new"
+ title="within and withincode (doesn't all work due to local class name issues)"
+ keywords="from-resolved_10x">
+ <compile files="WithinInners.java"/>
+ <run class="WithinInners"/>
+ </ajc-test>
+
+ <ajc-test dir="new"
+ title="around advice on calls within inner classes (including protected method calls)"
+ keywords="from-resolved_10x">
+ <compile files="AroundInnerCalls.java"/>
+ <run class="AroundInnerCalls"/>
+ </ajc-test>
+
+ <ajc-test dir="new" title="Arguments to runNext should be final when needed"
+ keywords="from-resolved_10x">
+ <compile files="Finals.java"/>
+ <run class="Finals"/>
+ </ajc-test>
+
+ <ajc-test dir="new" title="Method introductions"
+ keywords="from-resolved_10x">
+ <compile files="MethodIntroductions.java"/>
+ <run class="MethodIntroductions"/>
+ </ajc-test>
+
+ <ajc-test dir="new" title="Putting an introduced method on each interface"
+ keywords="from-resolved_10x">
+ <compile files="IntroducedMethodsOnEachInterface.java"/>
+ <run class="IntroducedMethodsOnEachInterface"/>
+ </ajc-test>
+
+ <ajc-test dir="new" title="Extending interfaces"
+ keywords="from-resolved_10x">
+ <compile files="BindingInterfaces.java"/>
+ <run class="BindingInterfaces"/>
+ </ajc-test>
+
+ <ajc-test dir="new" title="Introducing private methods on interfaces"
+ keywords="from-resolved_10x">
+ <compile files="IntroducingPrivateMethodsOnInterfaces.java"/>
+ <run class="IntroducingPrivateMethodsOnInterfaces"/>
+ </ajc-test>
+
+ <ajc-test dir="new"
+ title="Issuing errors for assigning variables thisJoinPoint -- not assigning thisJoinPoint."
+ keywords="from-resolved_10x">
+ <compile files="ThisJoinPointAssignments.java"/>
+ <run class="ThisJoinPointAssignments"/>
+ </ajc-test>
+
+ <ajc-test dir="new"
+ title="Static references inside of introduced bodies get bound correctly."
+ keywords="from-resolved_10x">
+ <compile files="StaticIntroducedReferences.java"/>
+ <run class="StaticIntroducedReferences"/>
+ </ajc-test>
+
+ <ajc-test dir="new/cflowObjectCreations" pr="307"
+ title="cflow and object creations [of eachcflow]"
+ keywords="from-resolved_10x">
+ <compile files="Driver.java"/>
+ <run class="Driver"/>
+ </ajc-test>
+
+ <ajc-test dir="new/twofiles"
+ title="Doesn't import MightHaveAspect when compiling with more than 1 file. [eachobject]"
+ keywords="from-resolved_10x">
+ <compile files="TheObject.java,TheAspect.java"/>
+ <run class="TheObject"/>
+ </ajc-test>
+
+ <ajc-test dir="new" pr="436"
+ title="test binding to formals in calls to constructors (binding to null) (eachobject !!! now misnamed)"
+ keywords="from-resolved_10x">
+ <compile files="BindingThisInsteadOfFormal.java"/>
+ <run class="BindingThisInsteadOfFormal"/>
+ </ajc-test>
+
+ <ajc-test dir="new"
+ title="After advice isn't being woven into after throwing advice"
+ keywords="from-resolved_10x">
+ <compile files="AfterThrowingNotWoven.java"/>
+ <run class="AfterThrowingNotWoven"/>
+ </ajc-test>
+
+ <ajc-test dir="new" title="Throwing an EmptyStackException."
+ keywords="from-resolved_10x">
+ <compile files="EmptyStack.java"/>
+ <run class="EmptyStack"/>
+ </ajc-test>
+
+ <ajc-test dir="new"
+ title="check that MightHaveAspect interface is created correctly for an aspect in deep package"
+ keywords="from-resolved_10x">
+ <compile files="EachObjectTarget.java,EachObjectInDeepPackage.java"/>
+ <run class="EachObjectTarget"/>
+ </ajc-test>
+
+ <ajc-test dir="new" title="Defines clfow$ajc0 more once. [eachcflow]"
+ keywords="from-resolved_10x">
+ <compile files="Binkley.java"/>
+ <run class="Binkley"/>
+ </ajc-test>
+
+ <ajc-test dir="new"
+ title="Various calls, receptions, and callsto tests [callsto]"
+ keywords="from-resolved_10x">
+ <compile files="CallsReceptionsCallsto.java"/>
+ <run class="CallsReceptionsCallsto"/>
+ </ajc-test>
+
+ <ajc-test dir="new" pr="320"
+ title="Was throwing exception, now just an error. [eachobject]"
+ keywords="from-resolved_10x">
+ <compile files="PR320.java"/>
+ <run class="PR320"/>
+ </ajc-test>
+
+ <ajc-test dir="new"
+ title="different version of aspect inheritance, particularly empty pointcuts and abstract cflows [eachcflow]"
+ keywords="from-resolved_10x,fail-unimplemented">
+ <compile files="AspectInheritance.java"/>
+ <run class="AspectInheritance"/>
+ </ajc-test>
+
+ <ajc-test dir="new" pr="339"
+ title="set advice on member initing throwing exception [eachobject]"
+ keywords="from-resolved_10x">
+ <compile files="PR339.java"/>
+ <run class="PR339"/>
+ </ajc-test>
+
+ <ajc-test dir="new" pr="417"
+ title="Testing class names with same name's with difference case as package. [eachobject]"
+ keywords="from-resolved_10x">
+ <compile files="test/TraceAspect.java,test/Test.java"/>
+ <run class="test.Test"/>
+ </ajc-test>
+
+ <ajc-test dir="new"
+ title="Null pointer on gets advice with coverage [painful]"
+ keywords="from-resolved_10x">
+ <compile files="NullPointerOnGets.java"/>
+ <run class="NullPointerOnGets"/>
+ </ajc-test>
+
+ <ajc-test dir="new" title="Basic test for cflow pointcuts [eachcflow]"
+ keywords="from-resolved_10x">
+ <compile files="CFlowPoints.java"/>
+ <run class="CFlowPoints"/>
+ </ajc-test>
+
+ <ajc-test dir="new"
+ title="Crashing when looking up the type of array members."
+ keywords="from-resolved_10x">
+ <compile files="ArrayCasts.java"/>
+ <run class="ArrayCasts"/>
+ </ajc-test>
+
+ <ajc-test dir="new"
+ title="PostfixExprs to various synthetic things are fixed correctly [eachobject]"
+ keywords="from-resolved_10x">
+ <compile files="Fixes.java"/>
+ <run class="Fixes"/>
+ </ajc-test>
+
+ <ajc-test dir="new"
+ title="Dave Binkley's problem with eachcflowroot. [eachcflow]"
+ keywords="from-resolved_10x">
+ <compile files="Binkley2.java"/>
+ <run class="Binkley2"/>
+ </ajc-test>
+
+ <ajc-test dir="new" pr="105" title="advice on an inherited method"
+ keywords="from-resolved_10x">
+ <compile files="AdviceOnInheritedMethod.java"/>
+ <run class="AdviceOnInheritedMethod"/>
+ </ajc-test>
+
+ <ajc-test dir="new" pr="114"
+ title=", PR#115 checks the ordering of catch clauses"
+ keywords="from-resolved_10x">
+ <compile files="OrderOfCatches.java"/>
+ <run class="OrderOfCatches"/>
+ </ajc-test>
+
+ <ajc-test dir="new" title="various declared exception permutations"
+ keywords="from-resolved_10x">
+ <compile files="DeclaredExcs.java"/>
+ <run class="DeclaredExcs"/>
+ </ajc-test>
+
+ <ajc-test dir="new"
+ title="ordering of advice kinds as well as cflow and dominates"
+ keywords="from-resolved_10x">
+ <compile files="AdviceOrdering.java"/>
+ <run class="AdviceOrdering"/>
+ </ajc-test>
+
+ <ajc-test dir="new" pr="241"
+ title="advice on default constructor for a class only referenced via reflection"
+ keywords="from-resolved_10x">
+ <compile files="OddConstructors.java"/>
+ <run class="OddConstructors"/>
+ </ajc-test>
+
+ <ajc-test dir="new" pr="289"
+ title="calling and called this params in calls points"
+ keywords="from-resolved_10x">
+ <compile files="CallsParams.java"/>
+ <run class="CallsParams"/>
+ </ajc-test>
+
+ <ajc-test dir="new" pr="322"
+ title="primitive parameters coercable to Object just like return values are"
+ keywords="from-resolved_10x">
+ <compile files="ObjectForInt.java"/>
+ <run class="ObjectForInt"/>
+ </ajc-test>
+
+ <ajc-test dir="new"
+ title="Does the matrix coverage thing for the new method signatures"
+ keywords="from-resolved_10x">
+ <compile files="MethodSignatures.java"/>
+ <run class="MethodSignatures"/>
+ </ajc-test>
+
+ <ajc-test dir="new"
+ title="join points in static/dynamic initializers aren't showing up."
+ keywords="from-resolved_10x">
+ <compile files="NonexistentInitializers.java"/>
+ <run class="NonexistentInitializers"/>
+ </ajc-test>
+
+ <ajc-test dir="new"
+ title="Gets and sets on a number of variables (field access ???)"
+ keywords="from-resolved_10x">
+ <compile files="Gets.java"/>
+ <run class="Gets"/>
+ </ajc-test>
+
+ <ajc-test dir="new" title="correct types of parameters at call-sites"
+ keywords="from-resolved_10x">
+ <compile files="CallTypes.java"/>
+ <run class="CallTypes"/>
+ </ajc-test>
+
+ <ajc-test dir="new"
+ title="Joinpoints are showing up on intermediate call sites"
+ keywords="from-resolved_10x">
+ <compile files="Counting1.java"/>
+ <run class="Counting1"/>
+ </ajc-test>
+
+ <ajc-test dir="new" title="Reception based on strictfp modifier"
+ keywords="from-resolved_10x">
+ <compile files="StrictFpReceptions.java"/>
+ <run class="StrictFpReceptions"/>
+ </ajc-test>
+
+ <ajc-test dir="new" pr="353"
+ title="Subclasses that do not redefine a method are not being handled correctly"
+ keywords="from-resolved_10x">
+ <compile files="PR353b.java"/>
+ <run class="PR353b"/>
+ </ajc-test>
+
+ <ajc-test dir="new"
+ title="making sure that super calls are bound to the right methods"
+ keywords="from-resolved_10x">
+ <compile files="SupersAndInterfaces.java"/>
+ <run class="SupersAndInterfaces"/>
+ </ajc-test>
+
+ <ajc-test dir="new" pr="317"
+ title="inheritance, around advice and abstract pointcuts [eachobject] (still)"
+ keywords="from-resolved_10x">
+ <compile files="OverridingPointcuts.java"/>
+ <run class="OverridingPointcuts"/>
+ </ajc-test>
+
+ <ajc-test dir="new/foemmel"
+ title="Priviledged aspect methods are missing for privates. [eachobject]"
+ keywords="from-resolved_10x">
+ <compile files="TheAspect.java,TheObject.java">
+ <message kind="warning" line="7" text="TheAspect.java:7"/>
+ </compile>
+ <run class="TheObject"/>
+ </ajc-test>
+
+ <ajc-test dir="new"
+ title="exceptions thrown and caught in advice, particularly try+proceed"
+ keywords="from-resolved_10x">
+ <compile files="TryAndProceed.java"/>
+ <run class="TryAndProceed"/>
+ </ajc-test>
+
+ <ajc-test dir="new" title="Not and And operators in pointcuts not working"
+ keywords="from-resolved_10x">
+ <compile files="NotAndPointcut.java"/>
+ <run class="NotAndPointcut"/>
+ </ajc-test>
+
+ <ajc-test dir="new"
+ title="Member initializers should run before the current class constructor"
+ keywords="from-resolved_10x">
+ <compile files="MemberInitializationsAfterExplicitConstructorCalls.java"/>
+ <run class="MemberInitializationsAfterExplicitConstructorCalls"/>
+ </ajc-test>
+
+ <ajc-test dir="new"
+ title="Coverage tests for Member initializers should run before the current class constructor and after super"
+ keywords="from-resolved_10x">
+ <compile
+ files="MemberInitializationsAfterExplicitConstructorCallsCoverage.java"/>
+ <run class="MemberInitializationsAfterExplicitConstructorCallsCoverage"/>
+ </ajc-test>
+
+ <ajc-test dir="new"
+ title="thisJoinPoint{Static} not visible in if() pcd of named pointcut"
+ keywords="from-resolved_10x">
+ <compile files="IfPCDExprJoinPointVisibleCE.java"/>
+ <run class="IfPCDExprJoinPointVisibleCE"/>
+ </ajc-test>
+
+ <ajc-test dir="new"
+ title="pcd if() expression visibility at compile-time (minimal operation)"
+ keywords="from-resolved_10x">
+ <compile files="IfPCDExprVisibility.java" options="-Xlint:ignore"/>
+ <run class="IfPCDExprVisibility"/>
+ </ajc-test>
+
+ <ajc-test dir="new"
+ title="pcd if() NPE in compiler when unwinding assignment in pcd if(expr)"
+ keywords="from-resolved_10x">
+ <compile files="IfPCDExprAssignUnparseFailure.java"/>
+ <run class="IfPCDExprAssignUnparseFailure"/>
+ </ajc-test>
+
+ <ajc-test dir="new"
+ title="pcd if() dup methods produced when pointcut after advice etc (javac)"
+ keywords="from-resolved_10x">
+ <compile files="IfPCDDupMethod.java"/>
+ <run class="IfPCDDupMethod"/>
+ </ajc-test>
+
+ <ajc-test dir="new"
+ title="pcd if() variants: [anonymous, named] x [execution, call, callTyped, get, set, initializations] x [before, after, around]"
+ keywords="from-resolved_10x">
+ <compile files="IfPCDAdviceMethods.java"/>
+ <run class="IfPCDAdviceMethods"/>
+ </ajc-test>
+
+ <ajc-test dir="new/pr456" pr="456" title="advice on advice in usejavac mode"
+ keywords="from-resolved_10x">
+ <compile options="-usejavac"
+ files="Test_AroundVarBug.java,AroundVarBug.java"/>
+ <run class="Test_AroundVarBug"/>
+ </ajc-test>
+
+ <ajc-test dir="new" pr="476" title="initialization order with this"
+ keywords="from-resolved_10x">
+ <compile files="InitializationOrder.java"/>
+ <run class="InitializationOrder"/>
+ </ajc-test>
+
+ <ajc-test dir="new" pr="496"
+ title="!within and !this handling for callee-side call points"
+ keywords="from-resolved_10x">
+ <compile files="NotThis.java"/>
+ <run class="NotThis"/>
+ </ajc-test>
+
+ <ajc-test dir="new/innerInterfaces" pr="494"
+ title="private inner interfaces and bytecode visibility"
+ keywords="from-resolved_10x">
+ <compile files="p/Driver.java,p/InnerTest.java,other/Test.java"/>
+ <run class="p.Driver"/>
+ </ajc-test>
+
+ <ajc-test dir="new" pr="490"
+ title="elaborated into testing of around on all join points"
+ keywords="from-resolved_10x">
+ <compile files="AroundAll.java"/>
+ <run class="AroundAll"/>
+ </ajc-test>
+
+ <ajc-test dir="new"
+ title="type name hygiene when code comes from aspects in different packages"
+ keywords="from-resolved_10x">
+ <compile
+ files="typeNameConflicts/Driver.java,typeNameConflicts/p1/C.java,typeNameConflicts/aspects/A.java"/>
+ <run class="typeNameConflicts.Driver"/>
+ </ajc-test>
+
+ <ajc-test dir="new" title="cflowbelow dependencies (from Chris Dutchyn)"
+ keywords="from-resolved_10x">
+ <compile files="CflowBelowTest.java"/>
+ <run class="CflowBelowTest"/>
+ </ajc-test>
+
+ <ajc-test dir="new"
+ title="target type matching with messy interface hierarchies"
+ keywords="from-resolved_10x">
+ <compile files="CallTypesI.java"/>
+ <run class="CallTypesI"/>
+ </ajc-test>
+
+ <ajc-test dir="new" pr="490"
+ title="PR#458 Compiler was incorrectly flagging error in advice on initialization and static initialization"
+ keywords="from-resolved_10x">
+ <compile files="StaticInitCE.java"/>
+ <run class="StaticInitCE"/>
+ </ajc-test>
+
+ <ajc-test dir="new" pr="493"
+ title="Compiler incorrectly flagging *1 (non-alphabetic start to signature pattern)"
+ keywords="from-resolved_10x">
+ <compile files="NonAlphaSignaturePatternCE.java"/>
+ <run class="NonAlphaSignaturePatternCE"/>
+ </ajc-test>
+
+ <ajc-test dir="new"
+ title="Unable to bind privately-introduced field name from introduced method in the same aspect"
+ keywords="from-resolved_10x">
+ <compile files="IntroducedFieldsNotBinding.java"/>
+ <run class="IntroducedFieldsNotBinding"/>
+ </ajc-test>
+
+ <ajc-test dir="new/anonInnerClass" pr="297"
+ title="anonymous inner class with aspect" keywords="from-resolved_10x">
+ <compile files="Driver.java"/>
+ <run class="Driver"/>
+ </ajc-test>
+
+ <ajc-test dir="new" pr="335"
+ title="Arguments are not being passed in to calls advice"
+ keywords="from-resolved_10x">
+ <compile files="PR335.java"/>
+ <run class="PR335"/>
+ </ajc-test>
+
+ <ajc-test dir="design/intro" title="interfaces as mixins with introduction"
+ keywords="from-resolved_10x">
+ <compile files="Interfaces.java"/>
+ <run class="Interfaces"/>
+ </ajc-test>
+
+ <ajc-test dir="new"
+ title="functional modifiers work correctly with introduced members"
+ keywords="from-resolved_10x">
+ <compile files="IntroducedModifiers.java"/>
+ <run class="IntroducedModifiers"/>
+ </ajc-test>
+
+ <ajc-test dir="new"
+ title="ExceptionInInitializerError accessing cflow in aspect initialization - before variants"
+ keywords="from-resolved_10x">
+ <compile files="CflowInitInAspectVariantsBefore.java"/>
+ <run class="CflowInitInAspectVariantsBefore"/>
+ </ajc-test>
+
+ <ajc-test dir="new"
+ title="NoClassDefFoundError accessing cflow in aspect initialization - after variants"
+ keywords="from-resolved_10x">
+ <compile files="CflowInitInAspectVariantsAfter.java"/>
+ <run class="CflowInitInAspectVariantsAfter"/>
+ </ajc-test>
+
+ <ajc-test dir="new" title="InternalCompilerError in JpPlan when args alone"
+ keywords="from-resolved_10x">
+ <compile files="ArgsAlone.java"/>
+ <run class="ArgsAlone"/>
+ </ajc-test>
+
+ <ajc-test dir="new" pr="527"
+ title="compile error using pcd if() with advice on introduced methods."
+ keywords="from-resolved_10x">
+ <compile files="PR527.java"/>
+ <run class="PR527"/>
+ </ajc-test>
+
+ <ajc-test dir="new" pr="528"
+ title="compile errors boolean using cflow and unimplemented method using around advice on methods introduced by interface"
+ keywords="from-resolved_10x">
+ <compile files="PR528.java"/>
+ <run class="PR528"/>
+ </ajc-test>
+
+ <ajc-test dir="new" pr="534" title="aspect as member of interface"
+ keywords="from-resolved_10x">
+ <compile files="AspectInInterfaceCP.java"/>
+ <run class="AspectInInterfaceCP"/>
+ </ajc-test>
+
+ <ajc-test dir="new" pr="535"
+ title="missing method name to synthetic invocation"
+ keywords="from-resolved_10x,new-messages-vary">
+ <compile files="PR535.java"/>
+ <run class="PR535"/>
+ </ajc-test>
+
+ <ajc-test dir="new" pr="536"
+ title="protected subclass impl of superclass method with default access and variants"
+ keywords="from-resolved_10x">
+ <compile files="RestrictingVisibilityCP.java"/>
+ <run class="RestrictingVisibilityCP"/>
+ </ajc-test>
+
+ <ajc-test dir="new" pr="519" title="Exception planning advice"
+ keywords="from-resolved_10x">
+ <compile files="PR519.java"/>
+ <run class="PR519"/>
+ </ajc-test>
+
+ <ajc-test dir="new" pr="521"
+ title="unreproduced bug with advice - probably UTR"
+ keywords="from-resolved_10x">
+ <compile files="PR520.java"/>
+ <run class="PR520"/>
+ </ajc-test>
+
+ <ajc-test dir="new" pr="494"
+ title="introduced inner interfaces accessible inside aspect"
+ keywords="from-resolved_10x">
+ <compile files="IntroduceInnerInterfaceCP.java"/>
+ <run class="IntroduceInnerInterfaceCP"/>
+ </ajc-test>
+
+ <ajc-test dir="new" pr="525"
+ title="validate (enclosing) join point and source locations"
+ keywords="from-resolved_10x">
+ <compile files="NegativeSourceLocation.java"/>
+ <run class="NegativeSourceLocation"/>
+ </ajc-test>
+
+ <ajc-test dir="new" pr="544"
+ title="advice formals are just like method formals"
+ keywords="from-resolved_10x">
+ <compile files="AdviceFormalsCp.java"/>
+ <run class="AdviceFormalsCp"/>
+ </ajc-test>
+
+ <ajc-test dir="new" pr="544"
+ title="advice formals produce errors just like method formals"
+ keywords="from-resolved_10x">
+ <compile files="AdviceFormalsCf.java">
+ <message kind="error" line="28"/>
+ <message kind="error" line="29"/>
+ <message kind="error" line="36"/>
+ <message kind="error" line="37"/>
+ </compile>
+ </ajc-test>
+
+ <ajc-test dir="new"
+ title="advice throws clauses must be compatible with joinpoints they apply to"
+ keywords="from-resolved_10x">
+ <compile files="AdviceThrowsCp.java"/>
+ <run class="AdviceThrowsCp"/>
+ </ajc-test>
+
+ <ajc-test dir="new"
+ title="incompatible advice throws clause are a compile-time error"
+ keywords="from-resolved_10x">
+ <compile files="AdviceThrowsCf.java">
+ <message kind="error" line="70"/>
+ <message kind="error" line="74"/>
+ <message kind="error" line="76"/>
+ <message kind="error" line="78"/>
+ </compile>
+ </ajc-test>
+
+ <ajc-test dir="new" pr="570"
+ title="potential method conflicts with introductions and interfaces and PR#561"
+ keywords="from-resolved_10x">
+ <compile files="MethodConflictsCP.java"/>
+ <run class="MethodConflictsCP"/>
+ </ajc-test>
+
+ <ajc-test dir="new" pr="570"
+ title="illegal method conflicts with introductions and interfaces and PR#561"
+ keywords="from-resolved_10x">
+ <compile files="MethodConflictsCF.java">
+ <message kind="error" line="8"/>
+ </compile>
+ </ajc-test>
+
+ <ajc-test dir="new" title="AspectOf available for different aspect types"
+ keywords="from-resolved_10x">
+ <compile files="AspectOf.java"/>
+ <run class="AspectOf"/>
+ </ajc-test>
+
+ <ajc-test dir="new/privilegedAspects"
+ title="access to all members of class and inner class from privileged aspect"
+ keywords="from-resolved_10x">
+ <compile
+ files="driver/PrivilegedAspect.java,util/Util.java,pack/DefaultTarget.java,pack/PublicTarget.java"/>
+ <run class="driver.PrivilegedAspect"/>
+ </ajc-test>
+
+ <ajc-test dir="new"
+ title="cflow alone with around produces compiler bcg StackOverflowError"
+ keywords="from-resolved_10x">
+ <compile files="CflowAlone.java"/>
+ <run class="CflowAlone"/>
+ </ajc-test>
+
+ <ajc-test dir="new"
+ title="get/set join points run for complex assignment operators (+=, etc.) (working)"
+ keywords="from-resolved_10x">
+ <compile files="AssignOps.java"/>
+ <run class="AssignOps"/>
+ </ajc-test>
+
+ <ajc-test dir="new/introTypeMissing"
+ title="this available in introduced field initializers"
+ keywords="from-resolved_10x">
+ <compile files="ThisInIntroFieldInit.java"/>
+ <run class="ThisInIntroFieldInit"/>
+ </ajc-test>
+
+ <ajc-test dir="new/introTypeMissing"
+ title="Introduced type unavailable to cast expressions in introduced methods"
+ keywords="from-resolved_10x">
+ <compile files="Cast.java,TargetClass.java,Util.java"/>
+ <run class="Cast"/>
+ </ajc-test>
+
+ <ajc-test dir="new/introTypeMissing"
+ title="Introduced type unavailable to qualified new expressions in introduced methods"
+ keywords="from-resolved_10x">
+ <compile files="Inner.java,TargetClass.java,Util.java"/>
+ <run class="Inner"/>
+ </ajc-test>
+
+ <ajc-test dir="new/introTypeMissing"
+ title="Introduced type unavailable to cast expressions in introduced field initializers"
+ keywords="from-resolved_10x">
+ <compile files="CastInFieldInit.java,TargetClass.java,Util.java"/>
+ <run class="CastInFieldInit"/>
+ </ajc-test>
+
+ <ajc-test dir="new/introTypeMissing"
+ title="Aspect type unavailable to qualified new expressions in body of introduced methods"
+ keywords="from-resolved_10x">
+ <compile files="AspectInIntroducedMethod.java"/>
+ <run class="AspectInIntroducedMethod"/>
+ </ajc-test>
+
+ <ajc-test dir="new/introTypeMissing"
+ title="Introduced type unavailable to instanceof expressions in introduced methods"
+ keywords="from-resolved_10x">
+ <compile files="InstanceOf.java,TargetClass.java,Util.java">
+ <message kind="error" line="19"/>
+ <message kind="error" line="20"/>
+ <message kind="error" line="21"/>
+ <message kind="error" line="22"/>
+ <message kind="error" line="23"/>
+ <message kind="error" line="24"/>
+ <message kind="error" line="25"/>
+ <message kind="error" line="26"/>
+ </compile>
+ </ajc-test>
+
+ <ajc-test dir="new/introTypeMissing"
+ title="Introduced type unavailable to qualified new expressions in introduced field initializers"
+ keywords="from-resolved_10x">
+ <compile files="InnerInFieldInit.java,TargetClass.java,Util.java"/>
+ <run class="InnerInFieldInit"/>
+ </ajc-test>
+
+ <ajc-test dir="new" pr="595"
+ title="variable slots and finally/catch causing verify errors"
+ keywords="from-resolved_10final,from-resolved_10x">
+ <compile files="AfterFinally.java"/>
+ <run class="AfterFinally"/>
+ </ajc-test>
+
+ <ajc-test dir="new"
+ title="enclosing join point not exported properly in pre-initialization join point"
+ keywords="from-resolved_10x">
+ <compile files="PreInitialization.java"/>
+ <run class="PreInitialization"/>
+ </ajc-test>
+
+ <ajc-test dir="new" pr="590"
+ title="after advice on static method with pcd if() using result"
+ keywords="from-resolved_10x">
+ <compile files="PR590.java">
+ <message kind="error" line="20"/>
+ <message kind="error" line="23"/>
+ </compile>
+ </ajc-test>
+
+ <ajc-test dir="new" pr="590"
+ title="after advice on static method with pcd if() using result through pointcut"
+ keywords="from-resolved_10x">
+ <compile files="PR590a.java">
+ <message kind="error" line="29"/>
+ <message kind="error" line="31"/>
+ </compile>
+ </ajc-test>
+
+ <ajc-test dir="new/PR600" pr="600"
+ title="AbstractMethodError for introduced methods (order 1)"
+ keywords="from-resolved_10x">
+ <compile files="Main.java,My_error.java,A.java,B.java,C.java"/>
+ <run class="Main"/>
+ </ajc-test>
+
+ <ajc-test dir="new/PR600" pr="600"
+ title="AbstractMethodError for introduced methods (order 2)"
+ keywords="from-resolved_10x">
+ <compile files="Main.java,My_error.java,C.java,A.java,B.java"/>
+ <run class="Main"/>
+ </ajc-test>
+
+ <ajc-test dir="new/PR600" pr="600"
+ title="AbstractMethodError for introduced methods (order 3)"
+ keywords="from-resolved_10x">
+ <compile files="My_error.java,A.java,B.java,C.java,Main.java"/>
+ <run class="Main"/>
+ </ajc-test>
+
+ <ajc-test dir="new/PR600" pr="600"
+ title="AbstractMethodError for introduced methods (order 4)"
+ keywords="from-resolved_10x">
+ <compile files="A.java,B.java,C.java,Main.java,My_error.java"/>
+ <run class="Main"/>
+ </ajc-test>
+
+ <ajc-test dir="new/PR600" pr="600"
+ title="AbstractMethodError for introduced methods (order 5)"
+ keywords="from-resolved_10x">
+ <compile files="A.java,B.java,Main.java,C.java,My_error.java"/>
+ <run class="Main"/>
+ </ajc-test>
+
+ <ajc-test dir="new" title="declare error and abstract pointcuts"
+ keywords="from-resolved_10x">
+ <compile files="AbstractDeclare.java">
+ <message kind="error" line="3"/>
+ <message kind="error" line="4"/>
+ </compile>
+ </ajc-test>
+
+ <ajc-test dir="new/runtime"
+ title="Exercise runtime classes (optionally in 1.1 VM)"
+ keywords="from-resolved_10x">
+ <compile files="AllRuntime.java,TesterDriver.java"/>
+ <run class="TesterDriver"/>
+ </ajc-test>
+
+ <ajc-test dir="new"
+ title="VerifyError after around advice falls off end of tryCatch"
+ keywords="from-resolved_10x">
+ <compile files="TryOffEnd.java">
+ <message kind="warning" line="13"/>
+ <message kind="warning" line="21"/>
+ </compile>
+ <run class="TryOffEnd"/>
+ </ajc-test>
+
+ <ajc-test dir="new" pr="635" title="Named within pointcuts failing"
+ keywords="from-resolved_10x">
+ <compile files="NamedWithinPointcuts.java"/>
+ <run class="NamedWithinPointcuts"/>
+ </ajc-test>
+
+ <ajc-test dir="new/subaspects" pr="647"
+ title="aspect with private abstract pointcut"
+ keywords="from-resolved_10x,fail-unimplemented">
+ <compile files="PrivatePointcutCE.java">
+ <message kind="error" line="5"/>
+ </compile>
+ </ajc-test>
+
+ <ajc-test dir="new/subaspects" pr="647"
+ title="concrete aspect unable to access abstract package-private pointcut in parent for overriding"
+ keywords="from-resolved_10x"
+ comment="XXX getting error - confirm line numbers">
+ <compile files="parent/ParentCE.java,child/ChildCE.java">
+ <message kind="error" line="27"/>
+ </compile>
+ </ajc-test>
+
+ <ajc-test dir="new/subaspects" pr="647"
+ title="inner, outer, and outside-package subaspects of an aspect with abstract protected-, public-, and default-access pointcuts"
+ keywords="from-resolved_10x">
+ <compile
+ files="parent/SubAspectVisibility.java,parent/ForeignChildHelper.java,child/ForeignChildAspect.java"/>
+ <run class="parent.SubAspectVisibility"/>
+ </ajc-test>
+
+ <ajc-test dir="new/subaspects" pr="647"
+ title="inner subaspects of an aspect with private pointcut"
+ keywords="from-resolved_10x">
+ <compile files="parent/PrivatePointcut.java"/>
+ <run class="parent.PrivatePointcut"/>
+ </ajc-test>
+
+ <ajc-test dir="new/subaspects" pr="647"
+ title="outer subaspects of an aspect with private pointcut"
+ keywords="from-resolved_10x">
+ <compile files="parent/PrivatePointcutOuterClass.java"/>
+ <run class="parent.PrivatePointcutOuterClass"/>
+ </ajc-test>
+
+ <ajc-test dir="new/subaspects" pr="647"
+ title="abstract aspect used statically should not cause instantiation of advice or pointcut"
+ keywords="from-resolved_10x">
+ <compile files="AbstractAspectUsedStatically.java"/>
+ <run class="AbstractAspectUsedStatically"/>
+ </ajc-test>
+
+ <ajc-test dir="new"
+ title="private inner interface accessible in scope when declared on outer class"
+ keywords="from-resolved_10x">
+ <compile files="DeclareAccess.java"/>
+ <run class="DeclareAccess"/>
+ </ajc-test>
+
+ <ajc-test dir="new"
+ title="accessing protected superclass members in and outside CCC from body of method introduction"
+ keywords="from-resolved_10x">
+ <compile files="SuperInIntroduction.java"/>
+ <run class="SuperInIntroduction"/>
+ </ajc-test>
+
+ <ajc-test dir="new"
+ title="accessing private superclass members from body of method introduction"
+ keywords="from-resolved_10x">
+ <compile files="SuperInIntroductionCE.java">
+ <message kind="error" line="25"/>
+ <message kind="error" line="26"/>
+ </compile>
+ </ajc-test>
+
+ <ajc-test dir="new" title="simple test for around and casting"
+ keywords="from-resolved_10x">
+ <compile files="AroundCasting.java"/>
+ <run class="AroundCasting"/>
+ </ajc-test>
+
+ <ajc-test dir="new/aroundinner" pr="620"
+ title="aroundInner 1 - around advice inner Thread subclass running proceed but not writing field"
+ keywords="from-resolved_10x">
+ <compile files="ThreadNoField.java,Common.java"/>
+ <run class="ThreadNoField"/>
+ </ajc-test>
+
+ <ajc-test dir="new/aroundinner" pr="620"
+ title="aroundInner 2 - around advice inner Runnable running proceed and writing method-final proxy"
+ keywords="from-resolved_10x">
+ <compile files="Proxy.java,Common.java"/>
+ <run class="Proxy"/>
+ </ajc-test>
+
+ <ajc-test dir="new/aroundinner" pr="620"
+ title="aroundInner 3 - around advice inner class running proceed and writing field"
+ keywords="from-resolved_10x">
+ <compile files="Minimal.java,Common.java"/>
+ <run class="Minimal"/>
+ </ajc-test>
+
+ <ajc-test dir="new/aroundinner" pr="620"
+ title="aroundInner 4 - around advice inner Thread subclass running proceed and writing field"
+ keywords="from-resolved_10x">
+ <compile files="ThreadSub.java,Common.java"/>
+ <run class="ThreadSub"/>
+ </ajc-test>
+
+ <ajc-test dir="new/aroundinner" pr="620"
+ title="aroundInner 5 - around advice inner Runnable (subinterface) running proceed and writing field introduced on subinterface"
+ keywords="from-resolved_10x">
+ <compile files="RunnableSub.java,Common.java"/>
+ <run class="RunnableSub"/>
+ </ajc-test>
+
+ <ajc-test dir="new" pr="636"
+ title="Named local class closing over proceed invocation"
+ keywords="from-resolved_10x">
+ <compile files="LocalClassClosingOverProceed.java"/>
+ <run class="LocalClassClosingOverProceed"/>
+ </ajc-test>
+
+ <ajc-test dir="new"
+ title="can't apply around advice to the execution of around advice"
+ keywords="from-resolved_10x">
+ <compile files="CflowCycles.java"/>
+ <run class="CflowCycles"/>
+ </ajc-test>
+
+ <ajc-test dir="new"
+ title="beautiful recursive computation of factorial with around is now supported"
+ keywords="from-resolved_10x">
+ <compile files="CircularAdvice.java"/>
+ <run class="CircularAdvice"/>
+ </ajc-test>
+
+ <ajc-test dir="new" pr="632"
+ title="multi-dispatch not used for named pcd references"
+ keywords="from-resolved_10x">
+ <compile files="MultiDispatchCf.java">
+ <message kind="error" line="54"/>
+ <message kind="error" line="57"/>
+ <message kind="error" line="60"/>
+ <message kind="error" line="71"/>
+ </compile>
+ </ajc-test>
+
+ <ajc-test dir="new" pr="632"
+ title="multi-dispatch implemented through around + args"
+ keywords="from-resolved_10x">
+ <compile files="MultiDispatchCp.java"/>
+ <run class="MultiDispatchCp"/>
+ </ajc-test>
+
+ <ajc-test dir="new"
+ title="unrecognized aspect should not net Cloneable and Serializable warnings"
+ keywords="from-resolved_10x">
+ <compile files="UnrecognizedAspectCE.java">
+ <message kind="error" line="3"/>
+ </compile>
+ </ajc-test>
+
+ <ajc-test dir="new"
+ title="unreachable code generated by around advice on the execution of void methods"
+ keywords="from-resolved_10x">
+ <compile files="AroundVoid.java"/>
+ <run class="AroundVoid"/>
+ </ajc-test>
+
+ <ajc-test dir="new" pr="654"
+ title="Overriding method implementations using introduction on interfaces"
+ keywords="from-resolved_10x,fail-unimplemented">
+ <compile files="IntroductionsOverriding.java"/>
+ <run class="IntroductionsOverriding"/>
+ </ajc-test>
+
+ <ajc-test dir="new" pr="654"
+ title="more coverage for around and concrete methods on interfaces"
+ keywords="from-resolved_10x">
+ <compile files="MultiAndAround.java"/>
+ <run class="MultiAndAround"/>
+ </ajc-test>
+
+ <ajc-test dir="new" title="invalid number and type of proceed arguments"
+ keywords="from-resolved_10x">
+ <compile files="InvalidProceedArgsCE.java">
+ <message kind="error" line="10"/>
+ <message kind="error" line="15"/>
+ <message kind="error" line="17"/>
+ <message kind="error" line="20"/>
+ <message kind="error" line="22"/>
+ <message kind="error" line="27"/>
+ <message kind="error" line="29"/>
+ <message kind="error" line="31"/>
+ <message kind="error" line="37"/>
+ <message kind="error" line="39"/>
+ <message kind="error" line="43"/>
+ <message kind="error" line="46"/>
+ </compile>
+ </ajc-test>
+
+ <ajc-test dir="new" pr="694" title="after returning advice order"
+ keywords="from-resolved_10x">
+ <compile files="Cricket.java"/>
+ <run class="Cricket"/>
+ </ajc-test>
+
+ <ajc-test dir="new" pr="694" title="after returning advice param"
+ keywords="from-resolved_10x">
+ <compile files="AfterReturningParam.java">
+ <message kind="warning" line="35"/>
+ <message kind="warning" line="38"/>
+ <message kind="warning" line="41"/>
+ <message kind="warning" line="65"/>
+ </compile>
+ <run class="AfterReturningParam"/>
+ </ajc-test>
+
+ <ajc-test dir="new" pr="695"
+ title="! and declaring types with callee-side call join points"
+ keywords="from-resolved_10x">
+ <compile files="NotAndDeclaringTypes.java"/>
+ <run class="NotAndDeclaringTypes"/>
+ </ajc-test>
+
+ <ajc-test dir="new" pr="479"
+ title=". Binding the wrong arguments in withincode(..)."
+ keywords="from-resolved_10x">
+ <compile files="BindingArgumentsInWithincode.java"/>
+ <run class="BindingArgumentsInWithincode"/>
+ </ajc-test>
+
+ <ajc-test dir="new" pr="479"
+ title=". Matching arguments in cflow correctly."
+ keywords="from-resolved_10x">
+ <compile files="MatchingArgumentsInCflow.java"/>
+ <run class="MatchingArgumentsInCflow"/>
+ </ajc-test>
+
+ <ajc-test dir="new" pr="480"
+ title=". Binding variables with numbers in their name with pertarget(..)'s."
+ keywords="from-resolved_10x">
+ <compile files="PerTargetAndVariablesWithNumbersInTheirNames.java"/>
+ <run class="PerTargetAndVariablesWithNumbersInTheirNames"/>
+ </ajc-test>
+
+ <ajc-test dir="new" pr="554"
+ title="second arg in formal on shared joinpoint with pcd if() causes verify error ??"
+ keywords="from-resolved_10rc3">
+ <compile files="PR554.java"/>
+ <run class="PR554"/>
+ </ajc-test>
+
+ <ajc-test dir="new/privilegedAspects" pr="555"
+ title="access to private members from privileged aspect"
+ keywords="from-resolved_10rc3">
+ <compile
+ files="driver/PR555.java,util/Util.java,pack/DefaultTarget.java"/>
+ <run class="driver.PR555"/>
+ </ajc-test>
+
+ <ajc-test dir="new" pr="555"
+ title="inner classes of privileged aspects cannot see target class private members"
+ keywords="from-resolved_10rc3">
+ <compile files="InnerClassInPrivilegedAspect.java"/>
+ <run class="InnerClassInPrivilegedAspect"/>
+ </ajc-test>
+
+ <ajc-test dir="new/packageAccessPR556" pr="556"
+ title="aspects should get package access outside the file"
+ keywords="from-resolved_10rc3">
+ <compile files="base1/p/C1.java,base2/p/C2.java"/>
+ <run class="p.C1"/>
+ </ajc-test>
+
+ <ajc-test dir="new" pr="559"
+ title="subclass advice not run for join points selected by superclass cflow-based pointcuts"
+ keywords="from-resolved_10rc3">
+ <compile files="PR559.java"/>
+ <run class="PR559"/>
+ </ajc-test>
+
+ <ajc-test dir="new" pr="559"
+ title="more issues with abstract aspects and cflow pointcuts"
+ keywords="from-resolved_10rc3,fail-unimplemented">
+ <compile files="AbstractCflows.java"/>
+ <run class="AbstractCflows"/>
+ </ajc-test>
+
+ <ajc-test dir="new" pr="560"
+ title="compile fails for aspect derived from percflow base aspect unless pointcut excludes base aspect and subaspects"
+ keywords="from-resolved_10rc3">
+ <compile files="PR560.java"/>
+ <run class="PR560"/>
+ </ajc-test>
+
+ <ajc-test dir="new" pr="568" title="cyclic pointcut definitions"
+ keywords="from-resolved_10rc3">
+ <compile files="CyclicPointcuts.java">
+ <message kind="error" line="11"/>
+ <message kind="error" line="14"/>
+ <message kind="error" line="18"/>
+ <message kind="error" line="32"/>
+ <message kind="error" line="43"/>
+ </compile>
+ </ajc-test>
+
+ <ajc-test dir="new" pr="573"
+ title="pertarget stack overflow getting name of anonymous (Interface) class"
+ keywords="from-resolved_10rc3">
+ <compile files="PR573.java">
+ <message kind="warning" line="21"/>
+ </compile>
+ <run class="PR573"/>
+ </ajc-test>
+
+ <ajc-test dir="new" pr="573"
+ title="pertarget stack overflow getting name of anonymous (Object) class"
+ keywords="from-resolved_10rc3">
+ <compile files="PR573_1.java">
+ <message kind="warning" line="20"/>
+ </compile>
+ <run class="PR573_1"/>
+ </ajc-test>
+
+ <ajc-test dir="new" pr="573"
+ title="pertarget runtime stack overflow (getting name of anonymous (Object) class?)"
+ keywords="from-resolved_10rc3">
+ <compile files="PR573_2.java"/>
+ <run class="PR573_2"/>
+ </ajc-test>
+
+ <ajc-test dir="new"
+ title="PR584 Can construct inner classes using qualified expressions"
+ keywords="from-resolved_10rc3,purejava">
+ <compile files="PR584.java"/>
+ <run class="PR584"/>
+ </ajc-test>
+
+ <ajc-test dir="new" pr="685"
+ title="subaspect method declaration on superaspect inner interface (names)"
+ keywords="from-resolved_104">
+ <compile files="InnerInterfaceNames.java"/>
+ <run class="InnerInterfaceNames"/>
+ </ajc-test>
+
+ <ajc-test dir="new" pr="685"
+ title="subaspect method declaration on superaspect inner interface (access)"
+ keywords="from-resolved_104">
+ <compile files="InnerInterfaceAccess.java"/>
+ <run class="InnerInterfaceAccess"/>
+ </ajc-test>
+
+ <ajc-test dir="new" pr="685"
+ title="subaspect method declaration on superaspect inner interface (types)"
+ keywords="from-resolved_104">
+ <compile files="InnerInterfaceTypes.java,InnerInterfaceTypesHelper.java"/>
+ <run class="InnerInterfaceTypes"/>
+ </ajc-test>
+
+ <ajc-test dir="new" pr="691" title="around AST type XXX"
+ keywords="from-resolved_104">
+ <compile files="PR691.java"/>
+ <run class="PR691"/>
+ </ajc-test>
+
+ <ajc-test dir="new" pr="687"
+ title="around all execution with double assignment in initializer (simple)"
+ keywords="from-resolved_104">
+ <compile files="AroundDoubleAssignment.java"/>
+ <run class="AroundDoubleAssignment"/>
+ </ajc-test>
+
+ <ajc-test dir="new" pr="687"
+ title="around all execution with double assignment in initializer (coverage)"
+ keywords="from-resolved_104">
+ <compile files="AroundDoubleAssignmentC.java"/>
+ <run class="AroundDoubleAssignmentC"/>
+ </ajc-test>
+
+ <ajc-test dir="new"
+ title="changing this in around's proceed reported by Rich Price"
+ keywords="from-resolved_104">
+ <compile files="AroundChangeThis.java"/>
+ <run class="AroundChangeThis"/>
+ </ajc-test>
+
+ <ajc-test dir="new" pr="548"
+ title="default package for aspect introductions is not the current package"
+ keywords="from-resolved_10rc3,from-resolved_104">
+ <compile
+ files="introductionPackage/two/C.java,introductionPackage/one/C.java,introductionPackage/one/Aspect.java,introductionPackage/one/TestAspect.java"/>
+ <run class="one.TestAspect"/>
+ </ajc-test>
+
+ <ajc-test dir="new/PR569" pr="569"
+ title="anon class written to wrong directory"
+ keywords="from-resolved_104,from-resolved_104">
+ <compile files="a/IntroAnon.java,a/MyInterface.java,b/Dest.java"/>
+ <run class="a.IntroAnon"/>
+ </ajc-test>
+
+ <ajc-test dir="new" pr="603"
+ title="unqualified transitive pointcut references not resolved"
+ keywords="from-resolved_104">
+ <compile files="PointcutQualification.java"/>
+ <run class="PointcutQualification"/>
+ </ajc-test>
+
+ <ajc-test dir="new" pr="603"
+ title="unqualified transitive pointcut references not resolved - 2"
+ keywords="from-resolved_104">
+ <compile files="PointcutQualification2.java"/>
+ <run class="PointcutQualification2"/>
+ </ajc-test>
+
+ <ajc-test dir="new" pr="619"
+ title="direct use outside aspect of defined abstract pointcut"
+ keywords="from-resolved_104">
+ <compile files="AbstractPointcutAccess.java"/>
+ <run class="AbstractPointcutAccess"/>
+ </ajc-test>
+
+ <ajc-test dir="new" pr="619"
+ title="direct use outside aspect of undefined abstract pointcut"
+ keywords="from-resolved_104">
+ <compile files="AbstractPointcutAccessCE.java">
+ <message kind="error" line="9"/>
+ </compile>
+ </ajc-test>
+
+ <ajc-test dir="new" pr="619"
+ title="indirect use outside aspect of undefined abstract pointcut"
+ keywords="from-resolved_104">
+ <compile files="AbstractPointcutIndirectCE.java">
+ <message kind="error" line="9"/>
+ <message kind="error" line="4"/>
+ </compile>
+ </ajc-test>
+
+ <ajc-test dir="new" pr="658"
+ title="simple call join point tests for JoinPoint SourceLocation context"
+ keywords="from-resolved_104">
+ <compile files="SourceLocationCall.java"/>
+ <run class="SourceLocationCall"/>
+ </ajc-test>
+
+ <ajc-test dir="new" pr="661"
+ title="!target with second advice on casted call"
+ keywords="from-resolved_104">
+ <compile files="CallNotTarget.java"/>
+ <run class="CallNotTarget"/>
+ </ajc-test>
+
+ <ajc-test dir="new" pr="666" title="name binding in around cflow"
+ keywords="from-resolved_104">
+ <compile files="AroundCall.java"/>
+ <run class="AroundCall"/>
+ </ajc-test>
+
+ <ajc-test dir="new" pr="660" title="name binding in around cflow - 2"
+ keywords="from-resolved_104">
+ <compile files="ArgsInCflow2.java"/>
+ <run class="ArgsInCflow2"/>
+ </ajc-test>
+
+ <ajc-test dir="new" pr="660" title="illegal name binding in around cflow"
+ keywords="from-resolved_104">
+ <compile files="ArgsInCflowCf.java">
+ <message kind="error" line="19"/>
+ <message kind="error" line="29"/>
+ <message kind="error" line="35"/>
+ </compile>
+ </ajc-test>
+
+ <ajc-test dir="new" pr="677"
+ title="around name-binding in cflows using factorial"
+ keywords="from-resolved_104">
+ <compile files="FactorialCflow.java"/>
+ <run class="FactorialCflow"/>
+ </ajc-test>
+
+ <ajc-test dir="new" pr="715" title="incrementing objects, arrays - 2"
+ keywords="from-resolved_104,purejava">
+ <compile files="ArrayInc2CE.java">
+ <message kind="error" line="12"/>
+ <message kind="error" line="13"/>
+ <message kind="error" line="14"/>
+ <message kind="error" line="15"/>
+ </compile>
+ </ajc-test>
+
+ <ajc-test dir="new" pr="715" title="incrementing objects, arrays CE"
+ keywords="from-resolved_104,purejava,messages-vary">
+ <compile files="ArrayIncCE.java"
+ options="!eclipse">
+ <message kind="error" line="15"/>
+ <message kind="error" line="16"/>
+ <message kind="error" line="17"/>
+ <message kind="error" line="18"/>
+ <message kind="error" line="19"/>
+ </compile>
+ </ajc-test>
+
+ <ajc-test dir="new" pr="715" title="incrementing objects, arrays - 3"
+ keywords="from-resolved_104,purejava">
+ <compile files="ArrayInc3CE.java">
+ <message kind="error" line="15"/>
+ <message kind="error" line="16"/>
+ <message kind="error" line="17"/>
+ <message kind="error" line="18"/>
+ <message kind="error" line="19"/>
+ </compile>
+ </ajc-test>
+
+ <ajc-test dir="new" pr="715" title="incrementing objects, arrays"
+ keywords="from-resolved_104,purejava">
+ <compile files="ArrayInc.java"/>
+ <run class="ArrayInc"/>
+ </ajc-test>
+
+ <ajc-test dir="new" title="replacing this or target in around advice"
+ keywords="from-resolved_104">
+ <compile files="TargetObjectReplacement.java"/>
+ <run class="TargetObjectReplacement"/>
+ </ajc-test>
+
+ <ajc-test dir="new"
+ title="after returning from initialization and after executing constructor"
+ keywords="from-resolved_104">
+ <compile files="ConstructorExecInit.java"/>
+ <run class="ConstructorExecInit"/>
+ </ajc-test>
+
+ <ajc-test dir="new" pr="659"
+ title="name binding in before cflow containing cflowbelow"
+ keywords="from-resolved_104">
+ <compile files="ArgsInCflow.java" options="!eclipse">
+ <message kind="error" line="29"/>
+ <message kind="error" line="32"/>
+ </compile>
+ </ajc-test>
+
+
+ <ajc-test dir="pureJava" pr="737"
+ title="no circularity errors simply because of inners (1)"
+ keywords="from-resolved_105,purejava">
+ <compile files="circle/Test1CP.java"/>
+ <run class="circle.Test1CP"/>
+ </ajc-test>
+
+ <ajc-test dir="pureJava" pr="737"
+ title="no circularity errors simply because of inners (2)"
+ keywords="from-resolved_105,purejava">
+ <compile files="circle/Test2CP.java"/>
+ <run class="circle.Test2CP"/>
+ </ajc-test>
+
+ <ajc-test dir="pureJava" pr="737"
+ title="should have circular inheritance errors (1)"
+ keywords="from-resolved_105,purejava,messages-vary">
+ <compile files="circle/Test1CF.java"
+ options="!eclipse">
+ <message kind="error" line="7"/>
+ <message kind="error" line="15"/>
+ <message kind="error" line="17"/>
+ </compile>
+ </ajc-test>
+
+ <ajc-test dir="pureJava" pr="737"
+ title="should have circular inheritance errors (2)"
+ keywords="from-resolved_105,purejava,messages-vary">
+ <compile files="circle/Test2CF.java"
+ options="!eclipse">
+ <message kind="error" line="6"/>
+ <message kind="error" line="10"/>
+ <message kind="error" line="15"/>
+ </compile>
+ </ajc-test>
+
+ <ajc-test dir="new/pr728" pr="728" title="file order in type searching"
+ keywords="from-resolved_105">
+ <compile files="AnotherClass.java,Interface.java"/>
+ <run class="AnotherClass"/>
+ </ajc-test>
+
+ <ajc-test dir="pureJava" pr="728"
+ title="interface using preceding subinterface in its definition"
+ keywords="from-resolved_105,purejava">
+ <compile files="ParentUsingChild.java"/>
+ <run class="ParentUsingChild"/>
+ </ajc-test>
+
+ <ajc-test dir="new" pr="645"
+ title="Parent interface using public inner interface of child in same file"
+ keywords="from-resolved_105,purejava">
+ <compile files="ParentInterfaceUsingChildInnerInterface.java"/>
+ <run class="ParentInterfaceUsingChildInnerInterface"/>
+ </ajc-test>
+
+ <ajc-test dir="errors"
+ title="a type is not allowed to extend or implement its own innner type"
+ keywords="from-resolved_105,purejava">
+ <compile files="NestedInterfaceTest.java">
+ <message kind="error" line="1"/>
+ </compile>
+ </ajc-test>
+
+ <ajc-test dir="pureJava" title="try requires block JLS 14.19"
+ keywords="from-resolved_105,purejava,messages-vary">
+ <compile files="TryBlockRequiredCE.java"
+ options="!eclipse">
+ <message kind="error" line="6"/>
+ </compile>
+ </ajc-test>
+
+ <ajc-test dir="pureJava" pr="722" title="loop expressions not declarations"
+ keywords="from-resolved_105,purejava,messages-vary">
+ <compile files="DeclarationsInLoopsCE.java"
+ options="!eclipse">
+ <message kind="error" line="7"/>
+ </compile>
+ </ajc-test>
+
+
+
+
+
+
+
+
+ <ajc-test dir="new" pr="663"
+ title="no error when public class is in file of a different name"
+ keywords="from-resolved_105,purejava">
+ <compile options="-strict" files="PublicClassWrongFilename.java">
+ <message kind="error" line="3"/>
+ </compile>
+ </ajc-test>
+
+ <ajc-test dir="pureJava" pr="739"
+ title="local variables must be final to be accessed from inner class"
+ keywords="from-resolved_105,purejava">
+ <compile files="LocalsFromInnerCE.java">
+ <message kind="error" line="6"/>
+ <message kind="error" line="13"/>
+ <message kind="error" line="19"/>
+ <message kind="error" line="25"/>
+ <message kind="error" line="32"/>
+ <message kind="error" line="40"/>
+ <message kind="error" line="51"/>
+ <message kind="error" line="61"/>
+ <message kind="error" line="67"/>
+ <message kind="error" line="75"/>
+ <message kind="error" line="81"/>
+ </compile>
+ </ajc-test>
+
+ <ajc-test dir="pureJava" pr="739"
+ title="final local variables may be accessed from inner class"
+ keywords="from-resolved_105,purejava">
+ <compile files="LocalsFromInnerCP.java"/>
+ <run class="LocalsFromInnerCP"/>
+ </ajc-test>
+
+
+ <ajc-test dir="pureJava" pr="723" title="missing package identifier"
+ keywords="from-resolved_105,purejava">
+ <compile files="MissingPackageCE.java">
+ <message kind="error" line="2"/>
+ </compile>
+ </ajc-test>
+
+ <ajc-test dir="pureJava" pr="721"
+ title="interface declaration not permitted in local method scope"
+ keywords="from-resolved_105">
+ <compile files="LocalInterfaceCE.java">
+ <message kind="error" line="5"/>
+ <message kind="error" line="8"/>
+ <message kind="error" line="11"/>
+ <message kind="error" line="15"/>
+ </compile>
+ </ajc-test>
+
+ <ajc-test dir="new" title="simple declare warning (NPE)"
+ keywords="from-resolved_105">
+ <compile files="DeclareWarningMain.java">
+ <message kind="warning" line="4"/>
+ </compile>
+ <run class="DeclareWarningMain"/>
+ </ajc-test>
+
+ <ajc-test dir="new"
+ title="package typepattern with no packages (in default package)"
+ keywords="from-resolved_105">
+ <compile options="-Xlint" files="TypeNames.java">
+ <message kind="warning" line="34"/>
+ <message kind="warning" line="39"/>
+ <message kind="warning" line="43"/>
+ <message kind="warning" line="47"/>
+ </compile>
+ <run class="TypeNames"/>
+ </ajc-test>
+
+ <ajc-test dir="new" pr="701"
+ title="CE for ambiguous type reference (two files in package)"
+ keywords="from-resolved_105,purejava">
+ <compile
+ files="ambiguousClass/AmbiguousReferent.java,ambiguousClass/AmbiguousClassReference.java">
+ <message kind="error" line="5"/>
+ </compile>
+ </ajc-test>
+
+
+ <ajc-test dir="new"
+ title="initializer can throw so long as all constructors declare so"
+ keywords="from-resolved_105,purejava">
+ <compile files="InitializerWithThrow.java"/>
+ <run class="InitializerWithThrow"/>
+ </ajc-test>
+
+ <ajc-test dir="pureJava"
+ title="interfaces may not contain initializers (bug found by jacks)"
+ keywords="from-resolved_105,purejava">
+ <compile files="InterfaceMembersCf.java">
+ <message kind="error" line="2"/>
+ <message kind="error" line="3"/>
+ </compile>
+ </ajc-test>
+
+
+
+
+
+
+
+ <ajc-test dir="new" pr="755"
+ title="ajc dies on cflow into field init anon class see knownbugs.txt"
+ keywords="from-resolved_105">
+ <compile files="CflowOfFieldInitAnonMethods.java" options="!eclipse">
+ </compile>
+ <run class="CflowOfFieldInitAnonMethods" options="!eclipse"/>
+ </ajc-test>
+
+ <ajc-test dir="pureJava"
+ title="initializers must be able to complete normally (found by jacks)"
+ keywords="from-resolved_105,purejava,messages-vary">
+ <compile files="InitializerFlowCf.java"
+ options="!eclipse">
+ <message kind="error" line="2"/>
+ <message kind="error" line="4"/>
+ </compile>
+ </ajc-test>
+
+ <ajc-test dir="new" pr="757" title="Incrementing interface-introduced field"
+ keywords="from-resolved_105">
+ <compile files="IntroducedFieldInc.java"/>
+ <run class="IntroducedFieldInc"/>
+ </ajc-test>
+
+
+ <ajc-test dir="pureJava" title="more tests of super alone"
+ keywords="from-resolved_105,purejava">
+ <compile files="SuperIsWeird.java">
+ <message kind="error" line="9"/>
+ <message kind="error" line="13"/>
+ <message kind="error" line="20"/>
+ <message kind="error" line="21"/>
+ </compile>
+ </ajc-test>
+
+ <ajc-test dir="new"
+ title="The dynamic type, not the static one, should be used in if pcds"
+ keywords="from-resolved_105">
+ <compile files="StaticTypeInIf.java"/>
+ <run class="StaticTypeInIf"/>
+ </ajc-test>
+
+ <ajc-test dir="new"
+ title="bad interaction with after returning, around and void methods (from Rich Price)"
+ keywords="from-resolved_105">
+ <compile files="AfterReturningResult.java"/>
+ <run class="AfterReturningResult"/>
+ </ajc-test>
+
+ <ajc-test dir="new"
+ title="type pattern matching for inner classes (from Ken Horn)"
+ keywords="from-resolved_105">
+ <compile files="TypePat.java"/>
+ <run class="test.TypePat"/>
+ </ajc-test>
+
+ <ajc-test dir="new" pr="771" title="static initializer member name"
+ keywords="from-resolved_105">
+ <compile files="StaticInitName.java"/>
+ <run class="StaticInitName"/>
+ </ajc-test>
+
+ <ajc-test dir="new" pr="770" title="cflow pcd syntax error"
+ keywords="from-resolved_105">
+ <compile files="IllegalCflowCE.java">
+ <message kind="error" line="4"/>
+ </compile>
+ </ajc-test>
+
+ <ajc-test dir="new" pr="764"
+ title="binding args with indeterminate prefix and suffix"
+ keywords="from-resolved_105">
+ <compile files="IndeterminateArgs.java"/>
+ <run class="IndeterminateArgs"/>
+ </ajc-test>
+
+ <ajc-test dir="new" pr="764"
+ title="flag errors when binding args with indeterminate prefix and suffix"
+ keywords="from-resolved_105">
+ <compile files="IndeterminateArgsCE.java">
+ <message kind="error" line="67"/>
+ <message kind="error" line="68"/>
+ <message kind="error" line="70"/>
+ <message kind="error" line="72"/>
+ </compile>
+ </ajc-test>
+
+ <ajc-test dir="new" pr="764"
+ title="check arg types with indeterminate prefix and suffix"
+ keywords="from-resolved_105">
+ <compile files="IndeterminateArgType.java"/>
+ <run class="IndeterminateArgType"/>
+ </ajc-test>
+
+ <ajc-test dir="new" pr="764"
+ title="testing and binding args with single indeterminate prefix and suffix"
+ keywords="from-resolved_105">
+ <compile files="IndeterminateArg.java"/>
+ <run class="IndeterminateArg"/>
+ </ajc-test>
+
+ <ajc-test dir="new" pr="764"
+ title="binding handler args with indeterminate prefix and suffix"
+ keywords="from-resolved_105">
+ <compile files="IndeterminateHandlerArg.java"/>
+ <run class="IndeterminateHandlerArg"/>
+ </ajc-test>
+
+
+ <ajc-test dir="pureJava"
+ title="Locals inside other locals, ordering of processing [eh]"
+ keywords="from-resolved_105">
+ <compile files="LocalInners2.java"/>
+ <run class="LocalInners2"/>
+ </ajc-test>
+
+ <ajc-test dir="pureJava" pr="752"
+ title="subclass access to enclosing super class private members"
+ keywords="from-resolved_105,purejava,fail-unimplemented">
+ <compile files="SubclassAccessToEnclosingSuperClassPrivate.java"/>
+ <run class="SubclassAccessToEnclosingSuperClassPrivate"/>
+ </ajc-test>
+
+ <ajc-test dir="new/nolang" pr="762"
+ title="Compiling java.lang.Object with ajc yields non-verifying bytecode"
+ keywords="from-resolved_105"
+ comment="XXX weak/bad test">
+ <compile files="java/lang/Object.java,java/lang/String.java">
+ </compile>
+ </ajc-test>
+
+ <ajc-test dir="new"
+ title="method-local class defined in around return statement"
+ keywords="from-resolved_105">
+ <compile files="MethodLocalAroundReturns.java"/>
+ <run class="MethodLocalAroundReturns"/>
+ </ajc-test>
+
+ <ajc-test dir="new" title="CE expected for assignment to arg in if pcd"
+ keywords="from-resolved_105">
+ <compile files="IfPCDAssignmentCE.java">
+ <message kind="error" line="16"/>
+ <message kind="error" line="20"/>
+ </compile>
+ </ajc-test>
+
+ <ajc-test dir="new" title="advising field get/sets when accessing via super"
+ keywords="from-resolved_105">
+ <compile files="SuperField.java"/>
+ <run class="SuperField"/>
+ </ajc-test>
+
+ <ajc-test dir="new" title="accessing private members in outer types"
+ keywords="from-resolved_105">
+ <compile files="FieldInnerAccess.java"/>
+ <run class="FieldInnerAccess"/>
+ </ajc-test>
+
+ <ajc-test dir="pureJava" title="various tests of switch bounds"
+ keywords="from-resolved_106,purejava">
+ <compile files="SwitchBounds.java"/>
+ <run class="SwitchBounds"/>
+ </ajc-test>
+
+ <ajc-test dir="new" pr="601"
+ title="VerifyError if nested sync returning result"
+ comment="XXX inconsistent behavior?"
+ keywords="from-resolved_10final,purejava">
+ <compile files="NestedSyncWithResult.java"/>
+ <run class="NestedSyncWithResult"/>
+ </ajc-test>
+
+ <ajc-test dir="new" pr="853"
+ title="declare interface extends class">
+ <compile files="DeclareInterfaceExtendsClass.java">
+ <message kind="error" line="10"/>
+ </compile>
+ </ajc-test>
+
+ <ajc-test dir="new" pr="853"
+ title="declare interface implements class">
+ <compile files="DeclareInterfaceImplementsClass.java">
+ <message kind="error" line="10"/>
+ </compile>
+ </ajc-test>
+
+ <ajc-test dir="pureJava" title="assert flow"
+ keywords="from-14tests,purejava">
+ <compile options="-source14" files="AssertsCF.java">
+ <message kind="error" line="8"/>
+ <message kind="error" line="11"/>
+ </compile>
+ </ajc-test>
+
+ <ajc-test dir="pureJava" title="assert flow - 2"
+ keywords="from-14tests,purejava">
+ <compile options="-source14" files="AssertsCF2.java">
+ <message kind="error" line="6"/>
+ </compile>
+ </ajc-test>
+
+ <ajc-test dir="pureJava" title="assert typing"
+ keywords="from-14tests,purejava,fail-publicType">
+ <compile options="-source14" files="AssertsCF1.java">
+ <message kind="error" line="5"/>
+ </compile>
+ </ajc-test>
+
+ <ajc-test dir="pureJava" title="asserts" keywords="from-14tests">
+ <compile options="-source14" files="Asserts.java"/>
+ <run class="Asserts" vm="1.4"/>
+ </ajc-test>
+
+
+ <ajc-test dir="pureJava" title="assert coverage tests [requires 1.4]"
+ keywords="from-14tests,purejava">
+ <compile options="-source14" files="AssertsCv.java"/>
+ <run class="AssertsCv" vm="1.4"/>
+ </ajc-test>
+
+ <ajc-test dir="pureJava"
+ title="assert coverage tests in one package [requires 1.4]"
+ keywords="from-14tests,purejava,fail-unimplemented">
+ <compile options="-source14" files="AssertInOnePackage.java"/>
+ <run class="AssertInOnePackage" vm="1.4"/>
+ </ajc-test>
+
+ <ajc-test dir="new" title="assert tests in introduction [requires 1.4]"
+ keywords="from-14tests,fail-unimplemented">
+ <compile options="-source14" files="AssertInIntro.java"/>
+ <run class="AssertInIntro" vm="1.4"/>
+ </ajc-test>
+
+ <ajc-test dir="pureJava" title="compiling asserts in methods"
+ keywords="from-14tests,purejava">
+ <compile options="-source14,-usejavac" files="AssertInMethod.java"/>
+ <run class="AssertInMethod" vm="1.4"/>
+ </ajc-test>
+
+ <ajc-test dir="pureJava" pr="725"
+ title="asserts in aspect and declared methods [requires 1.4]"
+ keywords="from-14tests,purejava">
+ <compile options="-source14,-usejavac"
+ files="IntroducedAssertion.java"/>
+ <run class="IntroducedAssertion" vm="1.4"/>
+ </ajc-test>
+
+ <ajc-test dir="design/around"
+ title="around and return types + inlining optimizations"
+ comment="XXX not a 1.4 test, but source uses 1.4 APIs"
+ keywords="from-14tests">
+ <compile options="-XOcodeSize,-source14"
+ files="ReturnCastProceed.java,StackChecker.java">
+ <message kind="warning" line="68"/>
+ </compile>
+ <run class="ReturnCastProceed" vm="1.4"/>
+ </ajc-test>
+
+
+ <ajc-test dir="base/test131"
+ title="various forms of package name pattern matching work"
+ keywords="from-broken14usejavac">
+ <compile files="Driver.java,p1/C1.java,p1/p2/C2.java"/>
+ <run class="Driver"/>
+ </ajc-test>
+
+ <ajc-test dir="new" pr="134"
+ title="import of a class in the default package"
+ keywords="from-broken14usejavac,purejava">
+ <compile files="ImportFromUnnamed.java,DeclaredExcs.java"/>
+ <run class="ImportFromUnnamed"/>
+ </ajc-test>
+
+ <ajc-test dir="pureJava" pr="386"
+ title="Referencing static interfaces with import statements"
+ keywords="from-broken14usejavac,purejava">
+ <compile files="ClassWithStaticInnerInterfaces.java"/>
+ <compile files="ImportingStaticInnerInterfaces_PR386.java"/>
+ <run class="ImportingStaticInnerInterfaces_PR386"/>
+ </ajc-test>
+
+ <ajc-test dir="pureJava" pr="386"
+ title="Referencing static interfaces with import statements stars"
+ keywords="purejava,from-broken14usejavac">
+ <compile files="ClassWithStaticInnerInterfaces.java"/>
+ <compile files="ImportingStaticInnerInterfacesStars_PR386.java"/>
+ <run class="ImportingStaticInnerInterfacesStars_PR386"/>
+ </ajc-test>
+
+ <ajc-test dir="pureJava" pr="386"
+ title="Referencing static interfaces with import statements stars 2"
+ keywords="purejava,from-broken14usejavac">
+ <compile files="ClassWithStaticInnerInterfaces.java"/>
+ <compile files="ImportingStaticInnerInterfacesStars2_PR386.java"/>
+ <run class="ImportingStaticInnerInterfacesStars2_PR386"/>
+ </ajc-test>
+
+ <ajc-test dir="pureJava" pr="386"
+ title="Referencing static interfaces with import statements stars 3"
+ keywords="purejava,from-broken14usejavac">
+ <compile files="ClassWithStaticInnerInterfaces.java"/>
+ <compile files="ImportingStaticInnerInterfacesStars3_PR386.java"/>
+ <run class="ImportingStaticInnerInterfacesStars3_PR386"/>
+ </ajc-test>
+
+ <ajc-test dir="pureJava" pr="386"
+ title="Referencing interfaces with import statements"
+ keywords="purejava,from-broken14usejavac">
+ <compile
+ files="ClassWithInnerInterfaces.java,ImportingInnerInterfaces_PR386.java"/>
+ <run class="ImportingInnerInterfaces_PR386"/>
+ </ajc-test>
+
+ <ajc-test dir="pureJava" pr="386"
+ title="Referencing interfaces with import statements stars"
+ keywords="purejava,from-broken14usejavac">
+ <compile
+ files="ClassWithInnerInterfaces.java,ImportingInnerInterfacesStars_PR386.java"/>
+ <run class="ImportingInnerInterfacesStars_PR386"/>
+ </ajc-test>
+
+ <ajc-test dir="pureJava" pr="386"
+ title="Referencing interfaces with import statements stars 2"
+ keywords="purejava,from-broken14usejavac">
+ <compile
+ files="ClassWithInnerInterfaces.java,ImportingInnerInterfacesStars2_PR386.java"/>
+ <run class="ImportingInnerInterfacesStars2_PR386"/>
+ </ajc-test>
+
+ <ajc-test dir="pureJava" pr="386"
+ title="Referencing interfaces with import statements stars 3"
+ keywords="purejava,from-broken14usejavac">
+ <compile
+ files="ClassWithInnerInterfaces.java,ImportingInnerInterfacesStars3_PR386.java"/>
+ <run class="ImportingInnerInterfacesStars3_PR386"/>
+ </ajc-test>
+
+ <ajc-test dir="new" pr="657"
+ title="assert statement in advice coverage [requires 1.4]"
+ keywords="from-14tests,fail-in-eclipse">
+ <compile options="-source14" files="AssertInAdvice.java"/>
+ <run class="AssertInAdvice" vm="1.4"/>
+ </ajc-test>
+
+ <ajc-test dir="new" pr="657"
+ title="assert statement in advice [requires 1.4]"
+ keywords="from-14tests,fail-in-eclipse">
+ <compile options="-source14" files="AssertInAdviceBug.java"/>
+ <run class="AssertInAdviceBug" vm="1.4"/>
+ </ajc-test>
+
+ <ajc-test dir="pureJava" pr="866"
+ title="non-constant static final fields marked as final in .class">
+ <compile files="FinalStaticField.java"/>
+ <run class="FinalStaticField"/>
+ </ajc-test>
+
+ <ajc-test dir="new" pr="883"
+ title="signature of handler join point">
+ <compile files="HandlerSignature.java"/>
+ <run class="HandlerSignature"/>
+ </ajc-test>
+
+ <ajc-test dir="new" pr="885"
+ title="source locations within expressions">
+ <compile files="SourceLocationWithinExpr.java"/>
+ <run class="SourceLocationWithinExpr"/>
+ </ajc-test>
+
+ <ajc-test dir="new" pr="888"
+ title="crashes given method in declared method">
+ <compile files="DeclareMethodCE.java">
+ <message kind="error" line="8"/>
+ </compile>
+ </ajc-test>
+
+ <ajc-test dir="new" pr="889"
+ title="after returning advice on interface constructor">
+ <compile files="AfterReturningInterfaceConstructor.java"/>
+ <run class="AfterReturningInterfaceConstructor"/>
+ </ajc-test>
+
+ <!-- .................................... option tests -->
+ <!-- .................................... -warn tests -->
+ <ajc-test dir="options"
+ title="options -warn:deprecation">
+ <compile files="WarnDeprecated.java"
+ options="!eclipse,-warn:deprecation">
+ <message kind="warning" line="10"/>
+ </compile>
+ </ajc-test>
+
+ <!-- .................................... -Xlint tests -->
+ <!-- ............... positive -Xlint tests -->
+ <ajc-test dir="options"
+ title="options -Xlint args()"
+ keywords="lint">
+ <compile files="XLintTypeArgsPCD.java"
+ options="!Xlint">
+ <message kind="warning" line="10"/>
+ </compile>
+ </ajc-test>
+
+ <ajc-test dir="options"
+ title="options declare field on bad type">
+ <compile files="XLintTypeDeclareField.java" options="!eclipse">
+ <message kind="error" line="10"/>
+ </compile>
+ </ajc-test>
+
+ <ajc-test dir="options"
+ title="options declare method on bad type">
+ <compile files="XLintTypeDeclareMethod.java" options="!eclipse">
+ <message kind="error" line="10"/>
+ </compile>
+ </ajc-test>
+
+ <ajc-test dir="options"
+ title="options -Xlint declare parent"
+ keywords="lint">
+ <compile files="XLintTypeDeclareParent.java"
+ options="!Xlint">
+ <message kind="warning" line="10"/>
+ </compile>
+ </ajc-test>
+
+ <ajc-test dir="options"
+ title="options -Xlint target()"
+ keywords="lint">
+ <compile files="XLintTypeTargetPCD.java"
+ options="!Xlint">
+ <message kind="warning" line="10"/>
+ </compile>
+ </ajc-test>
+
+ <ajc-test dir="options"
+ title="options -Xlint this()"
+ keywords="lint">
+ <compile files="XLintTypeThisPCD.java"
+ options="!Xlint">
+ <message kind="warning" line="10"/>
+ </compile>
+ </ajc-test>
+
+ <!-- ............... negative -Xlint tests -->
+ <ajc-test dir="options"
+ title="options negative -Xlint args()"
+ keywords="lint">
+ <compile files="XLintTypeArgsPCD.java" options="-Xlint:ignore"/>
+ </ajc-test>
+
+ <ajc-test dir="options"
+ title="options negative -Xlint declare parent"
+ keywords="lint">
+ <compile files="XLintTypeDeclareParent.java" options="-Xlint:ignore"/>
+ </ajc-test>
+
+ <ajc-test dir="options"
+ title="options negative -Xlint target()"
+ keywords="lint">
+ <compile files="XLintTypeTargetPCD.java" options="-Xlint:ignore"/>
+ </ajc-test>
+
+ <ajc-test dir="options"
+ title="options negative -Xlint this()"
+ keywords="lint">
+ <compile files="XLintTypeThisPCD.java" options="-Xlint:ignore"/>
+ </ajc-test>
+
+
+ <!-- .................................... -injars tests -->
+
+ <ajc-test dir="options/injars/simple"
+ title="source for options -injars">
+ <compile files="Simple.java,Main.java"/>
+ <run class="Main"/>
+ </ajc-test>
+
+ <ajc-test dir="options/injars/simple"
+ title="options -injars">
+ <compile files="Simple.java,main.jar"
+ options="!eclipse"/>
+ <run class="Main"/>
+ </ajc-test>
+
+ <!-- .................................... aspectpath tests -->
+ <ajc-test dir="new/options11"
+ comment="XXX not validated correct yet"
+ title="testing new options">
+ <compile files="Main.java,inJar.jar,Aspect.java"
+ aspectpath="aspectlib1.jar,aspectlib2.jar"/>
+ <run class="Main"/>
+ </ajc-test>
+
+</suite>