aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBen Gruver <bgruv@google.com>2016-02-27 17:39:25 -0800
committerBen Gruver <bgruv@google.com>2016-02-27 17:39:25 -0800
commit4d8aeebc07a5490a052f3e99fb8de5eaa2aa9dfb (patch)
treeb6a760d03ff9fcaf55d154c3c3cf41b7685bfa1d
parent37fbbe8e15ba0134534038c1a72a8d5ba697bd65 (diff)
downloadsmali-4d8aeebc07a5490a052f3e99fb8de5eaa2aa9dfb.tar.gz
Fix how SmaliPositionManager gets the current class
-rw-r--r--smalidea/src/main/java/org/jf/smalidea/debugging/SmaliPositionManager.java6
-rw-r--r--smalidea/src/test/java/org/jf/smalidea/SmaliPositionManagerTest.java2
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" +