diff options
author | aclement <aclement> | 2004-07-27 14:17:32 +0000 |
---|---|---|
committer | aclement <aclement> | 2004-07-27 14:17:32 +0000 |
commit | b18436307ecfed63c8995fd35013ffa07e5116e7 (patch) | |
tree | e8cc5630970d6be2a5f4cc321c0e0480cc0e9b2c /weaver | |
parent | 6fd3e87d4dc38f1e237cb6ab75321eadd56e0a75 (diff) | |
download | aspectj-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.java | 14 |
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; } |