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.emptyList() : Collections.singleton(item); } @Override public boolean isMine(Project project, @NotNull VirtualFile file) { return file instanceof HttpVirtualFile; } }