Hi, I've successfully used round advice to intercept input parameter for a method.
However, it seems constructor does not work for me. Here're my test: (It's in scala, but should be easy to understand) class MyObjectTest extends FlatSpecLike with Matchers { "MyObjectAspect" should "work" in { val t = new MyObject("leon") val result = t.talk() println(result) result should be("LEON") } } class MyObject(text: String) { def talk(): String = { println("MyObject " + text) text } } @Aspect class MyObjectAspect { @Around(value = "execution (com.leon.aop.MyObject.new(..))") def constructCP(jp: ProceedingJoinPoint): Object = { try { println("Start...") val args = jp.getArgs args(0) = args(0).toString.toUpperCase jp.proceed(args) } finally { println("End...") } } } output: Start... End... MyObject leon leon "[leon]" was not equal to "[LEON]" org.scalatest.exceptions.TestFailedException: "[leon]" was not equal to "[LEON]" at org.scalatest.MatchersHelper$.newTestFailedException(MatchersHelper.scala:160) at org.scalatest.Matchers$ShouldMethodHelper$.shouldMatcher(Matchers.scala:6141) at org.scalatest.Matchers$AnyShouldWrapper.should(Matchers.scala:6175) at com.leon.aop.MyObjectTest$$anonfun$1.apply$mcV$sp(ConstructorTest.scala:18) Anything wrong? Thanks Leon
_______________________________________________ aspectj-users mailing list aspectj-users@eclipse.org https://dev.eclipse.org/mailman/listinfo/aspectj-users