blob: 1f58463e7dda3fbe7f93eb003fc7c7ffdb14e50e [file] [log] [blame]
package com.google.idea.testing.cidr;
import com.google.common.collect.ImmutableList;
import com.google.idea.sdkcompat.cidr.OCWorkspaceAdapter;
import com.intellij.openapi.project.Project;
import com.intellij.openapi.vfs.VirtualFile;
import com.jetbrains.cidr.lang.OCFileType;
import com.jetbrains.cidr.lang.symbols.OCSymbol;
import com.jetbrains.cidr.lang.workspace.OCResolveConfiguration;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Collections;
import java.util.List;
import java.util.Objects;
import javax.annotation.Nullable;
/** A stub {@link com.jetbrains.cidr.lang.workspace.OCWorkspace} to use for testing. */
class StubOCWorkspace extends OCWorkspaceAdapter {
private final List<OCResolveConfiguration> resolveConfigurations;
StubOCWorkspace(Project project) {
super(project);
resolveConfigurations = new ArrayList<>();
resolveConfigurations.add(new StubOCResolveConfiguration(project));
}
@Override
public Collection<VirtualFile> getLibraryFilesToBuildSymbols() {
return ImmutableList.of();
}
@Override
public boolean areFromSameProject(@Nullable VirtualFile a, @Nullable VirtualFile b) {
return Objects.equals(a, b);
}
@Override
public boolean areFromSamePackage(@Nullable VirtualFile a, @Nullable VirtualFile b) {
return Objects.equals(a, b);
}
@Override
public boolean isInSDK(@Nullable VirtualFile file) {
return false;
}
@Override
public boolean isFromWrongSDK(OCSymbol symbol, @Nullable VirtualFile contextFile) {
return false;
}
@Override
public List<? extends OCResolveConfiguration> getConfigurations() {
return resolveConfigurations;
}
@Override
public List<? extends OCResolveConfiguration> getConfigurationsForFile(
@Nullable VirtualFile sourceFile) {
if (sourceFile == null) {
return Collections.emptyList();
}
return OCFileType.INSTANCE.equals(sourceFile.getFileType())
? resolveConfigurations
: Collections.emptyList();
}
}