From 504d9e04700f51f21c236f911c882bace3dd2052 Mon Sep 17 00:00:00 2001 From: aclement Date: Mon, 7 Jun 2010 23:49:07 +0000 Subject: [PATCH] itd inner classes --- .../src/org/aspectj/weaver/ResolvedTypeMunger.java | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/org.aspectj.matcher/src/org/aspectj/weaver/ResolvedTypeMunger.java b/org.aspectj.matcher/src/org/aspectj/weaver/ResolvedTypeMunger.java index 609973d49..94503d5ea 100644 --- a/org.aspectj.matcher/src/org/aspectj/weaver/ResolvedTypeMunger.java +++ b/org.aspectj.matcher/src/org/aspectj/weaver/ResolvedTypeMunger.java @@ -56,7 +56,7 @@ public abstract class ResolvedTypeMunger { private Set superMethodsCalled = Collections.emptySet(); - private ISourceLocation location; // Lost during serialize/deserialize ! + private ISourceLocation location; private ResolvedType onType = null; @@ -106,7 +106,7 @@ public abstract class ResolvedTypeMunger { public boolean matches(ResolvedType matchType, ResolvedType aspectType) { if (onType == null) { - onType = matchType.getWorld().resolve(signature.getDeclaringType()); + onType = matchType.getWorld().resolve(getDeclaringType()); if (onType.isRawType()) { onType = onType.getGenericType(); } @@ -160,6 +160,8 @@ public abstract class ResolvedTypeMunger { return MethodDelegateTypeMunger.FieldHostTypeMunger.readFieldHost(s, context); } else if (kind == MethodDelegate2) { return MethodDelegateTypeMunger.readMethod(s, context, true); + } else if (kind == InnerClass) { + return NewMemberClassTypeMunger.read(s, context); } else { throw new RuntimeException("unimplemented"); } @@ -490,4 +492,8 @@ public abstract class ResolvedTypeMunger { throw new BCException("Dont call parameterizeWith() on a type munger of this kind: " + this.getClass()); } + public UnresolvedType getDeclaringType() { + return getSignature().getDeclaringType(); + } + } -- 2.39.5