Declaration providers and resolve session are protected by a storage manager
This commit is contained in:
@@ -30,6 +30,7 @@ import org.jetbrains.jet.lang.descriptors.ModuleDescriptor;
|
||||
import org.jetbrains.jet.lang.psi.JetFile;
|
||||
import org.jetbrains.jet.lang.resolve.*;
|
||||
import org.jetbrains.jet.lang.resolve.lazy.FileBasedDeclarationProviderFactory;
|
||||
import org.jetbrains.jet.lang.resolve.lazy.LockBasedStorageManager;
|
||||
import org.jetbrains.jet.lang.resolve.lazy.ResolveSession;
|
||||
import org.jetbrains.jet.lang.resolve.name.FqName;
|
||||
import org.jetbrains.jet.lang.resolve.name.Name;
|
||||
@@ -139,9 +140,10 @@ public final class AnalyzerFacadeForJS {
|
||||
|
||||
@NotNull
|
||||
public static ResolveSession getLazyResolveSession(Collection<JetFile> files, final Config config) {
|
||||
LockBasedStorageManager storageManager = new LockBasedStorageManager();
|
||||
FileBasedDeclarationProviderFactory declarationProviderFactory = new FileBasedDeclarationProviderFactory(
|
||||
Config.withJsLibAdded(files, config), Predicates.<FqName>alwaysFalse());
|
||||
storageManager, Config.withJsLibAdded(files, config), Predicates.<FqName>alwaysFalse());
|
||||
ModuleDescriptor lazyModule = new ModuleDescriptor(Name.special("<lazy module>"));
|
||||
return new ResolveSession(config.getProject(), lazyModule, new JsConfiguration(config.getProject(), null), declarationProviderFactory);
|
||||
return new ResolveSession(config.getProject(), storageManager, lazyModule, new JsConfiguration(config.getProject(), null), declarationProviderFactory);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user