diff --git a/compiler/tests/org/jetbrains/jet/lang/resolve/lazy/AbstractLazyResolveNamespaceComparingTest.java b/compiler/tests/org/jetbrains/jet/lang/resolve/lazy/AbstractLazyResolveNamespaceComparingTest.java index 7e6742c637f..be9af9d27c4 100644 --- a/compiler/tests/org/jetbrains/jet/lang/resolve/lazy/AbstractLazyResolveNamespaceComparingTest.java +++ b/compiler/tests/org/jetbrains/jet/lang/resolve/lazy/AbstractLazyResolveNamespaceComparingTest.java @@ -44,9 +44,6 @@ public abstract class AbstractLazyResolveNamespaceComparingTest extends Abstract Function, Pair> transform, boolean includeMembersOfObject ) throws IOException { - ModuleDescriptor module = new ModuleDescriptor(Name.special("")); - InjectorForTopDownAnalyzer injector = createInjectorForTDA(module); - List files = JetTestUtils .createTestFiles(testFileName, FileUtil.loadFile(new File(testFileName), true), new JetTestUtils.TestFileFactory() { @Override @@ -55,23 +52,38 @@ public abstract class AbstractLazyResolveNamespaceComparingTest extends Abstract } }); - InjectorForTopDownAnalyzer tdaInjectorForLazy = getEagerInjectorForTopDownAnalyzer(); - - ModuleDescriptor lazyModule = new ModuleDescriptor(Name.special("")); - ResolveSession session = new ResolveSession(project, lazyModule, tdaInjectorForLazy.getModuleConfiguration(), new FileBasedDeclarationProviderFactory(files)); - - injector.getTopDownAnalyzer().analyzeFiles(files, Collections.emptyList()); - - Pair namespacesToCompare = transform.fun(Pair.create(module, lazyModule)); - Predicate filterJetNamespace = new Predicate() { @Override public boolean apply(NamespaceDescriptor namespaceDescriptor) { return !namespaceDescriptor.getName().equals(Name.identifier("jet")); } }; + + File serializeResultsTo = new File(FileUtil.getNameWithoutExtension(testFileName) + ".txt"); + + doTestForGivenFiles(transform, includeMembersOfObject, files, filterJetNamespace, serializeResultsTo); + } + + protected void doTestForGivenFiles(Function, Pair> transform, + boolean includeMembersOfObject, + List files, + Predicate filterJetNamespace, + File serializeResultsTo) { + ModuleDescriptor module = new ModuleDescriptor(Name.special("")); + InjectorForTopDownAnalyzer injector = createInjectorForTDA(module); + + InjectorForTopDownAnalyzer tdaInjectorForLazy = getEagerInjectorForTopDownAnalyzer(); + + ModuleDescriptor lazyModule = new ModuleDescriptor(Name.special("")); + ResolveSession + session = new ResolveSession(project, lazyModule, tdaInjectorForLazy.getModuleConfiguration(), new FileBasedDeclarationProviderFactory(files)); + + injector.getTopDownAnalyzer().analyzeFiles(files, Collections.emptyList()); + + Pair namespacesToCompare = transform.fun(Pair.create(module, lazyModule)); + NamespaceComparator.compareNamespaces(namespacesToCompare.first, namespacesToCompare.second, - includeMembersOfObject, filterJetNamespace, new File(FileUtil.getNameWithoutExtension(testFileName) + ".txt")); + includeMembersOfObject, filterJetNamespace, serializeResultsTo); } protected void doTest(String testFileName) throws Exception {