Declaration providers and resolve session are protected by a storage manager

This commit is contained in:
Andrey Breslav
2013-01-28 21:37:33 +04:00
parent 222c237cbc
commit c2822fdad7
12 changed files with 147 additions and 108 deletions
@@ -53,8 +53,9 @@ public abstract class AbstractLazyResolveDescriptorRendererTest extends KotlinTe
Collection<JetFile> files = Lists.newArrayList(psiFile);
ModuleDescriptor lazyModule = new ModuleDescriptor(Name.special("<lazy module>"));
final ResolveSession resolveSession = new ResolveSession(getProject(), lazyModule, injectorForTopDownAnalyzer.getModuleConfiguration(),
new FileBasedDeclarationProviderFactory(files));
LockBasedStorageManager storageManager = new LockBasedStorageManager();
final ResolveSession resolveSession = new ResolveSession(getProject(), storageManager, lazyModule, injectorForTopDownAnalyzer.getModuleConfiguration(),
new FileBasedDeclarationProviderFactory(storageManager, files));
final List<DeclarationDescriptor> descriptors = new ArrayList<DeclarationDescriptor>();
psiFile.accept(new JetVisitorVoid() {
@@ -92,7 +92,8 @@ public class LazyResolveTestUtil {
final JavaDescriptorResolver javaDescriptorResolver = injector.getJavaDescriptorResolver();
final FileBasedDeclarationProviderFactory declarationProviderFactory = new FileBasedDeclarationProviderFactory(files, new Predicate<FqName>() {
LockBasedStorageManager storageManager = new LockBasedStorageManager();
final FileBasedDeclarationProviderFactory declarationProviderFactory = new FileBasedDeclarationProviderFactory(storageManager, files, new Predicate<FqName>() {
@Override
public boolean apply(FqName fqName) {
return psiClassFinder.findPsiPackage(fqName) != null || new FqName("jet").equals(fqName);
@@ -134,7 +135,7 @@ public class LazyResolveTestUtil {
ModuleDescriptor lazyModule = new ModuleDescriptor(Name.special("<lazy module>"));
ResolveSession
session = new ResolveSession(project, lazyModule, moduleConfiguration, declarationProviderFactory);
session = new ResolveSession(project, storageManager, lazyModule, moduleConfiguration, declarationProviderFactory);
return lazyModule;
}