aboutsummaryrefslogtreecommitdiffstats
path: root/weaver
diff options
context:
space:
mode:
authorAndy Clement <aclement@pivotal.io>2015-09-02 09:05:35 -0700
committerAndy Clement <aclement@pivotal.io>2015-09-02 09:05:35 -0700
commit415ef622d9435806ef0736341402772487deed23 (patch)
treea91838b200b68e76e21ca28f537c00e0558056bf /weaver
parente7f817ca3a13f44836116dca2380475f2c6b66c3 (diff)
downloadaspectj-415ef622d9435806ef0736341402772487deed23.tar.gz
aspectj-415ef622d9435806ef0736341402772487deed23.zip
475728, 432874
Diffstat (limited to 'weaver')
-rw-r--r--weaver/src/org/aspectj/weaver/bcel/BcelObjectType.java5
1 files changed, 5 insertions, 0 deletions
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());