package org.angularjs.codeInsight;
import com.intellij.lang.javascript.psi.ecmal4.JSClass;
import com.intellij.lang.javascript.psi.resolve.JSElementResolveScopeProvider;
import com.intellij.lang.javascript.psi.resolve.JSResolveUtil;
import com.intellij.openapi.project.Project;
import com.intellij.openapi.vfs.VirtualFile;
import com.intellij.psi.PsiElement;
import com.intellij.psi.search.GlobalSearchScope;
import org.angularjs.index.AngularJS2IndexingHandler;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
/**
* @author Dennis.Ushakov
*/
public class AngularJSResolveScopeProvider extends JSElementResolveScopeProvider {
@Nullable
@Override
public GlobalSearchScope getResolveScope(@NotNull VirtualFile file, Project project) {
return null;
}
@NotNull
@Override
public GlobalSearchScope getElementResolveScope(@NotNull PsiElement element) {
JSClass clazz = AngularJS2IndexingHandler.findDirectiveClass(element);
if (clazz != null) {
return JSResolveUtil.getResolveScope(clazz);
}
return super.getElementResolveScope(element);
}
@Override
protected boolean isApplicable(@NotNull VirtualFile file) {
return false;
}
}