aboutsummaryrefslogtreecommitdiffstats
path: root/weaver
diff options
context:
space:
mode:
authoracolyer <acolyer>2005-09-27 15:00:24 +0000
committeracolyer <acolyer>2005-09-27 15:00:24 +0000
commite76b37012601cf67a069b4a78f60f183efad563d (patch)
tree3148225993d764b6389b0d360e618e73ad0e0042 /weaver
parentc6567597adac0d457cdab8df3c24f9044f21e0e8 (diff)
downloadaspectj-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.java6
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());