diff options
author | Andy Clement <aclement@pivotal.io> | 2019-11-27 19:03:07 -0800 |
---|---|---|
committer | Andy Clement <aclement@pivotal.io> | 2019-11-27 19:03:07 -0800 |
commit | 4d6668df0ce64175c209333705f457ee47376ef0 (patch) | |
tree | 70208ed1df12c5d293a44b8a8073d218032ebd21 /org.aspectj.matcher/src | |
parent | accb931da432b000c34523fcc1da20e43d701a0d (diff) | |
download | aspectj-4d6668df0ce64175c209333705f457ee47376ef0.tar.gz aspectj-4d6668df0ce64175c209333705f457ee47376ef0.zip |
Fix 550494
Diffstat (limited to 'org.aspectj.matcher/src')
-rw-r--r-- | org.aspectj.matcher/src/main/java/org/aspectj/weaver/MethodDelegateTypeMunger.java | 19 |
1 files changed, 11 insertions, 8 deletions
diff --git a/org.aspectj.matcher/src/main/java/org/aspectj/weaver/MethodDelegateTypeMunger.java b/org.aspectj.matcher/src/main/java/org/aspectj/weaver/MethodDelegateTypeMunger.java index 79eab7d4d..bf8a76529 100644 --- a/org.aspectj.matcher/src/main/java/org/aspectj/weaver/MethodDelegateTypeMunger.java +++ b/org.aspectj.matcher/src/main/java/org/aspectj/weaver/MethodDelegateTypeMunger.java @@ -6,7 +6,7 @@ * which accompanies this distribution and is available at * http://eclipse.org/legal/epl-v10.html * - * Contributors: + * Contributors: * Alexandre Vasseur initial implementation * ******************************************************************/ @@ -20,7 +20,7 @@ import org.aspectj.weaver.patterns.TypePattern; * Type munger for annotation style ITD declare parents. with an interface AND an implementation. Given the aspect that has a field * public static Interface fieldI = ... // impl. we will weave in the Interface' methods and delegate to the aspect public static * field fieldI - * + * * Note: this munger DOES NOT handles the interface addition to the target classes - a regular Parent kinded munger must be added in * coordination. */ @@ -51,7 +51,7 @@ public class MethodDelegateTypeMunger extends ResolvedTypeMunger { /** * Construct a new type munger for @AspectJ ITD - * + * * @param signature * @param aspect * @param implClassName @@ -131,7 +131,7 @@ public class MethodDelegateTypeMunger extends ResolvedTypeMunger { kind.write(s); signature.write(s); aspect.write(s); - s.writeUTF(implClassName); + s.writeUTF(implClassName==null?"":implClassName); typePattern.write(s); fieldType.write(s); s.writeUTF(factoryMethodName); @@ -144,6 +144,9 @@ public class MethodDelegateTypeMunger extends ResolvedTypeMunger { ResolvedMemberImpl signature = ResolvedMemberImpl.readResolvedMember(s, context); UnresolvedType aspect = UnresolvedType.read(s); String implClassName = s.readUTF(); + if (implClassName.equals("")) { + implClassName = null; + } TypePattern tp = TypePattern.read(s, context); MethodDelegateTypeMunger typeMunger = new MethodDelegateTypeMunger(signature, aspect, implClassName, tp); UnresolvedType fieldType = null; @@ -164,7 +167,7 @@ public class MethodDelegateTypeMunger extends ResolvedTypeMunger { /** * Match based on given type pattern, only classes can be matched - * + * * @param matchType * @param aspectType * @return true if match @@ -180,7 +183,7 @@ public class MethodDelegateTypeMunger extends ResolvedTypeMunger { /** * Needed for reweavable - * + * * @return true */ public boolean changesPublicSignature() { @@ -198,7 +201,7 @@ public class MethodDelegateTypeMunger extends ResolvedTypeMunger { /** * Construct a new type munger for @AspectJ ITD - * + * * @param field * @param aspect * @param typePattern @@ -241,7 +244,7 @@ public class MethodDelegateTypeMunger extends ResolvedTypeMunger { /** * Match based on given type pattern, only classes can be matched - * + * * @param matchType * @param aspectType * @return true if match |