blob: 3cb37141c9283447afa8afd2442092bbe671fa27 [file] [log] [blame]
package com.google.idea.sdkcompat.cidr;
import com.intellij.openapi.util.UserDataHolderBase;
import com.intellij.openapi.vfs.VirtualFile;
import com.jetbrains.cidr.lang.OCLanguageKind;
import com.jetbrains.cidr.lang.preprocessor.OCCompilerMacros;
import com.jetbrains.cidr.lang.workspace.OCIncludeMap;
import com.jetbrains.cidr.lang.workspace.OCResolveConfiguration;
import com.jetbrains.cidr.lang.workspace.compiler.OCCompilerFeatures.Type;
import com.jetbrains.cidr.lang.workspace.compiler.OCCompilerSettings;
import com.jetbrains.cidr.toolchains.OCCompilerSettingsBackedByCompilerCache;
import java.util.Collections;
import java.util.Map;
import javax.annotation.Nullable;
/** Adapter to bridge different SDK versions. */
public abstract class OCResolveConfigurationAdapter extends UserDataHolderBase
implements OCResolveConfiguration {
/* v162/v163 */
public abstract VirtualFile getPrecompiledHeader();
/* v162/v163 */
public abstract OCLanguageKind getPrecompiledLanguageKind();
/* v171 */
public abstract OCCompilerMacros getCompilerMacros();
@Override
public Map<Type<?>, ?> getCompilerFeatures(
OCLanguageKind kind, @Nullable VirtualFile virtualFile) {
OCCompilerSettings compilerSettings = getCompilerSettings();
if (!(compilerSettings instanceof OCCompilerSettingsBackedByCompilerCache)) {
return Collections.emptyMap();
}
OCCompilerSettingsBackedByCompilerCache backedCompilerSettings =
(OCCompilerSettingsBackedByCompilerCache) compilerSettings;
return backedCompilerSettings.getCompilerFeatures(kind, virtualFile);
}
@Override
public OCIncludeMap getIncludeMap() {
return OCIncludeMap.EMPTY;
}
}