diff options
author | aclement <aclement> | 2009-09-08 18:46:54 +0000 |
---|---|---|
committer | aclement <aclement> | 2009-09-08 18:46:54 +0000 |
commit | 1ef6b1decae19efe6de321eec4d533538bce940b (patch) | |
tree | c934c07e030b28d713c9ae5d6e0defc9f52ba621 /tests/bugs166/pr288712/answers | |
parent | 4852b21903efb89fc27ebcb2c895a9508aa7368b (diff) | |
download | aspectj-1ef6b1decae19efe6de321eec4d533538bce940b.tar.gz aspectj-1ef6b1decae19efe6de321eec4d533538bce940b.zip |
288712: anno style verifyerror
Diffstat (limited to 'tests/bugs166/pr288712/answers')
-rw-r--r-- | tests/bugs166/pr288712/answers/Answer2h.java | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/tests/bugs166/pr288712/answers/Answer2h.java b/tests/bugs166/pr288712/answers/Answer2h.java new file mode 100644 index 000000000..dda4766e2 --- /dev/null +++ b/tests/bugs166/pr288712/answers/Answer2h.java @@ -0,0 +1,41 @@ +package answers; + +import org.aspectj.lang.ProceedingJoinPoint; +import org.aspectj.lang.annotation.*; +import figures.*; +import java.awt.Rectangle; + +@Aspect +public class Answer2h { + @Pointcut("call(public void figures.FigureElement+.move" + + "()) && target(fe)") + void movingFigureElement(Point fe) {} + + @Around("movingFigureElement(fe)") + public void checkIfBoundsMovedSame(ProceedingJoinPoint thisJoinPoint, + Point fe) throws Throwable { +/* + @Pointcut("call(public void figures.FigureElement+.move" + + "(int, int)) && target(fe) && args(dx, dy)") + void movingFigureElement(FigureElement fe, int dx, int dy) {} + + @Around("movingFigureElement(fe, dx, dy)") + public void checkIfBoundsMovedSame(ProceedingJoinPoint thisJoinPoint, + FigureElement fe, int dx, int dy) throws Throwable { +*/ + Rectangle rectangleBefore = new Rectangle(fe.getBounds()); + //thisJoinPoint.proceed(new Object[]{fe, dx, dy}); + thisJoinPoint.proceed(new Object[]{fe}); +// rectangleBefore.translate(dx, dy); + if(!rectangleBefore.equals(fe.getBounds())) + throw new IllegalStateException("move() invariant violation"); + + + // IF THE THREE LINES BELOW ARE UN-COMMENTED, THE EXCEPTION + // ISN'T THROWN!? + // Note: The three lines can be located anywhere inside the advice. +// for(Object o: thisJoinPoint.getArgs()) { +// System.out.print(o+" "); +// } + } +} |