diff options
author | Ben Gruver <bgruv@google.com> | 2016-02-27 17:39:25 -0800 |
---|---|---|
committer | Ben Gruver <bgruv@google.com> | 2016-02-27 17:39:25 -0800 |
commit | 4d8aeebc07a5490a052f3e99fb8de5eaa2aa9dfb (patch) | |
tree | b6a760d03ff9fcaf55d154c3c3cf41b7685bfa1d | |
parent | 37fbbe8e15ba0134534038c1a72a8d5ba697bd65 (diff) | |
download | smali-4d8aeebc07a5490a052f3e99fb8de5eaa2aa9dfb.tar.gz |
Fix how SmaliPositionManager gets the current class
-rw-r--r-- | smalidea/src/main/java/org/jf/smalidea/debugging/SmaliPositionManager.java | 6 | ||||
-rw-r--r-- | smalidea/src/test/java/org/jf/smalidea/SmaliPositionManagerTest.java | 2 |
2 files changed, 6 insertions, 2 deletions
diff --git a/smalidea/src/main/java/org/jf/smalidea/debugging/SmaliPositionManager.java b/smalidea/src/main/java/org/jf/smalidea/debugging/SmaliPositionManager.java index c6405ca0..a5dfecb8 100644 --- a/smalidea/src/main/java/org/jf/smalidea/debugging/SmaliPositionManager.java +++ b/smalidea/src/main/java/org/jf/smalidea/debugging/SmaliPositionManager.java @@ -104,7 +104,11 @@ public class SmaliPositionManager implements PositionManager { private String getClassFromPosition(@NotNull final SourcePosition position) { return ApplicationManager.getApplication().runReadAction(new Computable<String>() { @Override public String compute() { - return ((SmaliClass)position.getElementAt().getContainingFile().getFirstChild()).getQualifiedName(); + SmaliClass smaliClass = ((SmaliFile)position.getElementAt().getContainingFile()).getPsiClass(); + if (smaliClass == null) { + return ""; + } + return smaliClass.getQualifiedName(); } }); } diff --git a/smalidea/src/test/java/org/jf/smalidea/SmaliPositionManagerTest.java b/smalidea/src/test/java/org/jf/smalidea/SmaliPositionManagerTest.java index 7104b96e..596c11ed 100644 --- a/smalidea/src/test/java/org/jf/smalidea/SmaliPositionManagerTest.java +++ b/smalidea/src/test/java/org/jf/smalidea/SmaliPositionManagerTest.java @@ -60,7 +60,7 @@ import java.util.Map; public class SmaliPositionManagerTest extends LightCodeInsightFixtureTestCase { private static final String testClass = - ".class public Lmy/pkg/blah; .super Ljava/lang/Object;\n" + + "\n\n.class public Lmy/pkg/blah; .super Ljava/lang/Object;\n" + ".method public getRandomParentType(I)I\n" + " .registers 4\n" + " .param p1, \"edge\" # I\n" + |