From 1895a4df8237daead1ef3e412e50d285538a6489 Mon Sep 17 00:00:00 2001 From: Ben Gruver Date: Tue, 5 May 2015 20:46:17 -0700 Subject: [PATCH] Fix NPE in SmaliClass.setName() --- .../java/org/jf/smalidea/psi/impl/SmaliClass.java | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/smalidea/src/main/java/org/jf/smalidea/psi/impl/SmaliClass.java b/smalidea/src/main/java/org/jf/smalidea/psi/impl/SmaliClass.java index bd731d3f..791409c1 100644 --- a/smalidea/src/main/java/org/jf/smalidea/psi/impl/SmaliClass.java +++ b/smalidea/src/main/java/org/jf/smalidea/psi/impl/SmaliClass.java @@ -35,6 +35,7 @@ import com.google.common.collect.Lists; import com.intellij.debugger.SourcePosition; import com.intellij.lang.ASTNode; import com.intellij.openapi.util.Pair; +import com.intellij.openapi.vfs.VirtualFile; import com.intellij.psi.*; import com.intellij.psi.PsiModifier.ModifierConstant; import com.intellij.psi.impl.InheritanceImplUtil; @@ -289,9 +290,13 @@ public class SmaliClass extends SmaliStubBasedPsiElement impleme } String expectedPath = "/" + getName() + ".smali"; - String actualPath = this.getContainingFile().getVirtualFile().getPath(); - if (actualPath.endsWith(expectedPath)) { - getContainingFile().setName(name + ".smali"); + + VirtualFile virtualFile = this.getContainingFile().getVirtualFile(); + if (virtualFile != null) { + String actualPath = virtualFile.getPath(); + if (actualPath.endsWith(expectedPath)) { + getContainingFile().setName(name + ".smali"); + } } String packageName = this.getPackageName();