diff options
Diffstat (limited to 'tests/new')
28 files changed, 157 insertions, 102 deletions
diff --git a/tests/new/AdviceOnEmptyConstructor.java b/tests/new/AdviceOnEmptyConstructor.java index 04b2ed99f..bd38c98fa 100644 --- a/tests/new/AdviceOnEmptyConstructor.java +++ b/tests/new/AdviceOnEmptyConstructor.java @@ -1,5 +1,5 @@ import org.aspectj.testing.Tester; - +import org.aspectj.lang.annotation.SuppressAjWarnings; public aspect AdviceOnEmptyConstructor { public static void main(String[] args) { test(); } @@ -16,7 +16,7 @@ public aspect AdviceOnEmptyConstructor { call(C.new()) { c.value = "afterInit:" + c.value; } - /*static*/ after() returning(C1 c1): + @SuppressAjWarnings("adviceDidNotMatch") /*static*/ after() returning(C1 c1): //this(c1) && call(C1.new()) { c1.value = "afterInit:" + c1.value; diff --git a/tests/new/AfterReturningParam.java b/tests/new/AfterReturningParam.java index dd4e1fc37..0c89e38d7 100644 --- a/tests/new/AfterReturningParam.java +++ b/tests/new/AfterReturningParam.java @@ -1,3 +1,4 @@ +import org.aspectj.lang.annotation.SuppressAjWarnings; import org.aspectj.testing.Tester; public class AfterReturningParam { @@ -8,7 +9,7 @@ public class AfterReturningParam { // see pr 103157 for reason why this no longer matches p.mInt(); - Tester.checkAndClearEvents(new String[] { "int as Object 2" }); + Tester.checkAndClearEvents(new String[] { "int as Object 2", "int as Integer 2" }); p.mObject(); Tester.checkAndClearEvents(new String[] { "Object as Object ning", @@ -33,13 +34,18 @@ aspect A { Tester.event(s + " " + o); } + @SuppressAjWarnings("adviceDidNotMatch") after() returning (AfterReturningParam o) : execution(AfterReturningParam.new()) { // CW 35 in 1.0.4, no match callEvent("constr exec as constd object", o); } + + @SuppressAjWarnings("adviceDidNotMatch") after() returning (Object o) : execution(AfterReturningParam.new()) { // CW 38 in 1.0.4, does match // in 1.5 does not match - no return value for this jp callEvent("constr exec as Object", o); } + + @SuppressAjWarnings("adviceDidNotMatch") after() returning (String o) : execution(AfterReturningParam.new()) { // CW 41 in 1.0.4, no match callEvent("constr exec as String", o); } @@ -47,9 +53,13 @@ aspect A { after() returning (Object o) : execution(int AfterReturningParam.mInt()) { // match callEvent("int as Object", o); } + + @SuppressAjWarnings("adviceDidNotMatch") after() returning (String o) : execution(int AfterReturningParam.mInt()) { // no match callEvent("int as String", o); } + + // matches due to autoboxing after() returning (Integer o) : execution(int AfterReturningParam.mInt()) { // no match callEvent("int as Integer", o); } @@ -64,6 +74,8 @@ aspect A { after() returning (Object o) : execution(void AfterReturningParam.mVoid()) { // match callEvent("void as Object", o); } + + @SuppressAjWarnings("adviceDidNotMatch") after() returning (String o) : execution(void AfterReturningParam.mVoid()) { // CW 65 warning in 1.0.4 no match callEvent("void as String", o); } diff --git a/tests/new/AfterReturningParamMatching.java b/tests/new/AfterReturningParamMatching.java index 4677eac09..ac423a872 100644 --- a/tests/new/AfterReturningParamMatching.java +++ b/tests/new/AfterReturningParamMatching.java @@ -11,7 +11,7 @@ public class AfterReturningParamMatching { Tester.checkAndClearEvents(new String[] { "byte", "int", "long", "Object"}); goInt(2); - Tester.checkAndClearEvents(new String[] { "int", "long", "Object" }); + Tester.checkAndClearEvents(new String[] { "int", "long", "Object", "Integer" }); // Integer added as now being compiled > 1.4 goLong(3); Tester.checkAndClearEvents(new String[] { "long", "Object" }); @@ -35,10 +35,10 @@ public class AfterReturningParamMatching { Tester.checkAndClearEvents(new String[] { "Object", "Number" }); goInteger(new Integer(7)); - Tester.checkAndClearEvents(new String[] { "Object", "Number", "Integer" }); + Tester.checkAndClearEvents(new String[] { "Object", "Number", "Integer", "int" }); // int added as now being compiled > 1.4 goInteger(null); - Tester.checkAndClearEvents(new String[] { "Object", "Number", "Integer" }); + Tester.checkAndClearEvents(new String[] { "Object", "Number", "Integer", "int" }); // int added as now being compiled > 1.4 } static boolean goBoolean(boolean b) { return b; } diff --git a/tests/new/ArgsAlone.java b/tests/new/ArgsAlone.java index 61c868efe..164f9004f 100644 --- a/tests/new/ArgsAlone.java +++ b/tests/new/ArgsAlone.java @@ -22,7 +22,7 @@ aspect Aspect { || execution(void TargetClass.callInt(int))); before(int i) - : !target(Aspect) && args(i) && !target(StringBuffer) + : !target(Aspect) && args(i) && !target(StringBuilder) //&& pc() // uncomment to avoid InternalCompilerError { Tester.event("within " + i diff --git a/tests/new/AroundAll.java b/tests/new/AroundAll.java index d12205555..7d8eea452 100644 --- a/tests/new/AroundAll.java +++ b/tests/new/AroundAll.java @@ -61,14 +61,14 @@ aspect A { "enter call(int java.lang.Integer.intValue())", "exit call(int java.lang.Integer.intValue())", "enter execution(SuperC(int))", - "enter call(java.lang.StringBuffer(String))", - "exit call(java.lang.StringBuffer(String))", - "enter call(StringBuffer java.lang.StringBuffer.append(int))", - "exit call(StringBuffer java.lang.StringBuffer.append(int))", - "enter call(StringBuffer java.lang.StringBuffer.append(String))", - "exit call(StringBuffer java.lang.StringBuffer.append(String))", - "enter call(String java.lang.StringBuffer.toString())", - "exit call(String java.lang.StringBuffer.toString())", + "enter call(java.lang.StringBuilder(String))", + "exit call(java.lang.StringBuilder(String))", + "enter call(StringBuilder java.lang.StringBuilder.append(int))", + "exit call(StringBuilder java.lang.StringBuilder.append(int))", + "enter call(StringBuilder java.lang.StringBuilder.append(String))", + "exit call(StringBuilder java.lang.StringBuilder.append(String))", + "enter call(String java.lang.StringBuilder.toString())", + "exit call(String java.lang.StringBuilder.toString())", "SuperC(2)", "exit execution(SuperC(int))", "enter execution(C(int))", @@ -76,34 +76,34 @@ aspect A { "exit set(int C.y)", "enter set(int C.x)", "exit set(int C.x)", - "enter call(java.lang.StringBuffer(String))", - "exit call(java.lang.StringBuffer(String))", + "enter call(java.lang.StringBuilder(String))", + "exit call(java.lang.StringBuilder(String))", "enter get(int C.x)", "exit get(int C.x)", - "enter call(StringBuffer java.lang.StringBuffer.append(int))", - "exit call(StringBuffer java.lang.StringBuffer.append(int))", - "enter call(String java.lang.StringBuffer.toString())", - "exit call(String java.lang.StringBuffer.toString())", + "enter call(StringBuilder java.lang.StringBuilder.append(int))", + "exit call(StringBuilder java.lang.StringBuilder.append(int))", + "enter call(String java.lang.StringBuilder.toString())", + "exit call(String java.lang.StringBuilder.toString())", "x = 2", "exit execution(C(int))", "enter execution(C(String))", - "enter call(java.lang.StringBuffer(String))", - "exit call(java.lang.StringBuffer(String))", - "enter call(StringBuffer java.lang.StringBuffer.append(String))", - "exit call(StringBuffer java.lang.StringBuffer.append(String))", - "enter call(StringBuffer java.lang.StringBuffer.append(String))", - "exit call(StringBuffer java.lang.StringBuffer.append(String))", - "enter call(String java.lang.StringBuffer.toString())", - "exit call(String java.lang.StringBuffer.toString())", + "enter call(java.lang.StringBuilder(String))", + "exit call(java.lang.StringBuilder(String))", + "enter call(StringBuilder java.lang.StringBuilder.append(String))", + "exit call(StringBuilder java.lang.StringBuilder.append(String))", + "enter call(StringBuilder java.lang.StringBuilder.append(String))", + "exit call(StringBuilder java.lang.StringBuilder.append(String))", + "enter call(String java.lang.StringBuilder.toString())", + "exit call(String java.lang.StringBuilder.toString())", "C(2)", - "enter call(java.lang.StringBuffer(String))", - "exit call(java.lang.StringBuffer(String))", + "enter call(java.lang.StringBuilder(String))", + "exit call(java.lang.StringBuilder(String))", "enter get(int C.y)", "exit get(int C.y)", - "enter call(StringBuffer java.lang.StringBuffer.append(int))", - "exit call(StringBuffer java.lang.StringBuffer.append(int))", - "enter call(String java.lang.StringBuffer.toString())", - "exit call(String java.lang.StringBuffer.toString())", + "enter call(StringBuilder java.lang.StringBuilder.append(int))", + "exit call(StringBuilder java.lang.StringBuilder.append(int))", + "enter call(String java.lang.StringBuilder.toString())", + "exit call(String java.lang.StringBuilder.toString())", "y = 42", "exit execution(C(String))", "enter execution(C())", @@ -116,14 +116,14 @@ aspect A { "enter call(int java.lang.Integer.intValue())", "exit call(int java.lang.Integer.intValue())", "enter execution(SuperC(int))", - "enter call(java.lang.StringBuffer(String))", - "exit call(java.lang.StringBuffer(String))", - "enter call(StringBuffer java.lang.StringBuffer.append(int))", - "exit call(StringBuffer java.lang.StringBuffer.append(int))", - "enter call(StringBuffer java.lang.StringBuffer.append(String))", - "exit call(StringBuffer java.lang.StringBuffer.append(String))", - "enter call(String java.lang.StringBuffer.toString())", - "exit call(String java.lang.StringBuffer.toString())", + "enter call(java.lang.StringBuilder(String))", + "exit call(java.lang.StringBuilder(String))", + "enter call(StringBuilder java.lang.StringBuilder.append(int))", + "exit call(StringBuilder java.lang.StringBuilder.append(int))", + "enter call(StringBuilder java.lang.StringBuilder.append(String))", + "exit call(StringBuilder java.lang.StringBuilder.append(String))", + "enter call(String java.lang.StringBuilder.toString())", + "exit call(String java.lang.StringBuilder.toString())", "SuperC(9)", "exit execution(SuperC(int))", "enter execution(C(int))", @@ -131,34 +131,34 @@ aspect A { "exit set(int C.y)", "enter set(int C.x)", "exit set(int C.x)", - "enter call(java.lang.StringBuffer(String))", - "exit call(java.lang.StringBuffer(String))", + "enter call(java.lang.StringBuilder(String))", + "exit call(java.lang.StringBuilder(String))", "enter get(int C.x)", "exit get(int C.x)", - "enter call(StringBuffer java.lang.StringBuffer.append(int))", - "exit call(StringBuffer java.lang.StringBuffer.append(int))", - "enter call(String java.lang.StringBuffer.toString())", - "exit call(String java.lang.StringBuffer.toString())", + "enter call(StringBuilder java.lang.StringBuilder.append(int))", + "exit call(StringBuilder java.lang.StringBuilder.append(int))", + "enter call(String java.lang.StringBuilder.toString())", + "exit call(String java.lang.StringBuilder.toString())", "x = 9", "exit execution(C(int))", "enter execution(C(String))", - "enter call(java.lang.StringBuffer(String))", - "exit call(java.lang.StringBuffer(String))", - "enter call(StringBuffer java.lang.StringBuffer.append(String))", - "exit call(StringBuffer java.lang.StringBuffer.append(String))", - "enter call(StringBuffer java.lang.StringBuffer.append(String))", - "exit call(StringBuffer java.lang.StringBuffer.append(String))", - "enter call(String java.lang.StringBuffer.toString())", - "exit call(String java.lang.StringBuffer.toString())", + "enter call(java.lang.StringBuilder(String))", + "exit call(java.lang.StringBuilder(String))", + "enter call(StringBuilder java.lang.StringBuilder.append(String))", + "exit call(StringBuilder java.lang.StringBuilder.append(String))", + "enter call(StringBuilder java.lang.StringBuilder.append(String))", + "exit call(StringBuilder java.lang.StringBuilder.append(String))", + "enter call(String java.lang.StringBuilder.toString())", + "exit call(String java.lang.StringBuilder.toString())", "C(9)", - "enter call(java.lang.StringBuffer(String))", - "exit call(java.lang.StringBuffer(String))", + "enter call(java.lang.StringBuilder(String))", + "exit call(java.lang.StringBuilder(String))", "enter get(int C.y)", "exit get(int C.y)", - "enter call(StringBuffer java.lang.StringBuffer.append(int))", - "exit call(StringBuffer java.lang.StringBuffer.append(int))", - "enter call(String java.lang.StringBuffer.toString())", - "exit call(String java.lang.StringBuffer.toString())", + "enter call(StringBuilder java.lang.StringBuilder.append(int))", + "exit call(StringBuilder java.lang.StringBuilder.append(int))", + "enter call(String java.lang.StringBuilder.toString())", + "exit call(String java.lang.StringBuilder.toString())", "y = 42", "exit execution(C(String))", "exit call(C(String))", diff --git a/tests/new/ConstructorExecInitFails.java b/tests/new/ConstructorExecInitFails.java index e042f10ff..1321ae996 100644 --- a/tests/new/ConstructorExecInitFails.java +++ b/tests/new/ConstructorExecInitFails.java @@ -10,7 +10,6 @@ public class ConstructorExecInitFails { try { new ConstructorExecInitFails(); } catch (NoAspectBoundException e) { - Tester.check(e.getCause() instanceof NoAspectBoundException, "Expected NoAspectBoundException, found " + e.getCause()); return; diff --git a/tests/new/Counting1.java b/tests/new/Counting1.java index 62cb32528..00b145e38 100644 --- a/tests/new/Counting1.java +++ b/tests/new/Counting1.java @@ -1,4 +1,6 @@ import java.util.Vector; + +import org.aspectj.lang.annotation.SuppressAjWarnings; import org.aspectj.testing.*; public class Counting1 { @@ -159,7 +161,7 @@ aspect Mobility { declare precedence: Mobility, MoveTracking; //!!! syntax of this call is slightly different //!!! than in the paper } - + @SuppressAjWarnings("adviceDidNotMatch") void around(int i): args(i) && call(void *gaoijbal()) { if (enableMoves) throw new RuntimeException("bad things"); } diff --git a/tests/new/EmptyInterfaceCE.java b/tests/new/EmptyInterfaceCE.java index 4fdbbed33..3b1d8a672 100644 --- a/tests/new/EmptyInterfaceCE.java +++ b/tests/new/EmptyInterfaceCE.java @@ -1,5 +1,5 @@ - +import org.aspectj.lang.annotation.SuppressAjWarnings; import org.aspectj.testing.Tester; /** @testcase PR#36778 advise join points in subclass of empty interface */ @@ -20,7 +20,7 @@ aspect Log { interface LoggedType { } declare parents: C implements LoggedType; - void around() : staticinitialization(LoggedType) // CE: limitation + @SuppressAjWarnings("adviceDidNotMatch") void around() : staticinitialization(LoggedType) // CE: limitation { hits++; log.append(thisJoinPoint + ";"); diff --git a/tests/new/FieldInitializerJoinPoints.java b/tests/new/FieldInitializerJoinPoints.java index d1fb9be02..e0dd3c30d 100644 --- a/tests/new/FieldInitializerJoinPoints.java +++ b/tests/new/FieldInitializerJoinPoints.java @@ -1,5 +1,6 @@ // This test verifies that join points exist in the execution of field initializers. +import org.aspectj.lang.annotation.SuppressAjWarnings; import org.aspectj.testing.Tester; //class Tester { @@ -77,8 +78,10 @@ aspect A { System.err.println(fp.l); } + @SuppressAjWarnings("adviceDidNotMatch") before(): set(int FieldInitializerJoinPoints.j) { FieldInitializerJoinPoints.jcount++; } before(): set(int FieldInitializerJoinPoints.k) { FieldInitializerJoinPoints.kcount++; } + @SuppressAjWarnings("adviceDidNotMatch") before(): set(int FieldInitializerJoinPoints.l) { FieldInitializerJoinPoints.lcount++; } before(): set(int FieldInitializerJoinPoints.m) { FieldInitializerJoinPoints.mcount++; } diff --git a/tests/new/Fixes.java b/tests/new/Fixes.java index 1922506e7..200872008 100644 --- a/tests/new/Fixes.java +++ b/tests/new/Fixes.java @@ -14,10 +14,19 @@ class TheObject { privileged aspect TheAspect pertarget(target(TheObject)) { private TheObject theObject; - after() returning(TheObject obj): call(new()) { - theObject = obj; - } - after() returning(): call(* realMain(..)) { + + /* + after() returning(TheObject obj): execution(new()) { + theObject = obj; + } + */ + + // XXX23: alternative to above advice which won't match + before(TheObject o): execution(* go(..)) && target(o) { + theObject = o; + } + + after() returning(): execution(* go(..)){//XXX23: changed from call(* realMain(..)) because I can't see how that could match with pertarget! start(); postinc(); preinc(); @@ -62,6 +71,7 @@ privileged aspect TheAspect pertarget(target(TheObject)) { this.msg = msg; } void a(int a, int b) { +// System.out.println("Checking... "+a+"="+b); Tester.checkEqual(a,b,msg); } } diff --git a/tests/new/IfFalse.aj b/tests/new/IfFalse.aj index 6b1b8d402..149867cc6 100644 --- a/tests/new/IfFalse.aj +++ b/tests/new/IfFalse.aj @@ -1,3 +1,4 @@ +import org.aspectj.lang.annotation.SuppressAjWarnings; import org.aspectj.testing.Tester; public aspect IfFalse { @@ -12,22 +13,25 @@ public aspect IfFalse { pointcut p4() : within(IfFalse) && if(false); - + @SuppressAjWarnings("adviceDidNotMatch") after() returning : p1() { // should never get here Tester.checkFailed("if(false) matched!"); } + @SuppressAjWarnings("adviceDidNotMatch") after() returning : p2() { // should never get here Tester.checkFailed("if( false ) matched!"); } + @SuppressAjWarnings("adviceDidNotMatch") after() returning : p3() { // should never get here Tester.checkFailed("if(x) matched!"); } + @SuppressAjWarnings("adviceDidNotMatch") after() returning : p4() { // should never get here Tester.checkFailed("if(false) matched!"); diff --git a/tests/new/IfPCDAdviceMethods.java b/tests/new/IfPCDAdviceMethods.java index 26367d990..37e5a524d 100644 --- a/tests/new/IfPCDAdviceMethods.java +++ b/tests/new/IfPCDAdviceMethods.java @@ -1,4 +1,5 @@ +import org.aspectj.lang.annotation.SuppressAjWarnings; import org.aspectj.testing.Tester; import org.aspectj.testing.Tester; @@ -92,6 +93,7 @@ aspect TestSignals { /** identify methods that should never be called */ pointcut errorIfCalled () : call(boolean *..executedNamedIfNever(..)); /** signal failure if method that wasn't supposed to be called is in fact invoked */ + @SuppressAjWarnings("adviceDidNotMatch") after () : errorIfCalled() { // todo: will StaticPart will always have null for source ? StringBuffer sb = new StringBuffer(); diff --git a/tests/new/IfPCDDupMethod.java b/tests/new/IfPCDDupMethod.java index de771d536..a5c27b4ce 100644 --- a/tests/new/IfPCDDupMethod.java +++ b/tests/new/IfPCDDupMethod.java @@ -1,3 +1,4 @@ +import org.aspectj.lang.annotation.SuppressAjWarnings; /** * Ajc produces duplicated methods, and javac complains: @@ -6,7 +7,7 @@ * private void signal$method_call10(final String msg) </pre> */ public class IfPCDDupMethod { - public static void main(String[] args) { } + public static void main(String[] args) { System.out.println(""); } } aspect AlreadyDefined { diff --git a/tests/new/IfTrue.aj b/tests/new/IfTrue.aj index afbbdb48f..6a840a5a2 100644 --- a/tests/new/IfTrue.aj +++ b/tests/new/IfTrue.aj @@ -1,3 +1,4 @@ +import org.aspectj.lang.annotation.SuppressAjWarnings; import org.aspectj.testing.Tester; public aspect IfTrue { @@ -12,12 +13,13 @@ public aspect IfTrue { pointcut p4() : within(IfTrue) && !if(true); - + @SuppressAjWarnings("adviceDidNotMatch") after() returning : p1() { // should never get here Tester.checkFailed("!if(true) matched!"); } + @SuppressAjWarnings("adviceDidNotMatch") after() returning : p2() { // should never get here Tester.checkFailed("!if( true ) matched!"); @@ -28,6 +30,7 @@ public aspect IfTrue { Tester.checkFailed("!if(x) matched!"); } + @SuppressAjWarnings("adviceDidNotMatch") after() returning : p4() { // should never get here Tester.checkFailed("!if(true) matched!"); diff --git a/tests/new/IndeterminateHandlerArg.java b/tests/new/IndeterminateHandlerArg.java index 6f30336db..c0086e96d 100644 --- a/tests/new/IndeterminateHandlerArg.java +++ b/tests/new/IndeterminateHandlerArg.java @@ -1,6 +1,7 @@ import org.aspectj.testing.Tester; import org.aspectj.lang.*; +import org.aspectj.lang.annotation.SuppressAjWarnings; import org.aspectj.lang.reflect.*; /** @testcase PR#764 binding handler args with indeterminate prefix and suffix */ @@ -59,13 +60,21 @@ aspect A { before (Throwable t) : hd() && args(..,t) { e("before ..,Throwable", thisJoinPoint, t); } before (Error t) : hd() && args(..,t) { e("before ..,Error", thisJoinPoint, t); } + @SuppressAjWarnings("adviceDidNotMatch") before () : hd() && args(Throwable,*) { Tester.check(false, "args(Throwable,*)"); } + @SuppressAjWarnings("adviceDidNotMatch") before () : hd() && args(*,Throwable) { Tester.check(false, "args(*,Throwable)"); } + @SuppressAjWarnings("adviceDidNotMatch") before () : hd() && args(Error,*) { Tester.check(false, "args(Error,*)"); } + @SuppressAjWarnings("adviceDidNotMatch") before () : hd() && args(*,Error) { Tester.check(false, "args(*,Error)"); } + @SuppressAjWarnings("adviceDidNotMatch") before (Throwable t) : hd() && args(t,*) { Tester.check(false, "args((Throwable)t,*)"); } + @SuppressAjWarnings("adviceDidNotMatch") before (Error t) : hd() && args(t,*) { Tester.check(false, "args((Error)t,*)"); } + @SuppressAjWarnings("adviceDidNotMatch") before (Throwable t) : hd() && args(*,t) { Tester.check(false, "args(*,(Throwable)t)"); } + @SuppressAjWarnings("adviceDidNotMatch") before (Error t) : hd() && args(*,t) { Tester.check(false, "args(*,(Error)t)"); } } diff --git a/tests/new/InitializerAdvice.java b/tests/new/InitializerAdvice.java index 63ae8f859..458d6986a 100644 --- a/tests/new/InitializerAdvice.java +++ b/tests/new/InitializerAdvice.java @@ -8,7 +8,7 @@ public aspect InitializerAdvice { public static void main(String[] args) { test(); } - /*static*/ before(): call(* *(..)) && this(Foo) { + before(): set(* *) && this(Foo) { System.out.println("entering"); } } diff --git a/tests/new/IntroOnIntro.java b/tests/new/IntroOnIntro.java index ca8d0a96b..e8fa20fd2 100644 --- a/tests/new/IntroOnIntro.java +++ b/tests/new/IntroOnIntro.java @@ -25,8 +25,8 @@ class Class1 { aspect Aspect1 /**of eachobject (instanceof(Class1))*/ { public String Class1.getName() { return this.name; } - void f() {} - before(): call(* getName(..)) && this(Class1) { + void f() {System.out.println("advice running");} + before(): call(* getName(..)) && target(Class1) { f(); } } diff --git a/tests/new/NegativeSourceLocation.java b/tests/new/NegativeSourceLocation.java index f27bf3925..f8b06c964 100644 --- a/tests/new/NegativeSourceLocation.java +++ b/tests/new/NegativeSourceLocation.java @@ -102,7 +102,7 @@ aspect Aspect { // 1.1 includes StringBuffer calls that weren't in 1.0 pointcut allTargetJoinPoints() : within(TargetClass) && - !call(* StringBuffer.*(..)) && !call(StringBuffer.new(..)) + !call(* StringBuilder.*(..)) && !call(StringBuilder.new(..)) && !call(* String.valueOf(Object)); /** these have no enclosing join point */ diff --git a/tests/new/NewAnonymous.java b/tests/new/NewAnonymous.java index 71f0edcb6..94ac7f3bf 100644 --- a/tests/new/NewAnonymous.java +++ b/tests/new/NewAnonymous.java @@ -2,6 +2,7 @@ import org.aspectj.testing.Tester; public class NewAnonymous { public static void main(String[] args) { + new C().m("foo"); } } @@ -18,7 +19,7 @@ class C { } aspect A { - before(): call(*.new()) { + before(): call(Runnable+.new(..)) { System.out.println("new Runnable"); } } diff --git a/tests/new/NotCharInPointcut.java b/tests/new/NotCharInPointcut.java index c44b56fd8..e8f699b80 100644 --- a/tests/new/NotCharInPointcut.java +++ b/tests/new/NotCharInPointcut.java @@ -36,12 +36,12 @@ class C { public double _double() { s("_double"); return (double)0;} public Object _Object() { s("_Object"); return this; } } - +// XXX23: this test is messed up and clearly not doing what it is intended aspect A { - + // This isn't going to match anything because the _ methods run in C anyway, not NotCharInPointcut pointcut pcut1(NotCharInPointcut t): this(t) && execution(!* _*()); - + // Same thing, it won't match anything - what was it trying to achieve? pointcut pcut2(NotCharInPointcut t): this(t) && !this(NotCharInPointcut) && execution(!* _*()); diff --git a/tests/new/PR353b.java b/tests/new/PR353b.java index 4419d9203..c29c6fc7d 100644 --- a/tests/new/PR353b.java +++ b/tests/new/PR353b.java @@ -31,20 +31,17 @@ class E2 extends C { void foo() {} } class s { public static String c; } aspect A { - - pointcut p3(): this(C) && call(* foo()) && !target(E); + pointcut p3(): this(PR353b) && call(* foo()) && !target(E); before(): p3() { Object target = thisJoinPoint.getTarget(); JoinPoint.StaticPart sp = thisJoinPoint.getStaticPart(); - Signature sig = sp.getSignature(); + Signature sig = sp.getSignature();System.out.println("Signature: "+sig); + Class enclosingJoinPointDeclaringType = thisEnclosingJoinPointStaticPart.getSignature().getDeclaringType(); Class dt = sig.getDeclaringType(); - Tester.check(!(target instanceof E), - target.getClass().getName() + " instanceof E"); + Tester.check(!(target instanceof E), target.getClass().getName() + " instanceof E"); Tester.event("call " + target.getClass().getName()); - Tester.check(dt == PR353b.class, - "dt != instanceof PR353b"); - Tester.check(!(target instanceof E), - "!instanceof E"); + Tester.check(enclosingJoinPointDeclaringType == PR353b.class, "enclosingJoinPointDeclaringType != instanceof PR353b"); + Tester.check(!(target instanceof E), "!instanceof E"); String c = thisJoinPoint.getSignature().getDeclaringType().getName(); Tester.check(s.c.equals(c), "p3: " + s.c + " != " + c); } diff --git a/tests/new/SourceLocationCall.java b/tests/new/SourceLocationCall.java index a1ab48eff..392498dd6 100644 --- a/tests/new/SourceLocationCall.java +++ b/tests/new/SourceLocationCall.java @@ -48,11 +48,11 @@ aspect Tracing { after() : trace1() { check("after() : trace1()", thisJoinPoint, thisJoinPointStaticPart); } - - before(): call(void SourceLocationCall.main(..)) { - Tester.check(thisJoinPoint.getSourceLocation() == null, "main call"); - Tester.check(thisJoinPoint.getThis() == null, "main call"); - } +// XXX23: What is this advice for? It doesn't match anything? +// before(): call (void SourceLocationCall.main(..)) { +// Tester.check(thisJoinPoint.getSourceLocation() == null, "main call"); +// Tester.check(thisJoinPoint.getThis() == null, "main call"); +// } } diff --git a/tests/new/StaticCalls.java b/tests/new/StaticCalls.java index ca6c9a866..915f70648 100644 --- a/tests/new/StaticCalls.java +++ b/tests/new/StaticCalls.java @@ -1,4 +1,5 @@ import org.aspectj.testing.Tester; +import org.aspectj.lang.annotation.SuppressAjWarnings; public class StaticCalls { public static void main(String args[]) { test(); } diff --git a/tests/new/StaticMethodsShouldNotReceiveInstanceofAdvice.java b/tests/new/StaticMethodsShouldNotReceiveInstanceofAdvice.java index 1bc6898a9..188eb651e 100644 --- a/tests/new/StaticMethodsShouldNotReceiveInstanceofAdvice.java +++ b/tests/new/StaticMethodsShouldNotReceiveInstanceofAdvice.java @@ -1,3 +1,4 @@ +import org.aspectj.lang.annotation.SuppressAjWarnings; import org.aspectj.testing.*; import java.util.*; @@ -29,11 +30,17 @@ aspect PutsAdviceOnStaticMethods { pointcut bad4(): target(*) && call(void ClassWithStaticMethods.staticMethod()); pointcut bad5(ClassWithStaticMethods c): target(c) && call(void staticMethod()); + @SuppressAjWarnings("adviceDidNotMatch") before(): bad0() { bad("bad0:" + thisJoinPoint); } + @SuppressAjWarnings("adviceDidNotMatch") before(ClassWithStaticMethods c): bad1(c) { bad("bad1:" + thisJoinPoint); } + @SuppressAjWarnings("adviceDidNotMatch") before(): bad2() { bad("bad2:" + thisJoinPoint); } + @SuppressAjWarnings("adviceDidNotMatch") before(ClassWithStaticMethods c): bad3(c) { bad("bad3:" + thisJoinPoint); } + @SuppressAjWarnings("adviceDidNotMatch") before(): bad4() { bad("bad4:" + thisJoinPoint); } + @SuppressAjWarnings("adviceDidNotMatch") before(ClassWithStaticMethods c): bad5(c) { bad("bad5:" + thisJoinPoint); } // This should run diff --git a/tests/new/TypeDeclInAdvice.java b/tests/new/TypeDeclInAdvice.java index e39d3421e..b436c6e95 100644 --- a/tests/new/TypeDeclInAdvice.java +++ b/tests/new/TypeDeclInAdvice.java @@ -10,7 +10,7 @@ public class TypeDeclInAdvice { } aspect A { - void around(): this(Foo) && call(void m(..)) { + void around(): target(Foo) && call(void m(..)) { class Internal { int val() { return 1; } } @@ -20,6 +20,7 @@ aspect A { i = 1; j = new Internal(); + System.out.println("Advice running"); proceed(); //System.out.println("j: " + j); diff --git a/tests/new/WithinInners.java b/tests/new/WithinInners.java index 17a0be521..6f4e3aea1 100644 --- a/tests/new/WithinInners.java +++ b/tests/new/WithinInners.java @@ -1,3 +1,4 @@ +import org.aspectj.lang.annotation.SuppressAjWarnings; import org.aspectj.testing.Tester; public class WithinInners { @@ -53,6 +54,7 @@ aspect A { //System.out.println("about to call Runnable.run in " + c + " on " + runnable); notes += "before-within:"; } + @SuppressAjWarnings("adviceDidNotMatch") before(): execution(void run()) && withincode(Runnable C.getRunnable()) { //System.out.println("about to call Runnable.run in C"); notes += "before-withincode:"; diff --git a/tests/new/access/psub/A.java b/tests/new/access/psub/A.java index 5cbc1a05b..3b4199d4c 100644 --- a/tests/new/access/psub/A.java +++ b/tests/new/access/psub/A.java @@ -1,15 +1,16 @@ package psub; +import org.aspectj.lang.annotation.SuppressAjWarnings; import org.aspectj.testing.Tester; import pc.C; aspect A { private static interface Marker {} - + @SuppressAjWarnings("adviceDidNotMatch") before(): call(String SubC.getMyPackage()) { - //XXXTester.checkFailed("shouldn't ever run this " + thisJoinPoint); + Tester.checkFailed("shouldn't ever run this " + thisJoinPoint); } before(): !target(Marker) && !this(Marker) && !args(Marker, ..) && call(String C.getMyPackage()) { - Tester.note("C.getMyPackage on " + thisJoinPoint.getTarget().getClass().getName()); + Tester.note("C.getMyPackage on " + thisJoinPoint.getTarget().getClass().getName()); } } diff --git a/tests/new/privilegedAspects/driver/PrivilegedAspect.java b/tests/new/privilegedAspects/driver/PrivilegedAspect.java index cd93fedee..456dec59b 100644 --- a/tests/new/privilegedAspects/driver/PrivilegedAspect.java +++ b/tests/new/privilegedAspects/driver/PrivilegedAspect.java @@ -1,6 +1,6 @@ - package driver; +import org.aspectj.lang.annotation.SuppressAjWarnings; // import pack.DefaultTarget; // does not work - ok import pack.PublicTarget; @@ -122,5 +122,5 @@ public privileged aspect PrivilegedAspect { public static void foo(pack.DefaultTarget t) { } - before(pack.DefaultTarget t): call(void mumble()) && this(t) {} + @SuppressAjWarnings("adviceDidNotMatch") before(pack.DefaultTarget t): call(void mumble()) && this(t) {} } |