diff options
author | acolyer <acolyer> | 2005-09-27 15:00:24 +0000 |
---|---|---|
committer | acolyer <acolyer> | 2005-09-27 15:00:24 +0000 |
commit | e76b37012601cf67a069b4a78f60f183efad563d (patch) | |
tree | 3148225993d764b6389b0d360e618e73ad0e0042 /weaver | |
parent | c6567597adac0d457cdab8df3c24f9044f21e0e8 (diff) | |
download | aspectj-e76b37012601cf67a069b4a78f60f183efad563d.tar.gz aspectj-e76b37012601cf67a069b4a78f60f183efad563d.zip |
tests and fix for pr88900, unneccessary warning
Diffstat (limited to 'weaver')
-rw-r--r-- | weaver/src/org/aspectj/weaver/ResolvedTypeMunger.java | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/weaver/src/org/aspectj/weaver/ResolvedTypeMunger.java b/weaver/src/org/aspectj/weaver/ResolvedTypeMunger.java index f921ad69a..e602170c4 100644 --- a/weaver/src/org/aspectj/weaver/ResolvedTypeMunger.java +++ b/weaver/src/org/aspectj/weaver/ResolvedTypeMunger.java @@ -87,7 +87,11 @@ public abstract class ResolvedTypeMunger { //System.err.println("matching: " + this + " to " + matchType + " onType = " + onType); if (matchType.equals(onType)) { if (!onType.isExposedToWeaver()) { - if (onType.getWeaverState() == null) { + // if the onType is an interface, and it already has the member we are about + // to munge, then this is ok... + boolean ok = (onType.isInterface() && (onType.lookupMemberWithSupersAndITDs(getSignature()) != null)); + + if (!ok && onType.getWeaverState() == null) { if (matchType.getWorld().getLint().typeNotExposedToWeaver.isEnabled()) { matchType.getWorld().getLint().typeNotExposedToWeaver.signal( matchType.getName(), signature.getSourceLocation()); |