summaryrefslogtreecommitdiffstats
path: root/weaver
diff options
context:
space:
mode:
Diffstat (limited to 'weaver')
-rw-r--r--weaver/src/org/aspectj/weaver/bcel/BcelTypeMunger.java11
1 files changed, 11 insertions, 0 deletions
diff --git a/weaver/src/org/aspectj/weaver/bcel/BcelTypeMunger.java b/weaver/src/org/aspectj/weaver/bcel/BcelTypeMunger.java
index d65e03787..adc1e8a84 100644
--- a/weaver/src/org/aspectj/weaver/bcel/BcelTypeMunger.java
+++ b/weaver/src/org/aspectj/weaver/bcel/BcelTypeMunger.java
@@ -1931,6 +1931,17 @@ public class BcelTypeMunger extends ConcreteTypeMunger {
fg.addAnnotation(ag);
}
}
+
+ if (weaver.getWorld().isInJava5Mode()) {
+ String basicSignature = field.getSignature();
+ String genericSignature = field.getReturnType().resolve(weaver.getWorld()).getSignatureForAttribute();
+ // String genericSignature =
+ // ((ResolvedMemberImpl)field).getSignatureForAttribute();
+ if (!basicSignature.equals(genericSignature)) {
+ // Add a signature attribute to it
+ fg.addAttribute(createSignatureAttribute(gen.getConstantPool(), genericSignature));
+ }
+ }
gen.addField(fg, getSourceLocation());
}
// this uses a shadow munger to add init method to constructors