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 /org.aspectj.ajdt.core | |
parent | ac04dc5f2087f1ed2d874c4ad83c88e4243abaf4 (diff) | |
download | aspectj-f303867ebd5f697256407e8586f688ff8f979353.tar.gz aspectj-f303867ebd5f697256407e8586f688ff8f979353.zip |
ctor ITDs now remember tvar aliases (see 112105)
Diffstat (limited to 'org.aspectj.ajdt.core')
2 files changed, 5 insertions, 4 deletions
diff --git a/org.aspectj.ajdt.core/src/org/aspectj/ajdt/internal/compiler/ast/InterTypeConstructorDeclaration.java b/org.aspectj.ajdt.core/src/org/aspectj/ajdt/internal/compiler/ast/InterTypeConstructorDeclaration.java index 80e77e262..b70c2a2d5 100644 --- a/org.aspectj.ajdt.core/src/org/aspectj/ajdt/internal/compiler/ast/InterTypeConstructorDeclaration.java +++ b/org.aspectj.ajdt.core/src/org/aspectj/ajdt/internal/compiler/ast/InterTypeConstructorDeclaration.java @@ -227,9 +227,9 @@ public class InterTypeConstructorDeclaration extends InterTypeDeclaration { ResolvedType aspectType = world.fromEclipse(classScope.referenceContext.binding); - + // This signature represents what we want consumers of the targetted type to 'see' - ResolvedMember signature = world.makeResolvedMember(binding,onTypeBinding); + ResolvedMember signature = world.makeResolvedMemberForITD(binding,onTypeBinding,interTypeScope.getRecoveryAliases()); signature.resetKind(Member.CONSTRUCTOR); signature.resetName("<init>"); int resetModifiers = declaredModifiers; @@ -240,7 +240,7 @@ public class InterTypeConstructorDeclaration extends InterTypeDeclaration { AjcMemberMaker.interConstructor(declaringTypeX, signature, aspectType); NewConstructorTypeMunger myMunger = - new NewConstructorTypeMunger(signature, syntheticInterMember, null, null); + new NewConstructorTypeMunger(signature, syntheticInterMember, null, null,typeVariableAliases); setMunger(myMunger); myMunger.check(world.getWorld()); diff --git a/org.aspectj.ajdt.core/src/org/aspectj/ajdt/internal/compiler/lookup/EclipseTypeMunger.java b/org.aspectj.ajdt.core/src/org/aspectj/ajdt/internal/compiler/lookup/EclipseTypeMunger.java index cb2044e4b..f4eca2a49 100644 --- a/org.aspectj.ajdt.core/src/org/aspectj/ajdt/internal/compiler/lookup/EclipseTypeMunger.java +++ b/org.aspectj.ajdt.core/src/org/aspectj/ajdt/internal/compiler/lookup/EclipseTypeMunger.java @@ -20,6 +20,7 @@ import org.aspectj.org.eclipse.jdt.internal.compiler.ast.AbstractMethodDeclarati import org.aspectj.org.eclipse.jdt.internal.compiler.env.IConstants; import org.aspectj.org.eclipse.jdt.internal.compiler.lookup.FieldBinding; import org.aspectj.org.eclipse.jdt.internal.compiler.lookup.MethodBinding; +import org.aspectj.org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding; import org.aspectj.org.eclipse.jdt.internal.compiler.lookup.SourceTypeBinding; import org.aspectj.weaver.ConcreteTypeMunger; import org.aspectj.weaver.NewConstructorTypeMunger; @@ -139,7 +140,7 @@ public class EclipseTypeMunger extends ConcreteTypeMunger { private void mungeNewConstructor(SourceTypeBinding sourceType, NewConstructorTypeMunger munger) { if (shouldTreatAsPublic()) { - MethodBinding binding = world.makeMethodBinding(munger.getSignature()); + MethodBinding binding = world.makeMethodBinding(munger.getSignature(),munger.getTypeVariableAliases()); findOrCreateInterTypeMemberFinder(sourceType).addInterTypeMethod(binding); //classScope.referenceContext.binding.addMethod(binding); } else { |