Refactoring: use injector for creating lazy resolve session

This commit is contained in:
Nikolay Krasko
2014-01-22 14:52:37 +04:00
parent b8ddb658fb
commit f526129ca4
7 changed files with 157 additions and 124 deletions
@@ -25,6 +25,7 @@ import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
import org.jetbrains.jet.analyzer.AnalyzeExhaust;
import org.jetbrains.jet.analyzer.AnalyzerFacadeForEverything;
import org.jetbrains.jet.di.InjectorForLazyResolve;
import org.jetbrains.jet.di.InjectorForTopDownAnalyzerForJs;
import org.jetbrains.jet.lang.PlatformToKotlinClassMap;
import org.jetbrains.jet.lang.descriptors.DependencyKind;
@@ -158,7 +159,13 @@ public final class AnalyzerFacadeForJS {
storageManager, Config.withJsLibAdded(files, config), Predicates.<FqName>alwaysFalse());
ModuleDescriptorImpl module = createJsModule("<lazy module>");
module.addFragmentProvider(DependencyKind.BUILT_INS, KotlinBuiltIns.getInstance().getBuiltInsModule().getPackageFragmentProvider());
return new ResolveSession(config.getProject(), storageManager, module, declarationProviderFactory, new BindingTraceContext());
return new InjectorForLazyResolve(
config.getProject(),
storageManager,
module,
declarationProviderFactory,
new BindingTraceContext()).getResolveSession();
}
@NotNull