summaryrefslogtreecommitdiffstats
path: root/org.aspectj.ajdt.core
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 /org.aspectj.ajdt.core
parentac04dc5f2087f1ed2d874c4ad83c88e4243abaf4 (diff)
downloadaspectj-f303867ebd5f697256407e8586f688ff8f979353.tar.gz
aspectj-f303867ebd5f697256407e8586f688ff8f979353.zip
ctor ITDs now remember tvar aliases (see 112105)
Diffstat (limited to 'org.aspectj.ajdt.core')
-rw-r--r--org.aspectj.ajdt.core/src/org/aspectj/ajdt/internal/compiler/ast/InterTypeConstructorDeclaration.java6
-rw-r--r--org.aspectj.ajdt.core/src/org/aspectj/ajdt/internal/compiler/lookup/EclipseTypeMunger.java3
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 {