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