Download
Getting Started
Members
Projects
Community
Marketplace
Events
Planet Eclipse
Newsletter
Videos
Participate
Report a Bug
Forums
Mailing Lists
Wiki
IRC
How to Contribute
Working Groups
Automotive
Internet of Things
LocationTech
Long-Term Support
PolarSys
Science
OpenMDM
More
Community
Marketplace
Events
Planet Eclipse
Newsletter
Videos
Participate
Report a Bug
Forums
Mailing Lists
Wiki
IRC
How to Contribute
Working Groups
Automotive
Internet of Things
LocationTech
Long-Term Support
PolarSys
Science
OpenMDM
Toggle navigation
Bugzilla – Attachment 93036 Details for
Bug 145018
[ataspectj][matching] NPE weaving complex pointcuts with if()
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Requests
|
Help
|
Log In
[x]
|
Terms of Use
|
Copyright Agent
[patch]
Beginnings of a fix
AnnotationStyleIfPointcut_patch_weaver.txt (text/plain), 2.56 KB, created by
Andrew Clement
on 2008-03-20 12:09:48 EDT
(
hide
)
Description:
Beginnings of a fix
Filename:
MIME Type:
Creator:
Andrew Clement
Created:
2008-03-20 12:09:48 EDT
Size:
2.56 KB
patch
obsolete
>### Eclipse Workspace Patch 1.0 >#P weaver >Index: src/org/aspectj/weaver/patterns/IfPointcut.java >=================================================================== >RCS file: /cvsroot/tools/org.aspectj/modules/weaver/src/org/aspectj/weaver/patterns/IfPointcut.java,v >retrieving revision 1.41 >diff -u -r1.41 IfPointcut.java >--- src/org/aspectj/weaver/patterns/IfPointcut.java 24 Oct 2006 12:42:58 -0000 1.41 >+++ src/org/aspectj/weaver/patterns/IfPointcut.java 20 Mar 2008 16:07:57 -0000 >@@ -218,10 +218,15 @@ > args.add(shadow.getThisEnclosingJoinPointStaticPartVar()); > } else { > // we don't use i as JoinPoint.* can be anywhere in the signature in @style >+ ExposedState myState = new ExposedState(baseArgsCount); >+ // ??? we throw out the test that comes from this walk. All we want here >+ // is bindings for the arguments >+ residueSource.findResidue(shadow, myState); >+ Var v2 = myState.get(i); > Var v = state.get(currentStateIndex++); >- args.add(v); >+ args.add(v2); > ret = Test.makeAnd(ret, >- Test.makeInstanceof(v, >+ Test.makeInstanceof(v2, > testMethod.getParameterTypes()[i].resolve(shadow.getIWorld()))); > } > } >Index: src/org/aspectj/weaver/patterns/PointcutEvaluationExpenseComparator.java >=================================================================== >RCS file: /cvsroot/tools/org.aspectj/modules/weaver/src/org/aspectj/weaver/patterns/PointcutEvaluationExpenseComparator.java,v >retrieving revision 1.3 >diff -u -r1.3 PointcutEvaluationExpenseComparator.java >--- src/org/aspectj/weaver/patterns/PointcutEvaluationExpenseComparator.java 1 Jun 2006 09:52:42 -0000 1.3 >+++ src/org/aspectj/weaver/patterns/PointcutEvaluationExpenseComparator.java 20 Mar 2008 16:07:57 -0000 >@@ -99,7 +99,8 @@ > if (p instanceof AnnotationPointcut) return ANNOTATION; > if (p instanceof ArgsPointcut) return ARGS; > if (p instanceof ArgsAnnotationPointcut) return AT_ARGS; >- if (p instanceof CflowPointcut) return CFLOW; >+ if (p instanceof CflowPointcut || p instanceof ConcreteCflowPointcut) >+ return CFLOW; > if (p instanceof HandlerPointcut) return HANDLER; > if (p instanceof IfPointcut) return IF; > if (p instanceof ThisOrTargetPointcut) return THIS_OR_TARGET;
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 145018
: 93036