[JBoss JIRA] Updated: (JBAOP-243) ${instanceof} disregards method call target
by Kabir Khan (JIRA)
[ http://jira.jboss.com/jira/browse/JBAOP-243?page=all ]
Kabir Khan updated JBAOP-243:
-----------------------------
Fix Version/s: 2.0.0.alpha2
(was: 2.0.0.alpha1)
Assignee: Kabir Khan
> ${instanceof} disregards method call target
> -------------------------------------------
>
> Key: JBAOP-243
> URL: http://jira.jboss.com/jira/browse/JBAOP-243
> Project: JBoss AOP
> Issue Type: Bug
> Affects Versions: 1.3.5
> Reporter: Konstantin Sobolev
> Assigned To: Kabir Khan
> Fix For: 2.0.0.alpha2
>
> Attachments: jbaop-243.tar.gz
>
>
> instanceof{$I}->method() checks a class declaring method() instead of the class on which this method is actually called.
> Example:
> interface I1 {void foo();}
> interface I2 {void bar();}
> class I1Impl implements I1 {void foo(){};}
> class Target extends I1Impl implements I2 {void bar();}
> now $instanceof{I1}->foo() will intercept new Target.foo(), while
> ${instanceof{I1}->bar() won't intercept new Target.bar().
> Testcase implementing this example is attached.
> Please see forum thread for a real life example.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://jira.jboss.com/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
18 years, 2 months
[JBoss JIRA] Updated: (JBAOP-195) Error running ArgsTestCase in Eclipse
by Kabir Khan (JIRA)
[ http://jira.jboss.com/jira/browse/JBAOP-195?page=all ]
Kabir Khan updated JBAOP-195:
-----------------------------
Fix Version/s: 2.0.0.alpha2
(was: 2.0.0.alpha1)
> Error running ArgsTestCase in Eclipse
> -------------------------------------
>
> Key: JBAOP-195
> URL: http://jira.jboss.com/jira/browse/JBAOP-195
> Project: JBoss AOP
> Issue Type: Task
> Reporter: Kabir Khan
> Assigned To: Kabir Khan
> Fix For: 2.0.0.alpha2
>
>
> This is when running with generated advisors. It works fine when running from command-line on Windows, but causes an error when running/debugging in Eclipse. All other tests work fine in both places. My main concern is that this error in Eclipse might show up on other platforms
> java.lang.RuntimeException: java.lang.RuntimeException: org.jboss.aop.JoinPoint in org/jboss/aop/joinpoint.java
> at org.jboss.aop.instrument.JoinPointGenerator.generateJoinPointClass(JoinPointGenerator.java:174)
> at org.jboss.test.aop.args.POJO$POJOAdvisor.bunchArgs_N_5735936556171587907(POJO$POJOAdvisor.java)
> at org.jboss.test.aop.args.POJO.bunchArgs(POJO.java)
> at org.jboss.test.aop.args.ArgsTestCase.testBench(ArgsTestCase.java:62)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> at java.lang.reflect.Method.invoke(Method.java:585)
> at junit.framework.TestCase.runTest(TestCase.java:154)
> at junit.framework.TestCase.runBare(TestCase.java:127)
> at junit.framework.TestResult$1.protect(TestResult.java:106)
> at junit.framework.TestResult.runProtected(TestResult.java:124)
> at junit.framework.TestResult.run(TestResult.java:109)
> at junit.framework.TestCase.run(TestCase.java:118)
> at junit.framework.TestSuite.runTest(TestSuite.java:208)
> at junit.framework.TestSuite.run(TestSuite.java:203)
> at junit.framework.TestSuite.runTest(TestSuite.java:208)
> at junit.framework.TestSuite.run(TestSuite.java:203)
> at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:478)
> at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:344)
> at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:196)
> Caused by: java.lang.RuntimeException: org.jboss.aop.JoinPoint in org/jboss/aop/joinpoint.java
> at javassist.CtClassType.getClassFile2(CtClassType.java:194)
> at javassist.CtClassType.prune(CtClassType.java:1046)
> at org.jboss.aop.AOPClassPool.cacheCtClass(AOPClassPool.java:138)
> at javassist.ClassPool.get0(ClassPool.java:405)
> at javassist.ClassPool.get(ClassPool.java:371)
> at javassist.compiler.MemberResolver.lookupClass0(MemberResolver.java:408)
> at javassist.compiler.MemberResolver.lookupClass(MemberResolver.java:372)
> at javassist.compiler.MemberResolver.lookupFieldByJvmName2(MemberResolver.java:258)
> at javassist.compiler.TypeChecker.fieldAccess(TypeChecker.java:791)
> at javassist.compiler.TypeChecker.atFieldRead(TypeChecker.java:719)
> at javassist.compiler.TypeChecker.atExpr(TypeChecker.java:521)
> at javassist.compiler.ast.Expr.accept(Expr.java:67)
> at javassist.compiler.TypeChecker.atCallExpr(TypeChecker.java:603)
> at javassist.compiler.JvstTypeChecker.atCallExpr(JvstTypeChecker.java:156)
> at javassist.compiler.ast.CallExpr.accept(CallExpr.java:45)
> at javassist.compiler.CodeGen.doTypeCheck(CodeGen.java:235)
> at javassist.compiler.CodeGen.atStmnt(CodeGen.java:323)
> at javassist.compiler.ast.Stmnt.accept(Stmnt.java:49)
> at javassist.compiler.CodeGen.atStmnt(CodeGen.java:344)
> at javassist.compiler.ast.Stmnt.accept(Stmnt.java:49)
> at javassist.compiler.MemberCodeGen.atTryStmnt(MemberCodeGen.java:140)
> at javassist.compiler.CodeGen.atStmnt(CodeGen.java:360)
> at javassist.compiler.ast.Stmnt.accept(Stmnt.java:49)
> at javassist.compiler.CodeGen.atStmnt(CodeGen.java:344)
> at javassist.compiler.ast.Stmnt.accept(Stmnt.java:49)
> at javassist.compiler.CodeGen.atSwitchStmnt(CodeGen.java:533)
> at javassist.compiler.CodeGen.atStmnt(CodeGen.java:362)
> at javassist.compiler.ast.Stmnt.accept(Stmnt.java:49)
> at javassist.compiler.CodeGen.atStmnt(CodeGen.java:344)
> at javassist.compiler.ast.Stmnt.accept(Stmnt.java:49)
> at javassist.compiler.MemberCodeGen.atTryStmnt(MemberCodeGen.java:140)
> at javassist.compiler.CodeGen.atStmnt(CodeGen.java:360)
> at javassist.compiler.ast.Stmnt.accept(Stmnt.java:49)
> at javassist.compiler.CodeGen.atStmnt(CodeGen.java:344)
> at javassist.compiler.ast.Stmnt.accept(Stmnt.java:49)
> at javassist.compiler.CodeGen.atMethodBody(CodeGen.java:285)
> at javassist.compiler.Javac.compileBody(Javac.java:212)
> at javassist.CtBehavior.setBody(CtBehavior.java:221)
> at javassist.CtBehavior.setBody(CtBehavior.java:196)
> at org.jboss.aop.instrument.JoinPointGenerator.createInvokeNextMethod(JoinPointGenerator.java:654)
> at org.jboss.aop.instrument.JoinPointGenerator.generateJoinpointClass(JoinPointGenerator.java:234)
> at org.jboss.aop.instrument.JoinPointGenerator.generateJoinPointClass(JoinPointGenerator.java:164)
> ... 20 more
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://jira.jboss.com/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
18 years, 2 months