aboutsummaryrefslogtreecommitdiffstats
path: root/weaver
diff options
context:
space:
mode:
authoraclement <aclement>2005-10-18 14:15:25 +0000
committeraclement <aclement>2005-10-18 14:15:25 +0000
commitf303867ebd5f697256407e8586f688ff8f979353 (patch)
tree5033c7fd171db205993910ac885d19e311aa6116 /weaver
parentac04dc5f2087f1ed2d874c4ad83c88e4243abaf4 (diff)
downloadaspectj-f303867ebd5f697256407e8586f688ff8f979353.tar.gz
aspectj-f303867ebd5f697256407e8586f688ff8f979353.zip
ctor ITDs now remember tvar aliases (see 112105)
Diffstat (limited to 'weaver')
-rw-r--r--weaver/src/org/aspectj/weaver/NewConstructorTypeMunger.java23
1 files changed, 15 insertions, 8 deletions
diff --git a/weaver/src/org/aspectj/weaver/NewConstructorTypeMunger.java b/weaver/src/org/aspectj/weaver/NewConstructorTypeMunger.java
index 6acd4b7e7..0f23fcf97 100644
--- a/weaver/src/org/aspectj/weaver/NewConstructorTypeMunger.java
+++ b/weaver/src/org/aspectj/weaver/NewConstructorTypeMunger.java
@@ -15,9 +15,11 @@ package org.aspectj.weaver;
import java.io.DataOutputStream;
import java.io.IOException;
+import java.util.List;
import java.util.Set;
import org.aspectj.bridge.IMessage;
+import org.aspectj.bridge.ISourceLocation;
public class NewConstructorTypeMunger extends ResolvedTypeMunger {
private ResolvedMember syntheticConstructor;
@@ -28,10 +30,11 @@ public class NewConstructorTypeMunger extends ResolvedTypeMunger {
ResolvedMember signature,
ResolvedMember syntheticConstructor,
ResolvedMember explicitConstructor,
- Set superMethodsCalled)
- {
+ Set superMethodsCalled,
+ List typeVariableAliases) {
super(Constructor, signature);
this.syntheticConstructor = syntheticConstructor;
+ this.typeVariableAliases = typeVariableAliases;
this.explicitConstructor = explicitConstructor;
this.setSuperMethodsCalled(superMethodsCalled);
@@ -49,15 +52,19 @@ public class NewConstructorTypeMunger extends ResolvedTypeMunger {
explicitConstructor.write(s);
writeSuperMethodsCalled(s);
writeSourceLocation(s);
+ writeOutTypeAliases(s);
}
public static ResolvedTypeMunger readConstructor(VersionedDataInputStream s, ISourceContext context) throws IOException {
- ResolvedTypeMunger munger = new NewConstructorTypeMunger(
- ResolvedMemberImpl.readResolvedMember(s, context),
- ResolvedMemberImpl.readResolvedMember(s, context),
- ResolvedMemberImpl.readResolvedMember(s, context),
- readSuperMethodsCalled(s));
- munger.setSourceLocation(readSourceLocation(s));
+ ISourceLocation sloc = null;
+ ResolvedMember sig = ResolvedMemberImpl.readResolvedMember(s, context);
+ ResolvedMember syntheticCtor = ResolvedMemberImpl.readResolvedMember(s, context);
+ ResolvedMember explicitCtor = ResolvedMemberImpl.readResolvedMember(s, context);
+ Set superMethodsCalled = readSuperMethodsCalled(s);
+ sloc = readSourceLocation(s);
+ List typeVarAliases = readInTypeAliases(s);
+ ResolvedTypeMunger munger = new NewConstructorTypeMunger(sig,syntheticCtor,explicitCtor,superMethodsCalled,typeVarAliases);
+ if (sloc!=null) munger.setSourceLocation(sloc);
return munger;
}