From 415ef622d9435806ef0736341402772487deed23 Mon Sep 17 00:00:00 2001 From: Andy Clement Date: Wed, 2 Sep 2015 09:05:35 -0700 Subject: [PATCH] 475728, 432874 --- weaver/src/org/aspectj/weaver/bcel/BcelObjectType.java | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/weaver/src/org/aspectj/weaver/bcel/BcelObjectType.java b/weaver/src/org/aspectj/weaver/bcel/BcelObjectType.java index 5c1ae918b..584a14c8d 100644 --- a/weaver/src/org/aspectj/weaver/bcel/BcelObjectType.java +++ b/weaver/src/org/aspectj/weaver/bcel/BcelObjectType.java @@ -901,6 +901,11 @@ public class BcelObjectType extends AbstractReferenceTypeDelegate { // try finding outer class name by assuming standard class name mangling convention of javac for this class int lastDollar = className.lastIndexOf('$'); + if (lastDollar == -1) { + // Is this class damaged/obfuscated? Why did we think it was nested but couldn't find the parent using + // the attributes above. For now just ignore it... I wonder when ignoring this will come back to bite! + return null; + } String superClassName = className.substring(0, lastDollar); UnresolvedType outer = UnresolvedType.forName(superClassName); return outer.resolve(getResolvedTypeX().getWorld()); -- 2.39.5