| package com.intellij.psi.impl.source.resolve.reference.impl.providers; |
| |
| import com.intellij.openapi.project.Project; |
| import com.intellij.openapi.vfs.VirtualFile; |
| import com.intellij.openapi.vfs.impl.http.HttpVirtualFile; |
| import com.intellij.psi.PsiFileSystemItem; |
| import org.jetbrains.annotations.NotNull; |
| import org.jetbrains.annotations.Nullable; |
| |
| import java.util.Collection; |
| import java.util.Collections; |
| |
| final class HttpFileReferenceHelper extends FileReferenceHelper { |
| @Nullable |
| @Override |
| public PsiFileSystemItem findRoot(Project project, @NotNull VirtualFile file) { |
| VirtualFile root = file; |
| VirtualFile parent; |
| while ((parent = root.getParent()) != null) { |
| root = parent; |
| } |
| return getPsiFileSystemItem(project, root); |
| } |
| |
| @NotNull |
| @Override |
| public Collection<PsiFileSystemItem> getContexts(Project project, @NotNull VirtualFile file) { |
| PsiFileSystemItem item = getPsiFileSystemItem(project, file); |
| return item == null ? Collections.<PsiFileSystemItem>emptyList() : Collections.singleton(item); |
| } |
| |
| @Override |
| public boolean isMine(Project project, @NotNull VirtualFile file) { |
| return file instanceof HttpVirtualFile; |
| } |
| } |