diff options
-rw-r--r-- | org.aspectj.matcher/src/org/aspectj/weaver/ResolvedMemberImpl.java | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/org.aspectj.matcher/src/org/aspectj/weaver/ResolvedMemberImpl.java b/org.aspectj.matcher/src/org/aspectj/weaver/ResolvedMemberImpl.java index 38098eb80..0f82f045f 100644 --- a/org.aspectj.matcher/src/org/aspectj/weaver/ResolvedMemberImpl.java +++ b/org.aspectj.matcher/src/org/aspectj/weaver/ResolvedMemberImpl.java @@ -673,8 +673,15 @@ public class ResolvedMemberImpl extends MemberImpl implements IHasPosition, Reso } public boolean isVisible(ResolvedType fromType) { - World world = fromType.getWorld(); - return ResolvedType.isVisible(getModifiers(), getDeclaringType().resolve(world), fromType); + UnresolvedType declaringType = getDeclaringType(); + ResolvedType type = null; + if (fromType.equals(declaringType)) { + type = fromType; + } else { + World world = fromType.getWorld(); + type = declaringType.resolve(world); + } + return ResolvedType.isVisible(getModifiers(), type, fromType); } public void setCheckedExceptions(UnresolvedType[] checkedExceptions) { |