LTDA: Add the temp ability to build with eager resolve
Compiler should be executed with -Dlazy.tda=false parameter REPL won't work with this option
This commit is contained in:
@@ -38,6 +38,7 @@ import org.jetbrains.jet.lang.resolve.java.resolver.PsiBasedExternalAnnotationRe
|
||||
import org.jetbrains.jet.lang.resolve.java.structure.impl.JavaPropertyInitializerEvaluatorImpl;
|
||||
import org.jetbrains.jet.lang.resolve.java.sam.SamConversionResolverImpl;
|
||||
import org.jetbrains.jet.lang.resolve.java.resolver.JavaSourceElementFactoryImpl;
|
||||
import org.jetbrains.jet.lang.resolve.MutablePackageFragmentProvider;
|
||||
import org.jetbrains.jet.lang.resolve.java.lazy.SingleModuleClassResolver;
|
||||
import org.jetbrains.jet.lang.resolve.java.JavaLazyAnalyzerPostConstruct;
|
||||
import org.jetbrains.jet.lang.resolve.java.JavaFlexibleTypeCapabilitiesProvider;
|
||||
@@ -73,6 +74,9 @@ import org.jetbrains.jet.lang.resolve.ImportsResolver;
|
||||
import org.jetbrains.jet.lang.psi.JetImportsFactory;
|
||||
import org.jetbrains.jet.lang.resolve.OverloadResolver;
|
||||
import org.jetbrains.jet.lang.resolve.OverrideResolver;
|
||||
import org.jetbrains.jet.lang.resolve.TopDownAnalyzer;
|
||||
import org.jetbrains.jet.lang.resolve.TypeHierarchyResolver;
|
||||
import org.jetbrains.jet.lang.resolve.ScriptHeaderResolver;
|
||||
import org.jetbrains.jet.lang.resolve.lazy.ScopeProvider;
|
||||
import org.jetbrains.jet.lang.resolve.java.lazy.LazyJavaPackageFragmentProvider;
|
||||
import org.jetbrains.jet.lang.resolve.java.lazy.GlobalJavaResolverContext;
|
||||
@@ -108,6 +112,7 @@ public class InjectorForTopDownAnalyzerForJvm {
|
||||
private final JavaPropertyInitializerEvaluatorImpl javaPropertyInitializerEvaluator;
|
||||
private final SamConversionResolverImpl samConversionResolver;
|
||||
private final JavaSourceElementFactoryImpl javaSourceElementFactory;
|
||||
private final MutablePackageFragmentProvider mutablePackageFragmentProvider;
|
||||
private final SingleModuleClassResolver singleModuleClassResolver;
|
||||
private final JavaLazyAnalyzerPostConstruct javaLazyAnalyzerPostConstruct;
|
||||
private final JavaFlexibleTypeCapabilitiesProvider javaFlexibleTypeCapabilitiesProvider;
|
||||
@@ -143,6 +148,9 @@ public class InjectorForTopDownAnalyzerForJvm {
|
||||
private final JetImportsFactory jetImportsFactory;
|
||||
private final OverloadResolver overloadResolver;
|
||||
private final OverrideResolver overrideResolver;
|
||||
private final TopDownAnalyzer topDownAnalyzer;
|
||||
private final TypeHierarchyResolver typeHierarchyResolver;
|
||||
private final ScriptHeaderResolver scriptHeaderResolver;
|
||||
private final ScopeProvider scopeProvider;
|
||||
private final LazyJavaPackageFragmentProvider lazyJavaPackageFragmentProvider;
|
||||
private final GlobalJavaResolverContext globalJavaResolverContext;
|
||||
@@ -186,6 +194,7 @@ public class InjectorForTopDownAnalyzerForJvm {
|
||||
this.javaClassDataFinder = new JavaClassDataFinder(virtualFileFinder, deserializedDescriptorResolver);
|
||||
this.binaryClassAnnotationAndConstantLoader = new BinaryClassAnnotationAndConstantLoaderImpl(module, storageManager, virtualFileFinder, traceBasedErrorReporter);
|
||||
this.deserializationComponentsForJava = new DeserializationComponentsForJava(storageManager, module, javaClassDataFinder, binaryClassAnnotationAndConstantLoader, lazyJavaPackageFragmentProvider);
|
||||
this.mutablePackageFragmentProvider = new MutablePackageFragmentProvider(module);
|
||||
this.javaLazyAnalyzerPostConstruct = new JavaLazyAnalyzerPostConstruct();
|
||||
this.javaFlexibleTypeCapabilitiesProvider = new JavaFlexibleTypeCapabilitiesProvider();
|
||||
this.additionalCheckerProvider = org.jetbrains.jet.lang.resolve.kotlin.JavaDeclarationCheckerProvider.INSTANCE$;
|
||||
@@ -220,6 +229,9 @@ public class InjectorForTopDownAnalyzerForJvm {
|
||||
this.jetImportsFactory = new JetImportsFactory();
|
||||
this.overloadResolver = new OverloadResolver();
|
||||
this.overrideResolver = new OverrideResolver();
|
||||
this.topDownAnalyzer = new TopDownAnalyzer();
|
||||
this.typeHierarchyResolver = new TypeHierarchyResolver();
|
||||
this.scriptHeaderResolver = new ScriptHeaderResolver();
|
||||
this.scopeProvider = new ScopeProvider(getResolveSession());
|
||||
|
||||
this.lazyTopDownAnalyzer.setBodyResolver(bodyResolver);
|
||||
@@ -228,6 +240,7 @@ public class InjectorForTopDownAnalyzerForJvm {
|
||||
this.lazyTopDownAnalyzer.setModuleDescriptor(module);
|
||||
this.lazyTopDownAnalyzer.setOverloadResolver(overloadResolver);
|
||||
this.lazyTopDownAnalyzer.setOverrideResolver(overrideResolver);
|
||||
this.lazyTopDownAnalyzer.setTopDownAnalyzer(topDownAnalyzer);
|
||||
this.lazyTopDownAnalyzer.setTrace(bindingTrace);
|
||||
|
||||
this.resolveSession.setAnnotationResolve(annotationResolver);
|
||||
@@ -345,6 +358,23 @@ public class InjectorForTopDownAnalyzerForJvm {
|
||||
|
||||
overrideResolver.setTrace(bindingTrace);
|
||||
|
||||
topDownAnalyzer.setBodyResolver(bodyResolver);
|
||||
topDownAnalyzer.setDeclarationResolver(declarationResolver);
|
||||
topDownAnalyzer.setModuleDescriptor(module);
|
||||
topDownAnalyzer.setOverloadResolver(overloadResolver);
|
||||
topDownAnalyzer.setOverrideResolver(overrideResolver);
|
||||
topDownAnalyzer.setPackageFragmentProvider(mutablePackageFragmentProvider);
|
||||
topDownAnalyzer.setTypeHierarchyResolver(typeHierarchyResolver);
|
||||
|
||||
typeHierarchyResolver.setDescriptorResolver(descriptorResolver);
|
||||
typeHierarchyResolver.setImportsResolver(importsResolver);
|
||||
typeHierarchyResolver.setPackageFragmentProvider(mutablePackageFragmentProvider);
|
||||
typeHierarchyResolver.setScriptHeaderResolver(scriptHeaderResolver);
|
||||
typeHierarchyResolver.setTrace(bindingTrace);
|
||||
|
||||
scriptHeaderResolver.setPackageFragmentProvider(mutablePackageFragmentProvider);
|
||||
scriptHeaderResolver.setTrace(bindingTrace);
|
||||
|
||||
deserializedDescriptorResolver.setComponents(deserializationComponentsForJava);
|
||||
|
||||
javaClassFinder.initialize();
|
||||
|
||||
Reference in New Issue
Block a user