Introduced BuiltinsScopeExtensionMode enum. Using it instead of CompilerSpecialMode to create JavaBridgeConfiguration.
This commit is contained in:
+6
-6
@@ -23,12 +23,12 @@ import org.jetbrains.jet.lang.resolve.BindingTrace;
|
||||
import org.jetbrains.jet.lang.resolve.java.JavaBridgeConfiguration;
|
||||
import org.jetbrains.jet.lang.resolve.java.PsiClassFinderImpl;
|
||||
import org.jetbrains.jet.lang.descriptors.ModuleDescriptor;
|
||||
import org.jetbrains.jet.lang.resolve.java.CompilerSpecialMode;
|
||||
import org.jetbrains.jet.lang.BuiltinsScopeExtensionMode;
|
||||
import com.intellij.openapi.project.Project;
|
||||
import org.jetbrains.jet.lang.resolve.java.JavaTypeTransformer;
|
||||
import org.jetbrains.jet.lang.resolve.java.JavaDescriptorSignatureResolver;
|
||||
import org.jetbrains.jet.lang.resolve.NamespaceFactoryImpl;
|
||||
import org.jetbrains.jet.lang.resolve.java.CompilerSpecialMode;
|
||||
import org.jetbrains.jet.lang.BuiltinsScopeExtensionMode;
|
||||
import com.intellij.openapi.project.Project;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import javax.annotation.PreDestroy;
|
||||
@@ -42,14 +42,14 @@ public class InjectorForJavaSemanticServices {
|
||||
private JavaBridgeConfiguration javaBridgeConfiguration;
|
||||
private PsiClassFinderImpl psiClassFinder;
|
||||
private ModuleDescriptor moduleDescriptor;
|
||||
private final CompilerSpecialMode compilerSpecialMode;
|
||||
private final BuiltinsScopeExtensionMode builtinsScopeExtensionMode;
|
||||
private final Project project;
|
||||
private JavaTypeTransformer javaTypeTransformer;
|
||||
private JavaDescriptorSignatureResolver javaDescriptorSignatureResolver;
|
||||
private NamespaceFactoryImpl namespaceFactory;
|
||||
|
||||
public InjectorForJavaSemanticServices(
|
||||
@NotNull CompilerSpecialMode compilerSpecialMode,
|
||||
@NotNull BuiltinsScopeExtensionMode builtinsScopeExtensionMode,
|
||||
@NotNull Project project
|
||||
) {
|
||||
this.javaSemanticServices = new JavaSemanticServices();
|
||||
@@ -58,7 +58,7 @@ public class InjectorForJavaSemanticServices {
|
||||
this.javaBridgeConfiguration = new JavaBridgeConfiguration();
|
||||
this.psiClassFinder = new PsiClassFinderImpl();
|
||||
this.moduleDescriptor = new org.jetbrains.jet.lang.descriptors.ModuleDescriptor(org.jetbrains.jet.lang.resolve.name.Name.special("<dummy>"));
|
||||
this.compilerSpecialMode = compilerSpecialMode;
|
||||
this.builtinsScopeExtensionMode = builtinsScopeExtensionMode;
|
||||
this.project = project;
|
||||
this.javaTypeTransformer = new JavaTypeTransformer();
|
||||
this.javaDescriptorSignatureResolver = new JavaDescriptorSignatureResolver();
|
||||
@@ -76,8 +76,8 @@ public class InjectorForJavaSemanticServices {
|
||||
this.javaDescriptorResolver.setSemanticServices(javaSemanticServices);
|
||||
this.javaDescriptorResolver.setTrace(bindingTrace);
|
||||
|
||||
javaBridgeConfiguration.setBuiltinsScopeExtensionMode(builtinsScopeExtensionMode);
|
||||
javaBridgeConfiguration.setJavaSemanticServices(javaSemanticServices);
|
||||
javaBridgeConfiguration.setMode(compilerSpecialMode);
|
||||
javaBridgeConfiguration.setProject(project);
|
||||
|
||||
this.psiClassFinder.setProject(project);
|
||||
|
||||
+6
-6
@@ -27,7 +27,7 @@ import com.intellij.openapi.project.Project;
|
||||
import org.jetbrains.jet.lang.resolve.TopDownAnalysisParameters;
|
||||
import org.jetbrains.jet.lang.resolve.BindingTrace;
|
||||
import org.jetbrains.jet.lang.descriptors.ModuleDescriptor;
|
||||
import org.jetbrains.jet.lang.resolve.java.CompilerSpecialMode;
|
||||
import org.jetbrains.jet.lang.BuiltinsScopeExtensionMode;
|
||||
import org.jetbrains.jet.lang.resolve.java.JavaBridgeConfiguration;
|
||||
import org.jetbrains.jet.lang.resolve.java.JavaDescriptorResolver;
|
||||
import org.jetbrains.jet.lang.resolve.java.PsiClassFinderImpl;
|
||||
@@ -53,7 +53,7 @@ import com.intellij.openapi.project.Project;
|
||||
import org.jetbrains.jet.lang.resolve.TopDownAnalysisParameters;
|
||||
import org.jetbrains.jet.lang.resolve.BindingTrace;
|
||||
import org.jetbrains.jet.lang.descriptors.ModuleDescriptor;
|
||||
import org.jetbrains.jet.lang.resolve.java.CompilerSpecialMode;
|
||||
import org.jetbrains.jet.lang.BuiltinsScopeExtensionMode;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import javax.annotation.PreDestroy;
|
||||
|
||||
@@ -70,7 +70,7 @@ public class InjectorForTopDownAnalyzerForJvm {
|
||||
private final TopDownAnalysisParameters topDownAnalysisParameters;
|
||||
private final BindingTrace bindingTrace;
|
||||
private final ModuleDescriptor moduleDescriptor;
|
||||
private final CompilerSpecialMode compilerSpecialMode;
|
||||
private final BuiltinsScopeExtensionMode builtinsScopeExtensionMode;
|
||||
private JavaBridgeConfiguration javaBridgeConfiguration;
|
||||
private JavaDescriptorResolver javaDescriptorResolver;
|
||||
private PsiClassFinderImpl psiClassFinder;
|
||||
@@ -98,7 +98,7 @@ public class InjectorForTopDownAnalyzerForJvm {
|
||||
@NotNull TopDownAnalysisParameters topDownAnalysisParameters,
|
||||
@NotNull BindingTrace bindingTrace,
|
||||
@NotNull ModuleDescriptor moduleDescriptor,
|
||||
@NotNull CompilerSpecialMode compilerSpecialMode
|
||||
@NotNull BuiltinsScopeExtensionMode builtinsScopeExtensionMode
|
||||
) {
|
||||
this.topDownAnalyzer = new TopDownAnalyzer();
|
||||
this.topDownAnalysisContext = new TopDownAnalysisContext();
|
||||
@@ -110,7 +110,7 @@ public class InjectorForTopDownAnalyzerForJvm {
|
||||
this.topDownAnalysisParameters = topDownAnalysisParameters;
|
||||
this.bindingTrace = bindingTrace;
|
||||
this.moduleDescriptor = moduleDescriptor;
|
||||
this.compilerSpecialMode = compilerSpecialMode;
|
||||
this.builtinsScopeExtensionMode = builtinsScopeExtensionMode;
|
||||
this.javaBridgeConfiguration = new JavaBridgeConfiguration();
|
||||
this.javaDescriptorResolver = new JavaDescriptorResolver();
|
||||
this.psiClassFinder = new PsiClassFinderImpl();
|
||||
@@ -165,8 +165,8 @@ public class InjectorForTopDownAnalyzerForJvm {
|
||||
this.descriptorResolver.setExpressionTypingServices(expressionTypingServices);
|
||||
this.descriptorResolver.setTypeResolver(typeResolver);
|
||||
|
||||
this.javaBridgeConfiguration.setBuiltinsScopeExtensionMode(builtinsScopeExtensionMode);
|
||||
this.javaBridgeConfiguration.setJavaSemanticServices(javaSemanticServices);
|
||||
this.javaBridgeConfiguration.setMode(compilerSpecialMode);
|
||||
this.javaBridgeConfiguration.setProject(project);
|
||||
|
||||
javaDescriptorResolver.setJavaDescriptorSignatureResolver(javaDescriptorSignatureResolver);
|
||||
|
||||
+14
-13
@@ -25,6 +25,7 @@ import org.jetbrains.jet.analyzer.AnalyzeExhaust;
|
||||
import org.jetbrains.jet.analyzer.AnalyzerFacade;
|
||||
import org.jetbrains.jet.analyzer.AnalyzerFacadeForEverything;
|
||||
import org.jetbrains.jet.di.InjectorForTopDownAnalyzerForJvm;
|
||||
import org.jetbrains.jet.lang.BuiltinsScopeExtensionMode;
|
||||
import org.jetbrains.jet.lang.descriptors.ModuleDescriptor;
|
||||
import org.jetbrains.jet.lang.psi.JetFile;
|
||||
import org.jetbrains.jet.lang.resolve.*;
|
||||
@@ -51,7 +52,7 @@ public enum AnalyzerFacadeForJVM implements AnalyzerFacade {
|
||||
@NotNull List<AnalyzerScriptParameter> scriptParameters,
|
||||
@NotNull Predicate<PsiFile> filesToAnalyzeCompletely) {
|
||||
return analyzeFilesWithJavaIntegration(project, files, scriptParameters, filesToAnalyzeCompletely,
|
||||
CompilerSpecialMode.REGULAR, true);
|
||||
BuiltinsScopeExtensionMode.ALL, true);
|
||||
}
|
||||
|
||||
@NotNull
|
||||
@@ -68,10 +69,10 @@ public enum AnalyzerFacadeForJVM implements AnalyzerFacade {
|
||||
}
|
||||
|
||||
public static AnalyzeExhaust analyzeOneFileWithJavaIntegrationAndCheckForErrors(
|
||||
JetFile file, List<AnalyzerScriptParameter> scriptParameters, @NotNull CompilerSpecialMode compilerSpecialMode) {
|
||||
JetFile file, List<AnalyzerScriptParameter> scriptParameters, @NotNull BuiltinsScopeExtensionMode builtinsScopeExtensionMode) {
|
||||
AnalyzingUtils.checkForSyntacticErrors(file);
|
||||
|
||||
AnalyzeExhaust analyzeExhaust = analyzeOneFileWithJavaIntegration(file, scriptParameters, compilerSpecialMode);
|
||||
AnalyzeExhaust analyzeExhaust = analyzeOneFileWithJavaIntegration(file, scriptParameters, builtinsScopeExtensionMode);
|
||||
|
||||
AnalyzingUtils.throwExceptionOnErrors(analyzeExhaust.getBindingContext());
|
||||
|
||||
@@ -79,20 +80,20 @@ public enum AnalyzerFacadeForJVM implements AnalyzerFacade {
|
||||
}
|
||||
|
||||
public static AnalyzeExhaust analyzeOneFileWithJavaIntegration(
|
||||
JetFile file, List<AnalyzerScriptParameter> scriptParameters, @NotNull CompilerSpecialMode compilerSpecialMode) {
|
||||
JetFile file, List<AnalyzerScriptParameter> scriptParameters, @NotNull BuiltinsScopeExtensionMode builtinsScopeExtensionMode) {
|
||||
return analyzeFilesWithJavaIntegration(file.getProject(), Collections.singleton(file), scriptParameters,
|
||||
Predicates.<PsiFile>alwaysTrue(), compilerSpecialMode);
|
||||
Predicates.<PsiFile>alwaysTrue(), builtinsScopeExtensionMode);
|
||||
}
|
||||
|
||||
public static AnalyzeExhaust analyzeFilesWithJavaIntegrationAndCheckForErrors(
|
||||
Project project, Collection<JetFile> files, List<AnalyzerScriptParameter> scriptParameters, Predicate<PsiFile> filesToAnalyzeCompletely,
|
||||
@NotNull CompilerSpecialMode compilerSpecialMode) {
|
||||
@NotNull BuiltinsScopeExtensionMode builtinsScopeExtensionMode) {
|
||||
for (JetFile file : files) {
|
||||
AnalyzingUtils.checkForSyntacticErrors(file);
|
||||
}
|
||||
|
||||
AnalyzeExhaust analyzeExhaust = analyzeFilesWithJavaIntegration(
|
||||
project, files, scriptParameters, filesToAnalyzeCompletely, compilerSpecialMode, false);
|
||||
project, files, scriptParameters, filesToAnalyzeCompletely, builtinsScopeExtensionMode, false);
|
||||
|
||||
AnalyzingUtils.throwExceptionOnErrors(analyzeExhaust.getBindingContext());
|
||||
|
||||
@@ -101,14 +102,14 @@ public enum AnalyzerFacadeForJVM implements AnalyzerFacade {
|
||||
|
||||
public static AnalyzeExhaust analyzeFilesWithJavaIntegration(
|
||||
Project project, Collection<JetFile> files, List<AnalyzerScriptParameter> scriptParameters, Predicate<PsiFile> filesToAnalyzeCompletely,
|
||||
@NotNull CompilerSpecialMode compilerSpecialMode) {
|
||||
@NotNull BuiltinsScopeExtensionMode builtinsScopeExtensionMode) {
|
||||
return analyzeFilesWithJavaIntegration(
|
||||
project, files, scriptParameters, filesToAnalyzeCompletely, compilerSpecialMode, false);
|
||||
project, files, scriptParameters, filesToAnalyzeCompletely, builtinsScopeExtensionMode, false);
|
||||
}
|
||||
|
||||
public static AnalyzeExhaust analyzeFilesWithJavaIntegration(
|
||||
Project project, Collection<JetFile> files, List<AnalyzerScriptParameter> scriptParameters, Predicate<PsiFile> filesToAnalyzeCompletely,
|
||||
@NotNull CompilerSpecialMode compilerSpecialMode,
|
||||
@NotNull BuiltinsScopeExtensionMode builtinsScopeExtensionMode,
|
||||
boolean storeContextForBodiesResolve) {
|
||||
BindingTraceContext bindingTraceContext = new BindingTraceContext();
|
||||
|
||||
@@ -119,7 +120,7 @@ public enum AnalyzerFacadeForJVM implements AnalyzerFacade {
|
||||
|
||||
InjectorForTopDownAnalyzerForJvm injector = new InjectorForTopDownAnalyzerForJvm(
|
||||
project, topDownAnalysisParameters,
|
||||
new ObservableBindingTrace(bindingTraceContext), owner, compilerSpecialMode);
|
||||
new ObservableBindingTrace(bindingTraceContext), owner, builtinsScopeExtensionMode);
|
||||
try {
|
||||
injector.getTopDownAnalyzer().analyzeFiles(files, scriptParameters);
|
||||
BodiesResolveContext bodiesResolveContext = storeContextForBodiesResolve ?
|
||||
@@ -132,13 +133,13 @@ public enum AnalyzerFacadeForJVM implements AnalyzerFacade {
|
||||
}
|
||||
|
||||
public static AnalyzeExhaust shallowAnalyzeFiles(Collection<JetFile> files,
|
||||
@NotNull CompilerSpecialMode compilerSpecialMode) {
|
||||
@NotNull BuiltinsScopeExtensionMode builtinsScopeExtensionMode) {
|
||||
assert files.size() > 0;
|
||||
|
||||
Project project = files.iterator().next().getProject();
|
||||
|
||||
return analyzeFilesWithJavaIntegration(project,
|
||||
files, Collections.<AnalyzerScriptParameter>emptyList(), Predicates.<PsiFile>alwaysFalse(),
|
||||
compilerSpecialMode);
|
||||
builtinsScopeExtensionMode);
|
||||
}
|
||||
}
|
||||
|
||||
+5
-4
@@ -18,6 +18,7 @@ package org.jetbrains.jet.lang.resolve.java;
|
||||
|
||||
import com.intellij.openapi.project.Project;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.jet.lang.BuiltinsScopeExtensionMode;
|
||||
import org.jetbrains.jet.lang.DefaultModuleConfiguration;
|
||||
import org.jetbrains.jet.lang.ModuleConfiguration;
|
||||
import org.jetbrains.jet.lang.descriptors.NamespaceDescriptor;
|
||||
@@ -48,7 +49,7 @@ public class JavaBridgeConfiguration implements ModuleConfiguration {
|
||||
@NotNull
|
||||
private ModuleConfiguration delegateConfiguration;
|
||||
@NotNull
|
||||
private CompilerSpecialMode mode;
|
||||
private BuiltinsScopeExtensionMode builtinsScopeExtensionMode;
|
||||
|
||||
@Inject
|
||||
public void setProject(@NotNull Project project) {
|
||||
@@ -61,13 +62,13 @@ public class JavaBridgeConfiguration implements ModuleConfiguration {
|
||||
}
|
||||
|
||||
@Inject
|
||||
public void setMode(@NotNull CompilerSpecialMode mode) {
|
||||
this.mode = mode;
|
||||
public void setBuiltinsScopeExtensionMode(@NotNull BuiltinsScopeExtensionMode builtinsScopeExtensionMode) {
|
||||
this.builtinsScopeExtensionMode = builtinsScopeExtensionMode;
|
||||
}
|
||||
|
||||
@PostConstruct
|
||||
public void init() {
|
||||
this.delegateConfiguration = DefaultModuleConfiguration.createStandardConfiguration(project, mode == CompilerSpecialMode.BUILTINS);
|
||||
this.delegateConfiguration = DefaultModuleConfiguration.createStandardConfiguration(project, builtinsScopeExtensionMode);
|
||||
}
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user