diff options
author | aclement <aclement> | 2005-10-18 14:15:25 +0000 |
---|---|---|
committer | aclement <aclement> | 2005-10-18 14:15:25 +0000 |
commit | f303867ebd5f697256407e8586f688ff8f979353 (patch) | |
tree | 5033c7fd171db205993910ac885d19e311aa6116 /weaver | |
parent | ac04dc5f2087f1ed2d874c4ad83c88e4243abaf4 (diff) | |
download | aspectj-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.java | 23 |
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; } |