aboutsummaryrefslogtreecommitdiffstats
path: root/org.aspectj.matcher/src
diff options
context:
space:
mode:
authorAndy Clement <aclement@pivotal.io>2019-11-27 19:03:07 -0800
committerAndy Clement <aclement@pivotal.io>2019-11-27 19:03:07 -0800
commit4d6668df0ce64175c209333705f457ee47376ef0 (patch)
tree70208ed1df12c5d293a44b8a8073d218032ebd21 /org.aspectj.matcher/src
parentaccb931da432b000c34523fcc1da20e43d701a0d (diff)
downloadaspectj-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.java19
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