package org.jf.smalidea.dexlib.analysis; import com.intellij.openapi.project.Project; import com.intellij.openapi.vfs.VirtualFile; import com.intellij.psi.PsiClass; import com.intellij.psi.impl.ResolveScopeManager; import org.jf.dexlib2.analysis.ClassProvider; import org.jf.dexlib2.iface.ClassDef; import org.jf.smalidea.dexlib.SmalideaClassDef; import org.jf.smalidea.util.NameUtils; import javax.annotation.Nonnull; import javax.annotation.Nullable; public class SmalideaClassProvider implements ClassProvider { private final Project project; private final VirtualFile file; public SmalideaClassProvider(@Nonnull Project project, @Nonnull VirtualFile file) { this.project = project; this.file = file; } @Nullable @Override public ClassDef getClassDef(String type) { ResolveScopeManager manager = ResolveScopeManager.getInstance(project); PsiClass psiClass = NameUtils.resolveSmaliType(project, manager.getDefaultResolveScope(file), type); if (psiClass != null) { return new SmalideaClassDef(psiClass); } return null; } }