aboutsummaryrefslogtreecommitdiffstats
path: root/weaver
diff options
context:
space:
mode:
authoraclement <aclement>2004-07-27 14:17:32 +0000
committeraclement <aclement>2004-07-27 14:17:32 +0000
commitb18436307ecfed63c8995fd35013ffa07e5116e7 (patch)
treee8cc5630970d6be2a5f4cc321c0e0480cc0e9b2c /weaver
parent6fd3e87d4dc38f1e237cb6ab75321eadd56e0a75 (diff)
downloadaspectj-b18436307ecfed63c8995fd35013ffa07e5116e7.tar.gz
aspectj-b18436307ecfed63c8995fd35013ffa07e5116e7.zip
Fix for bug 69459
Hiding of Instance Methods by static methods
Diffstat (limited to 'weaver')
-rw-r--r--weaver/src/org/aspectj/weaver/ResolvedTypeX.java14
1 files changed, 11 insertions, 3 deletions
diff --git a/weaver/src/org/aspectj/weaver/ResolvedTypeX.java b/weaver/src/org/aspectj/weaver/ResolvedTypeX.java
index 15c86bdbb..16634af07 100644
--- a/weaver/src/org/aspectj/weaver/ResolvedTypeX.java
+++ b/weaver/src/org/aspectj/weaver/ResolvedTypeX.java
@@ -1107,9 +1107,9 @@ public abstract class ResolvedTypeX extends TypeX {
ResolvedMember sig = munger.getSignature();
while (existingMembers.hasNext()) {
ResolvedMember existingMember = (ResolvedMember)existingMembers.next();
-
+ //System.err.println("Comparing munger: "+sig+" with member "+existingMember);
if (conflictingSignature(existingMember, munger.getSignature())) {
- //System.err.println("conflict: " + existingMember + " with " + munger);
+ //System.err.println("conflict: existingMember=" + existingMember + " typeMunger=" + munger);
//System.err.println(munger.getSourceLocation() + ", " + munger.getSignature() + ", " + munger.getSignature().getSourceLocation());
if (isVisible(existingMember.getModifiers(), this, munger.getAspectType())) {
@@ -1191,7 +1191,15 @@ public abstract class ResolvedTypeX extends TypeX {
return false;
}
-
+ if (parent.isStatic() && !child.isStatic()) {
+ world.showMessage(IMessage.ERROR,
+ child.toString()+" cannot override "+parent.toString()+"; overridden method is static",
+ child.getSourceLocation(),null);
+ } else if (child.isStatic() && !parent.isStatic()) {
+ world.showMessage(IMessage.ERROR,
+ child.toString()+" cannot override "+parent.toString()+"; overriding method is static",
+ child.getSourceLocation(),null);
+ }
return true;
}