diff options
author | aclement <aclement> | 2011-02-08 16:22:42 +0000 |
---|---|---|
committer | aclement <aclement> | 2011-02-08 16:22:42 +0000 |
commit | bd5d90c9d205a1d8d5da7b37e540375c0918d267 (patch) | |
tree | b57bbaaa91927cb6c82d01a5b09841abdfd6c4c0 /weaver | |
parent | 09af5acb0c35cfcc90b85bb465313c7903d32c20 (diff) | |
download | aspectj-bd5d90c9d205a1d8d5da7b37e540375c0918d267.tar.gz aspectj-bd5d90c9d205a1d8d5da7b37e540375c0918d267.zip |
336471: makeEJSP
Diffstat (limited to 'weaver')
-rw-r--r-- | weaver/src/org/aspectj/weaver/bcel/LazyClassGen.java | 12 |
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)); |