summaryrefslogtreecommitdiffstats
path: root/weaver
diff options
context:
space:
mode:
authoracolyer <acolyer>2005-09-08 16:57:15 +0000
committeracolyer <acolyer>2005-09-08 16:57:15 +0000
commit2d21db05869efd4715e8a4a10810c18a89093bfb (patch)
treea6800bf2b7b21b433a69ce9dc4ec2b7d66d9295d /weaver
parent08d6a5d1e032d33b46afca2fd92d3700b06a6cc6 (diff)
downloadaspectj-2d21db05869efd4715e8a4a10810c18a89093bfb.tar.gz
aspectj-2d21db05869efd4715e8a4a10810c18a89093bfb.zip
tests and fix for pr108886, result of having no source location for resolved members representing methods in EclipseSourceTypes
Diffstat (limited to 'weaver')
-rw-r--r--weaver/src/org/aspectj/weaver/ResolvedMemberImpl.java4
-rw-r--r--weaver/src/org/aspectj/weaver/ResolvedType.java3
2 files changed, 3 insertions, 4 deletions
diff --git a/weaver/src/org/aspectj/weaver/ResolvedMemberImpl.java b/weaver/src/org/aspectj/weaver/ResolvedMemberImpl.java
index 85837fe1e..74f4b550c 100644
--- a/weaver/src/org/aspectj/weaver/ResolvedMemberImpl.java
+++ b/weaver/src/org/aspectj/weaver/ResolvedMemberImpl.java
@@ -534,7 +534,7 @@ public class ResolvedMemberImpl extends MemberImpl implements IHasPosition, Anno
parameterizedParameterTypes[i] =
parameterize(getGenericParameterTypes()[i], typeMap,isParameterized);
}
- return new ResolvedMemberImpl(
+ ResolvedMemberImpl ret = new ResolvedMemberImpl(
getKind(),
newDeclaringType,
getModifiers(),
@@ -544,6 +544,8 @@ public class ResolvedMemberImpl extends MemberImpl implements IHasPosition, Anno
getExceptions(),
this
);
+ ret.setSourceContext(getSourceContext());
+ return ret;
}
diff --git a/weaver/src/org/aspectj/weaver/ResolvedType.java b/weaver/src/org/aspectj/weaver/ResolvedType.java
index b453e1745..bb42a7e3b 100644
--- a/weaver/src/org/aspectj/weaver/ResolvedType.java
+++ b/weaver/src/org/aspectj/weaver/ResolvedType.java
@@ -1299,9 +1299,6 @@ public abstract class ResolvedType extends UnresolvedType implements AnnotatedEl
public boolean checkLegalOverride(ResolvedMember parent, ResolvedMember child) {
//System.err.println("check: " + child.getDeclaringType() + " overrides " + parent.getDeclaringType());
if (Modifier.isFinal(parent.getModifiers())) {
- // XXX horrible test, if we're in eclipes, child.getSourceLocation will be
- // null, and this message will have already been issued.
- if (child.getSourceLocation() == null) return false;
world.showMessage(Message.ERROR,
WeaverMessages.format(WeaverMessages.CANT_OVERRIDE_FINAL_MEMBER,parent),
child.getSourceLocation(),null);