summaryrefslogtreecommitdiffstats
path: root/org.aspectj.ajdt.core
diff options
context:
space:
mode:
authoraclement <aclement>2005-10-26 16:46:18 +0000
committeraclement <aclement>2005-10-26 16:46:18 +0000
commit06211e403bbc4301440abae5aa98bf4a85e4cf61 (patch)
tree2aaf696d0989db7cb5dfad71252647343817f8f6 /org.aspectj.ajdt.core
parent7251a5b15686b2f6002a154a722ba2ecfe91857e (diff)
downloadaspectj-06211e403bbc4301440abae5aa98bf4a85e4cf61.tar.gz
aspectj-06211e403bbc4301440abae5aa98bf4a85e4cf61.zip
see pr112105 comment #13: these now use the aliases correctly.
Diffstat (limited to 'org.aspectj.ajdt.core')
-rw-r--r--org.aspectj.ajdt.core/src/org/aspectj/ajdt/internal/compiler/ast/InterTypeFieldDeclaration.java14
-rw-r--r--org.aspectj.ajdt.core/src/org/aspectj/ajdt/internal/compiler/ast/InterTypeMethodDeclaration.java7
2 files changed, 10 insertions, 11 deletions
diff --git a/org.aspectj.ajdt.core/src/org/aspectj/ajdt/internal/compiler/ast/InterTypeFieldDeclaration.java b/org.aspectj.ajdt.core/src/org/aspectj/ajdt/internal/compiler/ast/InterTypeFieldDeclaration.java
index ec9ff1fb5..6d473e7fe 100644
--- a/org.aspectj.ajdt.core/src/org/aspectj/ajdt/internal/compiler/ast/InterTypeFieldDeclaration.java
+++ b/org.aspectj.ajdt.core/src/org/aspectj/ajdt/internal/compiler/ast/InterTypeFieldDeclaration.java
@@ -128,7 +128,7 @@ public class InterTypeFieldDeclaration extends InterTypeDeclaration {
};
} else if (!onTypeBinding.isInterface()) {
MethodBinding writeMethod = world.makeMethodBinding(
- AjcMemberMaker.interFieldSetDispatcher(sig,aspectType));
+ AjcMemberMaker.interFieldSetDispatcher(sig,aspectType),munger.getTypeVariableAliases());
// For the body of an intertype field initalizer, generate a call to the inter field set dispatcher
// method as that casts the shadow of a field set join point.
if (Modifier.isStatic(declaredModifiers)) {
@@ -147,7 +147,7 @@ public class InterTypeFieldDeclaration extends InterTypeDeclaration {
} else {
//XXX something is broken about this logic. Can we write to static interface fields?
MethodBinding writeMethod = world.makeMethodBinding(
- AjcMemberMaker.interFieldInterfaceSetter(sig, sig.getDeclaringType().resolve(world.getWorld()), aspectType));
+ AjcMemberMaker.interFieldInterfaceSetter(sig, sig.getDeclaringType().resolve(world.getWorld()), aspectType),munger.getTypeVariableAliases());
if (Modifier.isStatic(declaredModifiers)) {
this.statements = new Statement[] {
new KnownMessageSend(writeMethod,
@@ -250,9 +250,9 @@ public class InterTypeFieldDeclaration extends InterTypeDeclaration {
{
MethodBinding binding;
if (isGetter) {
- binding = world.makeMethodBinding(AjcMemberMaker.interFieldGetDispatcher(sig, aspectType));
+ binding = world.makeMethodBinding(AjcMemberMaker.interFieldGetDispatcher(sig, aspectType),munger.getTypeVariableAliases(),munger.getSignature().getDeclaringType());
} else {
- binding = world.makeMethodBinding(AjcMemberMaker.interFieldSetDispatcher(sig, aspectType));
+ binding = world.makeMethodBinding(AjcMemberMaker.interFieldSetDispatcher(sig, aspectType),munger.getTypeVariableAliases(),munger.getSignature().getDeclaringType());
}
classFile.generateMethodInfoHeader(binding);
int methodAttributeOffset = classFile.contentsOffset;
@@ -264,7 +264,7 @@ public class InterTypeFieldDeclaration extends InterTypeDeclaration {
codeStream.reset(this, classFile);
FieldBinding classField = world.makeFieldBinding(
- AjcMemberMaker.interFieldClassField(sig, aspectType));
+ AjcMemberMaker.interFieldClassField(sig, aspectType),munger.getTypeVariableAliases());
codeStream.initializeMaxLocals(binding);
if (isGetter) {
@@ -273,7 +273,7 @@ public class InterTypeFieldDeclaration extends InterTypeDeclaration {
ResolvedType declaringRTX = world.getWorld().resolve(declaringTX,munger.getSourceLocation());
MethodBinding readMethod = world.makeMethodBinding(
AjcMemberMaker.interFieldInterfaceGetter(
- sig, declaringRTX, aspectType));
+ sig, declaringRTX, aspectType),munger.getTypeVariableAliases());
generateInterfaceReadBody(binding, readMethod, codeStream);
} else {
generateClassReadBody(binding, classField, codeStream);
@@ -282,7 +282,7 @@ public class InterTypeFieldDeclaration extends InterTypeDeclaration {
if (onTypeBinding.isInterface()) {
MethodBinding writeMethod = world.makeMethodBinding(
AjcMemberMaker.interFieldInterfaceSetter(
- sig, world.getWorld().resolve(sig.getDeclaringType(),munger.getSourceLocation()), aspectType));
+ sig, world.getWorld().resolve(sig.getDeclaringType(),munger.getSourceLocation()), aspectType),munger.getTypeVariableAliases());
generateInterfaceWriteBody(binding, writeMethod, codeStream);
} else {
generateClassWriteBody(binding, classField, codeStream);
diff --git a/org.aspectj.ajdt.core/src/org/aspectj/ajdt/internal/compiler/ast/InterTypeMethodDeclaration.java b/org.aspectj.ajdt.core/src/org/aspectj/ajdt/internal/compiler/ast/InterTypeMethodDeclaration.java
index a814fe74f..cf2da9f10 100644
--- a/org.aspectj.ajdt.core/src/org/aspectj/ajdt/internal/compiler/ast/InterTypeMethodDeclaration.java
+++ b/org.aspectj.ajdt.core/src/org/aspectj/ajdt/internal/compiler/ast/InterTypeMethodDeclaration.java
@@ -126,7 +126,7 @@ public class InterTypeMethodDeclaration extends InterTypeDeclaration {
// Work out the real method binding that we can use for comparison
EclipseFactory world = EclipseFactory.fromScopeLookupEnvironment(scope);
- MethodBinding realthing = world.makeMethodBinding(munger.getSignature());
+ MethodBinding realthing = world.makeMethodBinding(munger.getSignature(),munger.getTypeVariableAliases());
boolean reportError = true;
// Go up the hierarchy, looking for something we override
@@ -197,7 +197,6 @@ public class InterTypeMethodDeclaration extends InterTypeDeclaration {
ResolvedMember me =
myMunger.getInterMethodBody(aspectType);
this.selector = binding.selector = me.getName().toCharArray();
-
return new EclipseTypeMunger(factory, myMunger, aspectType, this);
}
@@ -231,9 +230,9 @@ public class InterTypeMethodDeclaration extends InterTypeDeclaration {
ResolvedMember dispatchMember =
AjcMemberMaker.interMethodDispatcher(signature, aspectType);
- MethodBinding dispatchBinding = world.makeMethodBinding(dispatchMember);
+ MethodBinding dispatchBinding = world.makeMethodBinding(dispatchMember,munger.getTypeVariableAliases(),munger.getSignature().getDeclaringType());
MethodBinding introducedMethod =
- world.makeMethodBinding(AjcMemberMaker.interMethod(signature, aspectType, onTypeBinding.isInterface()));
+ world.makeMethodBinding(AjcMemberMaker.interMethod(signature, aspectType, onTypeBinding.isInterface()),munger.getTypeVariableAliases());
classFile.generateMethodInfoHeader(dispatchBinding);
int methodAttributeOffset = classFile.contentsOffset;