diff --git a/compiler/tests/org/jetbrains/jet/descriptors/serialization/AbstractDescriptorSerializationTest.java b/compiler/tests/org/jetbrains/jet/descriptors/serialization/AbstractDescriptorSerializationTest.java index 9cb4ada9191..b740940c169 100644 --- a/compiler/tests/org/jetbrains/jet/descriptors/serialization/AbstractDescriptorSerializationTest.java +++ b/compiler/tests/org/jetbrains/jet/descriptors/serialization/AbstractDescriptorSerializationTest.java @@ -35,7 +35,7 @@ import org.jetbrains.jet.lang.resolve.name.Name; import org.jetbrains.jet.lang.resolve.scopes.JetScope; import org.jetbrains.jet.lang.resolve.scopes.WritableScope; import org.jetbrains.jet.storage.LockBasedStorageManager; -import org.jetbrains.jet.test.util.NamespaceComparator; +import org.jetbrains.jet.test.util.RecursiveDescriptorComparator; import java.io.File; import java.io.IOException; @@ -69,7 +69,8 @@ public abstract class AbstractDescriptorSerializationTest extends KotlinTestWith NamespaceDescriptor deserialized = serializeAndDeserialize(javaDescriptorResolver, testNamespace); - NamespaceComparator.validateAndCompareNamespaces(testNamespace, deserialized, NamespaceComparator.RECURSIVE, null); + RecursiveDescriptorComparator + .validateAndCompareDescriptors(testNamespace, deserialized, RecursiveDescriptorComparator.RECURSIVE, null); } @NotNull diff --git a/compiler/tests/org/jetbrains/jet/descriptors/serialization/BuiltinsDeserializationTest.java b/compiler/tests/org/jetbrains/jet/descriptors/serialization/BuiltinsDeserializationTest.java index 96d9029d916..9bb19361b6b 100644 --- a/compiler/tests/org/jetbrains/jet/descriptors/serialization/BuiltinsDeserializationTest.java +++ b/compiler/tests/org/jetbrains/jet/descriptors/serialization/BuiltinsDeserializationTest.java @@ -37,7 +37,7 @@ import org.jetbrains.jet.lang.types.lang.KotlinBuiltIns; import org.jetbrains.jet.renderer.DescriptorRenderer; import org.jetbrains.jet.renderer.DescriptorRendererBuilder; import org.jetbrains.jet.storage.LockBasedStorageManager; -import org.jetbrains.jet.test.util.NamespaceComparator; +import org.jetbrains.jet.test.util.RecursiveDescriptorComparator; import java.util.Arrays; import java.util.Collection; @@ -54,7 +54,7 @@ public class BuiltinsDeserializationTest extends KotlinTestWithEnvironment { Collection allDescriptors = KotlinBuiltIns.getInstance().getBuiltInsScope().getAllDescriptors(); NamespaceDescriptorImpl actualNamespace = getDeserializedDescriptorsAsNamespace(allDescriptors); - NamespaceComparator.Configuration configuration = NamespaceComparator.RECURSIVE.withRenderer( + RecursiveDescriptorComparator.Configuration configuration = RecursiveDescriptorComparator.RECURSIVE.withRenderer( new DescriptorRendererBuilder() .setWithDefinedIn(false) .setExcludedAnnotationClasses(Arrays.asList(new FqName(ExpectedLoadErrorsUtil.ANNOTATION_CLASS_NAME))) @@ -64,7 +64,8 @@ public class BuiltinsDeserializationTest extends KotlinTestWithEnvironment { .setPrettyFunctionTypes(false) .build() ); - NamespaceComparator.validateAndCompareNamespaces(KotlinBuiltIns.getInstance().getBuiltInsPackage(), actualNamespace, configuration, null); + RecursiveDescriptorComparator + .validateAndCompareDescriptors(KotlinBuiltIns.getInstance().getBuiltInsPackage(), actualNamespace, configuration, null); } private static NamespaceDescriptorImpl getDeserializedDescriptorsAsNamespace(Collection allDescriptors) { diff --git a/compiler/tests/org/jetbrains/jet/jvm/compiler/AbstractLoadCompiledKotlinTest.java b/compiler/tests/org/jetbrains/jet/jvm/compiler/AbstractLoadCompiledKotlinTest.java index 19631ba17bb..d165a23ca31 100644 --- a/compiler/tests/org/jetbrains/jet/jvm/compiler/AbstractLoadCompiledKotlinTest.java +++ b/compiler/tests/org/jetbrains/jet/jvm/compiler/AbstractLoadCompiledKotlinTest.java @@ -27,13 +27,13 @@ import org.jetbrains.jet.lang.resolve.BindingContext; import org.jetbrains.jet.lang.resolve.DescriptorUtils; import org.jetbrains.jet.lang.resolve.scopes.JetScope; import org.jetbrains.jet.test.TestCaseWithTmpdir; -import org.jetbrains.jet.test.util.NamespaceComparator; +import org.jetbrains.jet.test.util.RecursiveDescriptorComparator; import java.io.File; import static org.jetbrains.jet.jvm.compiler.LoadDescriptorUtil.TEST_PACKAGE_FQNAME; import static org.jetbrains.jet.jvm.compiler.LoadDescriptorUtil.compileKotlinToDirAndGetAnalyzeExhaust; -import static org.jetbrains.jet.test.util.NamespaceComparator.validateAndCompareNamespaces; +import static org.jetbrains.jet.test.util.RecursiveDescriptorComparator.validateAndCompareDescriptors; /** * Compile Kotlin and then parse model from .class files. @@ -71,11 +71,11 @@ public abstract class AbstractLoadCompiledKotlinTest extends TestCaseWithTmpdir } } - validateAndCompareNamespaces(namespaceFromSource, namespaceFromClass, - NamespaceComparator.DONT_INCLUDE_METHODS_OF_OBJECT - .checkPrimaryConstructors(true) - .checkPropertyAccessors(includeAccessors), - txtFile); + validateAndCompareDescriptors(namespaceFromSource, namespaceFromClass, + RecursiveDescriptorComparator.DONT_INCLUDE_METHODS_OF_OBJECT + .checkPrimaryConstructors(true) + .checkPropertyAccessors(includeAccessors), + txtFile); } private static void checkUsageOfDeserializedScope(@NotNull NamespaceDescriptor namespaceFromClass) { diff --git a/compiler/tests/org/jetbrains/jet/jvm/compiler/AbstractLoadJavaTest.java b/compiler/tests/org/jetbrains/jet/jvm/compiler/AbstractLoadJavaTest.java index cc3393c038e..b5ac3efc21e 100644 --- a/compiler/tests/org/jetbrains/jet/jvm/compiler/AbstractLoadJavaTest.java +++ b/compiler/tests/org/jetbrains/jet/jvm/compiler/AbstractLoadJavaTest.java @@ -54,7 +54,7 @@ import java.util.Map; import static org.jetbrains.jet.jvm.compiler.LoadDescriptorUtil.*; import static org.jetbrains.jet.lang.resolve.java.DescriptorSearchRule.INCLUDE_KOTLIN_SOURCES; import static org.jetbrains.jet.test.util.DescriptorValidator.ValidationVisitor.ALLOW_ERROR_TYPES; -import static org.jetbrains.jet.test.util.NamespaceComparator.*; +import static org.jetbrains.jet.test.util.RecursiveDescriptorComparator.*; /* The generated test compares namespace descriptors loaded from kotlin sources and read from compiled java. @@ -202,7 +202,7 @@ public abstract class AbstractLoadJavaTest extends TestCaseWithTmpdir { checkForLoadErrorsAndCompare(javaNamespace, bindingContext, new Runnable() { @Override public void run() { - validateAndCompareNamespaces(kotlinNamespace, javaNamespace, DONT_INCLUDE_METHODS_OF_OBJECT, txtFile); + validateAndCompareDescriptors(kotlinNamespace, javaNamespace, DONT_INCLUDE_METHODS_OF_OBJECT, txtFile); } }); } @@ -216,7 +216,7 @@ public abstract class AbstractLoadJavaTest extends TestCaseWithTmpdir { checkForLoadErrorsAndCompare(javaNamespace, bindingContext, new Runnable() { @Override public void run() { - validateAndCompareNamespaceWithFile(javaNamespace, configuration, txtFile); + validateAndCompareDescriptorWithFile(javaNamespace, configuration, txtFile); } }); } diff --git a/compiler/tests/org/jetbrains/jet/jvm/compiler/CompileKotlinAgainstCustomBinariesTest.java b/compiler/tests/org/jetbrains/jet/jvm/compiler/CompileKotlinAgainstCustomBinariesTest.java index 27f2a73a0d1..88fe3029aa0 100644 --- a/compiler/tests/org/jetbrains/jet/jvm/compiler/CompileKotlinAgainstCustomBinariesTest.java +++ b/compiler/tests/org/jetbrains/jet/jvm/compiler/CompileKotlinAgainstCustomBinariesTest.java @@ -33,7 +33,7 @@ import org.jetbrains.jet.lang.resolve.BindingContext; import org.jetbrains.jet.lang.resolve.java.AnalyzerFacadeForJVM; import org.jetbrains.jet.test.TestCaseWithTmpdir; import org.jetbrains.jet.test.util.DescriptorValidator; -import org.jetbrains.jet.test.util.NamespaceComparator; +import org.jetbrains.jet.test.util.RecursiveDescriptorComparator; import org.jetbrains.jet.utils.ExceptionUtils; import java.io.BufferedOutputStream; @@ -45,8 +45,8 @@ import java.util.jar.JarEntry; import java.util.jar.JarFile; import java.util.zip.ZipOutputStream; +import static org.jetbrains.jet.test.util.RecursiveDescriptorComparator.validateAndCompareDescriptorWithFile; import static org.jetbrains.jet.lang.resolve.DescriptorUtils.isObject; -import static org.jetbrains.jet.test.util.NamespaceComparator.validateAndCompareNamespaceWithFile; public class CompileKotlinAgainstCustomBinariesTest extends TestCaseWithTmpdir { public static final String TEST_DATA_PATH = "compiler/testData/compileKotlinAgainstCustomBinaries/"; @@ -66,10 +66,11 @@ public class CompileKotlinAgainstCustomBinariesTest extends TestCaseWithTmpdir { NamespaceDescriptor namespace = analyzeFileToNamespace(ktFile, extraClassPath); - NamespaceComparator.Configuration comparator = NamespaceComparator.DONT_INCLUDE_METHODS_OF_OBJECT.withValidationStrategy( - DescriptorValidator.ValidationVisitor.ALLOW_ERROR_TYPES); + RecursiveDescriptorComparator.Configuration comparator = + RecursiveDescriptorComparator.DONT_INCLUDE_METHODS_OF_OBJECT.withValidationStrategy( + DescriptorValidator.ValidationVisitor.ALLOW_ERROR_TYPES); File txtFile = new File(getTestDataDirectory(), FileUtil.getNameWithoutExtension(ktFile) + ".txt"); - validateAndCompareNamespaceWithFile(namespace, comparator, txtFile); + validateAndCompareDescriptorWithFile(namespace, comparator, txtFile); } @NotNull diff --git a/compiler/tests/org/jetbrains/jet/lang/resolve/lazy/AbstractLazyResolveDiagnosticsTest.java b/compiler/tests/org/jetbrains/jet/lang/resolve/lazy/AbstractLazyResolveDiagnosticsTest.java index 9f4620b9b17..f7f0eeeaf85 100644 --- a/compiler/tests/org/jetbrains/jet/lang/resolve/lazy/AbstractLazyResolveDiagnosticsTest.java +++ b/compiler/tests/org/jetbrains/jet/lang/resolve/lazy/AbstractLazyResolveDiagnosticsTest.java @@ -31,8 +31,8 @@ import java.io.File; import java.util.List; import java.util.Set; -import static org.jetbrains.jet.test.util.NamespaceComparator.RECURSIVE; -import static org.jetbrains.jet.test.util.NamespaceComparator.validateAndCompareNamespaces; +import static org.jetbrains.jet.test.util.RecursiveDescriptorComparator.RECURSIVE; +import static org.jetbrains.jet.test.util.RecursiveDescriptorComparator.validateAndCompareDescriptors; public abstract class AbstractLazyResolveDiagnosticsTest extends AbstractJetDiagnosticsTest { @@ -54,7 +54,7 @@ public abstract class AbstractLazyResolveDiagnosticsTest extends AbstractJetDiag // Only recurse into those namespaces mentioned in the files // Otherwise we'll be examining the whole JDK final Set names = LazyResolveTestUtil.getTopLevelPackagesFromFileList(jetFiles); - validateAndCompareNamespaces( + validateAndCompareDescriptors( expected, actual, RECURSIVE.filterRecursion(new Predicate() { @Override 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 7cabbca082f..42f6215c669 100644 --- a/compiler/tests/org/jetbrains/jet/lang/resolve/lazy/AbstractLazyResolveNamespaceComparingTest.java +++ b/compiler/tests/org/jetbrains/jet/lang/resolve/lazy/AbstractLazyResolveNamespaceComparingTest.java @@ -28,7 +28,7 @@ import org.jetbrains.jet.lang.psi.JetPsiFactory; import org.jetbrains.jet.lang.resolve.name.FqName; import org.jetbrains.jet.lang.resolve.name.FqNameUnsafe; import org.jetbrains.jet.lang.types.lang.KotlinBuiltIns; -import org.jetbrains.jet.test.util.NamespaceComparator; +import org.jetbrains.jet.test.util.RecursiveDescriptorComparator; import org.junit.Assert; import java.io.File; @@ -81,8 +81,8 @@ public abstract class AbstractLazyResolveNamespaceComparingTest extends KotlinTe File serializeResultsTo = new File(FileUtil.getNameWithoutExtension(testFileName) + ".txt"); - NamespaceComparator.validateAndCompareNamespaces( - expected, actual, NamespaceComparator.DONT_INCLUDE_METHODS_OF_OBJECT.filterRecursion( + RecursiveDescriptorComparator.validateAndCompareDescriptors( + expected, actual, RecursiveDescriptorComparator.DONT_INCLUDE_METHODS_OF_OBJECT.filterRecursion( new Predicate() { @Override public boolean apply(FqNameUnsafe fqName) { diff --git a/compiler/tests/org/jetbrains/jet/lang/resolve/lazy/LazyResolveBuiltinClassesTest.java b/compiler/tests/org/jetbrains/jet/lang/resolve/lazy/LazyResolveBuiltinClassesTest.java index c28e1a3c742..cb86b46341e 100644 --- a/compiler/tests/org/jetbrains/jet/lang/resolve/lazy/LazyResolveBuiltinClassesTest.java +++ b/compiler/tests/org/jetbrains/jet/lang/resolve/lazy/LazyResolveBuiltinClassesTest.java @@ -23,8 +23,8 @@ import org.jetbrains.jet.lang.types.lang.KotlinBuiltIns; import java.io.File; -import static org.jetbrains.jet.test.util.NamespaceComparator.RECURSIVE_ALL; -import static org.jetbrains.jet.test.util.NamespaceComparator.validateAndCompareNamespaceWithFile; +import static org.jetbrains.jet.test.util.RecursiveDescriptorComparator.RECURSIVE_ALL; +import static org.jetbrains.jet.test.util.RecursiveDescriptorComparator.validateAndCompareDescriptorWithFile; public class LazyResolveBuiltinClassesTest extends KotlinTestWithEnvironment { @Override @@ -34,6 +34,6 @@ public class LazyResolveBuiltinClassesTest extends KotlinTestWithEnvironment { public void testBuiltIns() throws Exception { NamespaceDescriptor builtInsPackage = KotlinBuiltIns.getInstance().getBuiltInsPackage(); - validateAndCompareNamespaceWithFile(builtInsPackage, RECURSIVE_ALL, new File("compiler/testData/builtin-classes.txt")); + validateAndCompareDescriptorWithFile(builtInsPackage, RECURSIVE_ALL, new File("compiler/testData/builtin-classes.txt")); } } diff --git a/compiler/tests/org/jetbrains/jet/lang/resolve/lazy/LazyResolveStdlibLoadingTest.java b/compiler/tests/org/jetbrains/jet/lang/resolve/lazy/LazyResolveStdlibLoadingTest.java index ddfacbac6e6..4f58d7c7387 100644 --- a/compiler/tests/org/jetbrains/jet/lang/resolve/lazy/LazyResolveStdlibLoadingTest.java +++ b/compiler/tests/org/jetbrains/jet/lang/resolve/lazy/LazyResolveStdlibLoadingTest.java @@ -26,7 +26,7 @@ import org.jetbrains.jet.lang.descriptors.NamespaceDescriptor; import org.jetbrains.jet.lang.psi.JetFile; import org.jetbrains.jet.lang.resolve.name.FqName; import org.jetbrains.jet.lang.resolve.name.Name; -import org.jetbrains.jet.test.util.NamespaceComparator; +import org.jetbrains.jet.test.util.RecursiveDescriptorComparator; import java.io.File; import java.util.List; @@ -54,7 +54,7 @@ public class LazyResolveStdlibLoadingTest extends KotlinTestWithEnvironmentManag for (Name name : namespaceShortNames) { NamespaceDescriptor eager = module.getNamespace(FqName.topLevel(name)); NamespaceDescriptor lazy = lazyModule.getNamespace(FqName.topLevel(name)); - NamespaceComparator.validateAndCompareNamespaces(eager, lazy, NamespaceComparator.RECURSIVE, null); + RecursiveDescriptorComparator.validateAndCompareDescriptors(eager, lazy, RecursiveDescriptorComparator.RECURSIVE, null); } } diff --git a/compiler/tests/org/jetbrains/jet/test/util/NamespaceComparator.java b/compiler/tests/org/jetbrains/jet/test/util/RecursiveDescriptorComparator.java similarity index 86% rename from compiler/tests/org/jetbrains/jet/test/util/NamespaceComparator.java rename to compiler/tests/org/jetbrains/jet/test/util/RecursiveDescriptorComparator.java index e8e0094b41a..bfa2722b26a 100644 --- a/compiler/tests/org/jetbrains/jet/test/util/NamespaceComparator.java +++ b/compiler/tests/org/jetbrains/jet/test/util/RecursiveDescriptorComparator.java @@ -44,7 +44,7 @@ import java.util.List; import static org.jetbrains.jet.test.util.DescriptorValidator.ValidationVisitor.FORBID_ERROR_TYPES; -public class NamespaceComparator { +public class RecursiveDescriptorComparator { private static final DescriptorRenderer DEFAULT_RENDERER = new DescriptorRendererBuilder() .setWithDefinedIn(false) .setExcludedAnnotationClasses(Arrays.asList(new FqName(ExpectedLoadErrorsUtil.ANNOTATION_CLASS_NAME))) @@ -67,7 +67,7 @@ public class NamespaceComparator { private final Configuration conf; - private NamespaceComparator(@NotNull Configuration conf) { + private RecursiveDescriptorComparator(@NotNull Configuration conf) { this.conf = conf; } @@ -164,60 +164,61 @@ public class NamespaceComparator { } } - private static void compareNamespaceWithFile( - @NotNull NamespaceDescriptor actualNamespace, + private static void compareDescriptorWithFile( + @NotNull DeclarationDescriptor actual, @NotNull Configuration configuration, @NotNull File txtFile ) { - doCompareNamespaces(null, actualNamespace, configuration, txtFile); + doCompareDescriptors(null, actual, configuration, txtFile); } - private static void compareNamespaces( - @NotNull NamespaceDescriptor expectedNamespace, - @NotNull NamespaceDescriptor actualNamespace, + private static void compareDescriptors( + @NotNull DeclarationDescriptor expected, + @NotNull DeclarationDescriptor actual, @NotNull Configuration configuration, @Nullable File txtFile ) { - if (expectedNamespace == actualNamespace) { - throw new IllegalArgumentException("Don't invoke this method with expectedNamespace == actualNamespace." + - "Invoke compareNamespaceWithFile() instead."); + if (expected == actual) { + throw new IllegalArgumentException("Don't invoke this method with expected == actual." + + "Invoke compareDescriptorWithFile() instead."); } - doCompareNamespaces(expectedNamespace, actualNamespace, configuration, txtFile); + doCompareDescriptors(expected, actual, configuration, txtFile); } - public static void validateAndCompareNamespaceWithFile( - @NotNull NamespaceDescriptor actualNamespace, + public static void validateAndCompareDescriptorWithFile( + @NotNull DeclarationDescriptor actual, @NotNull Configuration configuration, @NotNull File txtFile ) { - DescriptorValidator.validate(configuration.validationStrategy, actualNamespace); - compareNamespaceWithFile(actualNamespace, configuration, txtFile); + DescriptorValidator.validate(configuration.validationStrategy, actual); + compareDescriptorWithFile(actual, configuration, txtFile); } - public static void validateAndCompareNamespaces( - @NotNull NamespaceDescriptor expectedNamespace, - @NotNull NamespaceDescriptor actualNamespace, + public static void validateAndCompareDescriptors( + @NotNull DeclarationDescriptor expected, + @NotNull DeclarationDescriptor actual, @NotNull Configuration configuration, @Nullable File txtFile ) { - DescriptorValidator.validate(configuration.validationStrategy, expectedNamespace, actualNamespace); - compareNamespaces(expectedNamespace, actualNamespace, configuration, txtFile); + DescriptorValidator.validate(configuration.validationStrategy, expected, actual); + compareDescriptors(expected, actual, configuration, txtFile); } - private static void doCompareNamespaces( - @Nullable NamespaceDescriptor expectedNamespace, - @NotNull NamespaceDescriptor actualNamespace, + private static void doCompareDescriptors( + @Nullable DeclarationDescriptor expected, + @NotNull DeclarationDescriptor actual, @NotNull Configuration configuration, @Nullable File txtFile ) { - NamespaceComparator comparator = new NamespaceComparator(configuration); + RecursiveDescriptorComparator comparator = new RecursiveDescriptorComparator(configuration); - String actualSerialized = comparator.serializeRecursively(actualNamespace); + String actualSerialized = comparator.serializeRecursively(actual); - if (expectedNamespace != null) { - String expectedSerialized = comparator.serializeRecursively(expectedNamespace); + if (expected != null) { + String expectedSerialized = comparator.serializeRecursively(expected); + Assert.assertSame(expected.getClass(), actual.getClass()); - Assert.assertEquals("Expected and actual namespaces differ", expectedSerialized, actualSerialized); + Assert.assertEquals("Expected and actual descriptors differ", expectedSerialized, actualSerialized); } if (txtFile != null) {