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 18d89d21971..5566ee2ec54 100644 --- a/compiler/tests/org/jetbrains/jet/lang/resolve/lazy/AbstractLazyResolveNamespaceComparingTest.java +++ b/compiler/tests/org/jetbrains/jet/lang/resolve/lazy/AbstractLazyResolveNamespaceComparingTest.java @@ -17,13 +17,10 @@ package org.jetbrains.jet.lang.resolve.lazy; import com.google.common.base.Predicate; -import com.intellij.openapi.util.Pair; import com.intellij.openapi.util.io.FileUtil; -import com.intellij.util.Function; import org.jetbrains.jet.ConfigurationKind; import org.jetbrains.jet.JetTestUtils; import org.jetbrains.jet.cli.jvm.compiler.JetCoreEnvironment; -import org.jetbrains.jet.test.util.NamespaceComparator; import org.jetbrains.jet.lang.descriptors.ModuleDescriptor; import org.jetbrains.jet.lang.descriptors.NamespaceDescriptor; import org.jetbrains.jet.lang.psi.JetFile; @@ -31,6 +28,7 @@ import org.jetbrains.jet.lang.psi.JetPsiFactory; import org.jetbrains.jet.lang.resolve.name.Name; import org.jetbrains.jet.test.generator.SimpleTestClassModel; import org.jetbrains.jet.test.generator.TestGenerator; +import org.jetbrains.jet.test.util.NamespaceComparator; import java.io.File; import java.io.IOException; @@ -47,9 +45,8 @@ public abstract class AbstractLazyResolveNamespaceComparingTest extends KotlinTe return createEnvironmentWithMockJdk(ConfigurationKind.JDK_ONLY); } - protected void doTest( + private void doTest( String testFileName, - Function, Pair> transform, boolean includeMembersOfObject ) throws IOException { List files = JetTestUtils @@ -61,6 +58,13 @@ public abstract class AbstractLazyResolveNamespaceComparingTest extends KotlinTe } }); + ModuleDescriptor eagerModule = LazyResolveTestUtil.resolveEagerly(files, getEnvironment()); + ModuleDescriptor lazyModule = LazyResolveTestUtil.resolveLazily(files, getEnvironment()); + + Name test = Name.identifier("test"); + NamespaceDescriptor actual = lazyModule.getRootNamespace().getMemberScope().getNamespace(test); + NamespaceDescriptor expected = eagerModule.getRootNamespace().getMemberScope().getNamespace(test); + Predicate filterJetNamespace = new Predicate() { @Override public boolean apply(NamespaceDescriptor namespaceDescriptor) { @@ -70,65 +74,12 @@ public abstract class AbstractLazyResolveNamespaceComparingTest extends KotlinTe 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 = LazyResolveTestUtil.resolveEagerly(files, getEnvironment()); - ModuleDescriptor lazyModule = LazyResolveTestUtil.resolveLazily(files, getEnvironment()); - - Pair namespacesToCompare = transform.fun(Pair.create(module, lazyModule)); - - NamespaceComparator.compareNamespaces(namespacesToCompare.first, namespacesToCompare.second, + NamespaceComparator.compareNamespaces(expected, actual, includeMembersOfObject, filterJetNamespace, serializeResultsTo); } - //private ModuleDescriptor resolveLazily(List files, ConfigurationKind configurationKind) { - // ModuleDescriptor lazyModule = new ModuleDescriptor(Name.special("")); - // JetCoreEnvironmentWithDisposable environment = new JetCoreEnvironmentWithDisposable(configurationKind); - // ModuleConfiguration moduleConfiguration = getEagerInjectorForTopDownAnalyzer(environment).getModuleConfiguration(); - // ResolveSession - // session = new ResolveSession(getProject(), lazyModule, moduleConfiguration, new FileBasedDeclarationProviderFactory(files)); - // return lazyModule; - //} - - protected void doTest(String testFileName) throws Exception { - doTest(testFileName, new Function, Pair>() { - @Override - public Pair fun(Pair pair) { - return Pair.create(pair.first.getRootNamespace(), pair.second.getRootNamespace()); - } - }, true); - } - protected void doTestSinglePackage(String testFileName) throws Exception { - doTestSinglePackage(testFileName, false); - } - - protected void doTestSinglePackage(String testFileName, boolean includeMembersOfObject) throws Exception { - doTest(testFileName, new Function, Pair>() { - @Override - public Pair fun(Pair pair) { - ModuleDescriptor expectedModule = pair.first; - ModuleDescriptor actualModule = pair.second; - Name test = Name.identifier("test"); - NamespaceDescriptor actual = actualModule.getRootNamespace().getMemberScope().getNamespace(test); - NamespaceDescriptor expected = expectedModule.getRootNamespace().getMemberScope().getNamespace(test); - //NamespaceDescriptor actual = theOnlySubPackage(actualModule.getRootNamespace()); - //NamespaceDescriptor expected = expectedModule.getRootNamespace().getMemberScope().getNamespace(actual.getName()); - return Pair.create(expected, actual); - } - }, includeMembersOfObject); - } - - private NamespaceDescriptor theOnlySubPackage(NamespaceDescriptor namespace) { - return (NamespaceDescriptor) namespace.getMemberScope().getAllDescriptors().iterator().next(); + doTest(testFileName, false); } public static void main(String[] args) throws IOException {