DeclarationScopeProviderImpl extracted

This commit is contained in:
Andrey Breslav
2015-01-20 21:32:38 +03:00
parent dae5ec24e2
commit b5503f3acf
10 changed files with 159 additions and 45 deletions
@@ -65,6 +65,7 @@ import org.jetbrains.kotlin.resolve.calls.tasks.TaskPrioritizer;
import org.jetbrains.kotlin.psi.JetImportsFactory;
import org.jetbrains.kotlin.resolve.lazy.ScopeProvider;
import org.jetbrains.kotlin.resolve.lazy.ScopeProvider.AdditionalFileScopeProvider;
import org.jetbrains.kotlin.resolve.lazy.DeclarationScopeProviderImpl;
import org.jetbrains.kotlin.resolve.ScriptBodyResolver;
import org.jetbrains.kotlin.load.java.lazy.LazyJavaPackageFragmentProvider;
import org.jetbrains.kotlin.load.java.lazy.GlobalJavaResolverContext;
@@ -128,6 +129,7 @@ public class InjectorForLazyResolveWithJava {
private final JetImportsFactory jetImportsFactory;
private final ScopeProvider scopeProvider;
private final AdditionalFileScopeProvider additionalFileScopeProvider;
private final DeclarationScopeProviderImpl declarationScopeProvider;
private final ScriptBodyResolver scriptBodyResolver;
private final LazyJavaPackageFragmentProvider lazyJavaPackageFragmentProvider;
private final GlobalJavaResolverContext globalJavaResolverContext;
@@ -197,6 +199,7 @@ public class InjectorForLazyResolveWithJava {
this.jetImportsFactory = new JetImportsFactory();
this.scopeProvider = new ScopeProvider(getResolveSession());
this.additionalFileScopeProvider = new AdditionalFileScopeProvider();
this.declarationScopeProvider = new DeclarationScopeProviderImpl(getResolveSession());
this.scriptBodyResolver = new ScriptBodyResolver();
this.javaClassDataFinder = new JavaClassDataFinder(virtualFileFinder, deserializedDescriptorResolver);
this.binaryClassAnnotationAndConstantLoader = new BinaryClassAnnotationAndConstantLoaderImpl(module, storageManager, virtualFileFinder, traceBasedErrorReporter);
@@ -289,6 +292,9 @@ public class InjectorForLazyResolveWithJava {
jetImportsFactory.setProject(project);
scopeProvider.setAdditionalFileScopesProvider(additionalFileScopeProvider);
scopeProvider.setDeclarationScopeProvider(declarationScopeProvider);
declarationScopeProvider.setFileScopeProvider(scopeProvider);
scriptBodyResolver.setExpressionTypingServices(expressionTypingServices);
@@ -67,6 +67,7 @@ import org.jetbrains.kotlin.resolve.calls.CandidateResolver;
import org.jetbrains.kotlin.resolve.calls.tasks.TaskPrioritizer;
import org.jetbrains.kotlin.psi.JetImportsFactory;
import org.jetbrains.kotlin.resolve.lazy.ScopeProvider;
import org.jetbrains.kotlin.resolve.lazy.DeclarationScopeProviderImpl;
import org.jetbrains.kotlin.resolve.ScriptBodyResolver;
import org.jetbrains.kotlin.resolve.BodyResolver;
import org.jetbrains.kotlin.resolve.ControlFlowAnalyzer;
@@ -141,6 +142,7 @@ public class InjectorForReplWithJava {
private final TaskPrioritizer taskPrioritizer;
private final JetImportsFactory jetImportsFactory;
private final ScopeProvider scopeProvider;
private final DeclarationScopeProviderImpl declarationScopeProvider;
private final ScriptBodyResolver scriptBodyResolver;
private final BodyResolver bodyResolver;
private final ControlFlowAnalyzer controlFlowAnalyzer;
@@ -223,6 +225,7 @@ public class InjectorForReplWithJava {
this.taskPrioritizer = new TaskPrioritizer(storageManager);
this.jetImportsFactory = new JetImportsFactory();
this.scopeProvider = new ScopeProvider(getResolveSession());
this.declarationScopeProvider = new DeclarationScopeProviderImpl(getResolveSession());
this.scriptBodyResolver = new ScriptBodyResolver();
this.bodyResolver = new BodyResolver();
this.controlFlowAnalyzer = new ControlFlowAnalyzer();
@@ -333,6 +336,9 @@ public class InjectorForReplWithJava {
jetImportsFactory.setProject(project);
scopeProvider.setAdditionalFileScopesProvider(additionalFileScopeProvider);
scopeProvider.setDeclarationScopeProvider(declarationScopeProvider);
declarationScopeProvider.setFileScopeProvider(scopeProvider);
scriptBodyResolver.setExpressionTypingServices(expressionTypingServices);
@@ -67,6 +67,7 @@ import org.jetbrains.kotlin.resolve.calls.tasks.TaskPrioritizer;
import org.jetbrains.kotlin.psi.JetImportsFactory;
import org.jetbrains.kotlin.resolve.lazy.ScopeProvider;
import org.jetbrains.kotlin.resolve.lazy.ScopeProvider.AdditionalFileScopeProvider;
import org.jetbrains.kotlin.resolve.lazy.DeclarationScopeProviderImpl;
import org.jetbrains.kotlin.resolve.ScriptBodyResolver;
import org.jetbrains.kotlin.resolve.BodyResolver;
import org.jetbrains.kotlin.resolve.ControlFlowAnalyzer;
@@ -141,6 +142,7 @@ public class InjectorForTopDownAnalyzerForJvm {
private final JetImportsFactory jetImportsFactory;
private final ScopeProvider scopeProvider;
private final AdditionalFileScopeProvider additionalFileScopeProvider;
private final DeclarationScopeProviderImpl declarationScopeProvider;
private final ScriptBodyResolver scriptBodyResolver;
private final BodyResolver bodyResolver;
private final ControlFlowAnalyzer controlFlowAnalyzer;
@@ -222,6 +224,7 @@ public class InjectorForTopDownAnalyzerForJvm {
this.jetImportsFactory = new JetImportsFactory();
this.scopeProvider = new ScopeProvider(getResolveSession());
this.additionalFileScopeProvider = new AdditionalFileScopeProvider();
this.declarationScopeProvider = new DeclarationScopeProviderImpl(getResolveSession());
this.scriptBodyResolver = new ScriptBodyResolver();
this.bodyResolver = new BodyResolver();
this.controlFlowAnalyzer = new ControlFlowAnalyzer();
@@ -332,6 +335,9 @@ public class InjectorForTopDownAnalyzerForJvm {
jetImportsFactory.setProject(project);
scopeProvider.setAdditionalFileScopesProvider(additionalFileScopeProvider);
scopeProvider.setDeclarationScopeProvider(declarationScopeProvider);
declarationScopeProvider.setFileScopeProvider(scopeProvider);
scriptBodyResolver.setExpressionTypingServices(expressionTypingServices);