From 4d8aeebc07a5490a052f3e99fb8de5eaa2aa9dfb Mon Sep 17 00:00:00 2001 From: Ben Gruver Date: Sat, 27 Feb 2016 17:39:25 -0800 Subject: Fix how SmaliPositionManager gets the current class --- .../main/java/org/jf/smalidea/debugging/SmaliPositionManager.java | 6 +++++- .../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() { @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" + -- cgit v1.2.3