From: aclement Date: Mon, 28 Mar 2011 19:37:01 +0000 (+0000) Subject: 340323 X-Git-Tag: V1_6_12M1~93 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=a8e6797a9268d9fb041c075ee7701831f7e848b4;p=aspectj.git 340323 --- diff --git a/weaver/src/org/aspectj/weaver/bcel/BcelTypeMunger.java b/weaver/src/org/aspectj/weaver/bcel/BcelTypeMunger.java index 3e2fd59b3..222a4f2d1 100644 --- a/weaver/src/org/aspectj/weaver/bcel/BcelTypeMunger.java +++ b/weaver/src/org/aspectj/weaver/bcel/BcelTypeMunger.java @@ -1246,18 +1246,20 @@ public class BcelTypeMunger extends ConcreteTypeMunger { // Step2 if (!alreadyDone) { - // Use the iterator form of 'getMethods()' so we do as little work - // as necessary - for (Iterator iter = onType.getSuperclass().getMethods(true, true); iter.hasNext() && !quitRightNow;) { - ResolvedMember aMethod = iter.next(); - if (aMethod.getName().equals(localMethodName) && aMethod.getParameterSignature().equals(localParameterSig)) { - // check the return types, if they are different we need a - // bridging method. - if (!aMethod.getReturnType().getErasureSignature().equals(localReturnTypeESig) - && !Modifier.isPrivate(aMethod.getModifiers())) { - // Step3 - createBridgeMethod(weaver.getWorld(), munger, unMangledInterMethod, gen, paramTypes, aMethod); - quitRightNow = true; + // Use the iterator form of 'getMethods()' so we do as little work as necessary + ResolvedType supertype = onType.getSuperclass(); + if (supertype != null) { + for (Iterator iter = supertype.getMethods(true, true); iter.hasNext() && !quitRightNow;) { + ResolvedMember aMethod = iter.next(); + if (aMethod.getName().equals(localMethodName) && aMethod.getParameterSignature().equals(localParameterSig)) { + // check the return types, if they are different we need a + // bridging method. + if (!aMethod.getReturnType().getErasureSignature().equals(localReturnTypeESig) + && !Modifier.isPrivate(aMethod.getModifiers())) { + // Step3 + createBridgeMethod(weaver.getWorld(), munger, unMangledInterMethod, gen, paramTypes, aMethod); + quitRightNow = true; + } } } }