diff options
Diffstat (limited to 'tests/ajcTests.xml')
-rw-r--r-- | tests/ajcTests.xml | 5250 |
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> |