summaryrefslogtreecommitdiffstats
path: root/weaver
diff options
context:
space:
mode:
authoraclement <aclement>2011-02-08 16:22:42 +0000
committeraclement <aclement>2011-02-08 16:22:42 +0000
commitbd5d90c9d205a1d8d5da7b37e540375c0918d267 (patch)
treeb57bbaaa91927cb6c82d01a5b09841abdfd6c4c0 /weaver
parent09af5acb0c35cfcc90b85bb465313c7903d32c20 (diff)
downloadaspectj-bd5d90c9d205a1d8d5da7b37e540375c0918d267.tar.gz
aspectj-bd5d90c9d205a1d8d5da7b37e540375c0918d267.zip
336471: makeEJSP
Diffstat (limited to 'weaver')
-rw-r--r--weaver/src/org/aspectj/weaver/bcel/LazyClassGen.java12
1 files changed, 6 insertions, 6 deletions
diff --git a/weaver/src/org/aspectj/weaver/bcel/LazyClassGen.java b/weaver/src/org/aspectj/weaver/bcel/LazyClassGen.java
index 4ca0d175a..784e1c3f5 100644
--- a/weaver/src/org/aspectj/weaver/bcel/LazyClassGen.java
+++ b/weaver/src/org/aspectj/weaver/bcel/LazyClassGen.java
@@ -1041,8 +1041,7 @@ public final class LazyClassGen {
* Create a field in the type containing the shadow where the annotation retrieved during binding can be stored - for later fast
* access.
*
- * @param shadow
- * the shadow at which the @annotation result is being cached
+ * @param shadow the shadow at which the @annotation result is being cached
* @return a field
*/
public Field getAnnotationCachingField(BcelShadow shadow, ResolvedType toType) {
@@ -1202,7 +1201,9 @@ public final class LazyClassGen {
private void initializeTjp(InstructionFactory fact, InstructionList list, Field field, BcelShadow shadow) {
boolean fastSJP = false;
- boolean isFastSJPAvailable = shadow.getWorld().isTargettingRuntime1_6_10();
+ // avoid fast SJP if it is for an enclosing joinpoint
+ boolean isFastSJPAvailable = shadow.getWorld().isTargettingRuntime1_6_10()
+ && !enclosingStaticTjpType.equals(field.getType());
Member sig = shadow.getSignature();
@@ -1326,9 +1327,8 @@ public final class LazyClassGen {
final String factoryMethod;
- if (world.isTargettingAspectJRuntime12()) { // TAG:SUPPORTING12: We
- // didn't have makeESJP() in
- // 1.2
+ // TAG:SUPPORTING12: We didn't have makeESJP() in 1.2
+ if (world.isTargettingAspectJRuntime12()) {
list.append(fact.createInvoke(factoryType.getClassName(), "makeSJP", staticTjpType, new Type[] { Type.STRING, sigType,
Type.INT }, Constants.INVOKEVIRTUAL));