blob: 9d2a14acd400c4df7331e7542fea78db7e8f18e6 [file] [log] [blame]
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;
}
}