Ensure that SmaliCodeFragmentFactory is only used for smali files

This commit is contained in:
Ben Gruver 2015-04-02 20:59:18 -07:00
parent 4f16feb476
commit 93ae7badcd

View File

@ -53,6 +53,7 @@ import com.sun.tools.jdi.LocationImpl;
import org.jf.dexlib2.analysis.AnalyzedInstruction; import org.jf.dexlib2.analysis.AnalyzedInstruction;
import org.jf.dexlib2.analysis.RegisterType; import org.jf.dexlib2.analysis.RegisterType;
import org.jf.smalidea.SmaliFileType; import org.jf.smalidea.SmaliFileType;
import org.jf.smalidea.SmaliLanguage;
import org.jf.smalidea.psi.impl.SmaliInstruction; import org.jf.smalidea.psi.impl.SmaliInstruction;
import org.jf.smalidea.psi.impl.SmaliMethod; import org.jf.smalidea.psi.impl.SmaliMethod;
@ -66,6 +67,11 @@ public class SmaliCodeFragmentFactory extends DefaultCodeFragmentFactory {
return super.createCodeFragment(item, wrapContext(project, context), project); return super.createCodeFragment(item, wrapContext(project, context), project);
} }
@Override
public boolean isContextAccepted(PsiElement contextElement) {
return contextElement.getLanguage() == SmaliLanguage.INSTANCE;
}
@Override @Override
public JavaCodeFragment createPresentationCodeFragment(TextWithImports item, PsiElement context, Project project) { public JavaCodeFragment createPresentationCodeFragment(TextWithImports item, PsiElement context, Project project) {
return super.createPresentationCodeFragment(item, wrapContext(project, context), project); return super.createPresentationCodeFragment(item, wrapContext(project, context), project);