Chain scope for merging in lazy package descriptor
This commit is contained in:
+9
-5
@@ -15,15 +15,12 @@
|
||||
*/
|
||||
package org.jetbrains.jet.lang.resolve.lazy;
|
||||
|
||||
import junit.framework.Assert;
|
||||
import junit.framework.Test;
|
||||
import junit.framework.TestSuite;
|
||||
|
||||
import java.io.File;
|
||||
import org.jetbrains.jet.JetTestUtils;
|
||||
import org.jetbrains.jet.test.TestMetadata;
|
||||
|
||||
import org.jetbrains.jet.lang.resolve.lazy.AbstractLazyResolveNamespaceComparingTest;
|
||||
import java.io.File;
|
||||
|
||||
/** This class is generated by {@link org.jetbrains.jet.lang.resolve.lazy.AbstractLazyResolveNamespaceComparingTest}. DO NOT MODIFY MANUALLY */
|
||||
public class LazyResolveNamespaceComparingTestGenerated extends AbstractLazyResolveNamespaceComparingTest {
|
||||
@@ -1272,7 +1269,9 @@ public class LazyResolveNamespaceComparingTestGenerated extends AbstractLazyReso
|
||||
@TestMetadata("compiler/testData/lazyResolve/namespaceComparator")
|
||||
public static class NamespaceComparator extends AbstractLazyResolveNamespaceComparingTest {
|
||||
public void testAllFilesPresentInNamespaceComparator() throws Exception {
|
||||
JetTestUtils.assertAllTestsPresentByMetadata(this.getClass(), "org.jetbrains.jet.lang.resolve.lazy.AbstractLazyResolveNamespaceComparingTest", new File("compiler/testData/lazyResolve/namespaceComparator"), "kt", false);
|
||||
JetTestUtils.assertAllTestsPresentByMetadata(this.getClass(),
|
||||
"org.jetbrains.jet.lang.resolve.lazy.AbstractLazyResolveNamespaceComparingTest",
|
||||
new File("compiler/testData/lazyResolve/namespaceComparator"), "kt", false);
|
||||
}
|
||||
|
||||
@TestMetadata("enum.kt")
|
||||
@@ -1295,6 +1294,11 @@ public class LazyResolveNamespaceComparingTestGenerated extends AbstractLazyReso
|
||||
doTestSinglePackage("compiler/testData/lazyResolve/namespaceComparator/innerObject.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("objectMembers.kt")
|
||||
public void testObjectMembers() throws Exception {
|
||||
doTestSinglePackage("compiler/testData/lazyResolve/namespaceComparator/objectMembers.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("OverrideWithErrors.kt")
|
||||
public void testOverrideWithErrors() throws Exception {
|
||||
doTestSinglePackage("compiler/testData/lazyResolve/namespaceComparator/OverrideWithErrors.kt");
|
||||
|
||||
@@ -20,6 +20,7 @@ import com.google.common.base.Predicate;
|
||||
import com.google.common.base.Predicates;
|
||||
import com.google.common.collect.Lists;
|
||||
import com.google.common.collect.Maps;
|
||||
import com.google.common.collect.Sets;
|
||||
import com.intellij.openapi.util.io.FileUtil;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.jet.codegen.PropertyCodegen;
|
||||
@@ -125,9 +126,10 @@ public class NamespaceComparator {
|
||||
|
||||
//deferred.assertTrue("namespace " + nsa.getName() + " is empty", !nsa.getMemberScope().getAllDescriptors().isEmpty());
|
||||
|
||||
Set<Name> classifierNames = new HashSet<Name>();
|
||||
Set<Name> propertyNames = new HashSet<Name>();
|
||||
Set<Name> functionNames = new HashSet<Name>();
|
||||
Set<Name> classifierNames = Sets.newHashSet();
|
||||
Set<Name> propertyNames = Sets.newHashSet();
|
||||
Set<Name> functionNames = Sets.newHashSet();
|
||||
Set<Name> objectNames = Sets.newHashSet();
|
||||
|
||||
for (DeclarationDescriptor ad : nsa.getMemberScope().getAllDescriptors()) {
|
||||
if (ad instanceof ClassifierDescriptor) {
|
||||
@@ -162,6 +164,10 @@ public class NamespaceComparator {
|
||||
}
|
||||
}
|
||||
|
||||
for (ClassDescriptor objectDescriptor : nsa.getMemberScope().getObjectDescriptors()) {
|
||||
objectNames.add(objectDescriptor.getName());
|
||||
}
|
||||
|
||||
for (Name name : sorted(classifierNames)) {
|
||||
ClassifierDescriptor ca = nsa.getMemberScope().getClassifier(name);
|
||||
ClassifierDescriptor cb = nsb.getMemberScope().getClassifier(name);
|
||||
@@ -170,6 +176,14 @@ public class NamespaceComparator {
|
||||
compareClassifiers(ca, cb, sb);
|
||||
}
|
||||
|
||||
for (Name name : sorted(objectNames)) {
|
||||
ClassifierDescriptor ca = nsa.getMemberScope().getObjectDescriptor(name);
|
||||
ClassifierDescriptor cb = nsb.getMemberScope().getObjectDescriptor(name);
|
||||
deferred.assertTrue("Object not found in " + nsa + ": " + name, ca != null);
|
||||
deferred.assertTrue("Object not found in " + nsb + ": " + name, cb != null);
|
||||
compareClassifiers(ca, cb, sb);
|
||||
}
|
||||
|
||||
for (Name name : sorted(propertyNames)) {
|
||||
Collection<VariableDescriptor> pa = nsa.getMemberScope().getProperties(name);
|
||||
Collection<VariableDescriptor> pb = nsb.getMemberScope().getProperties(name);
|
||||
@@ -729,6 +743,12 @@ public class NamespaceComparator {
|
||||
memberStrings.add(memberSb.toString());
|
||||
}
|
||||
|
||||
//for (DeclarationDescriptor object : memberScope.getObjectDescriptors()) {
|
||||
// StringBuilder objectSb = new StringBuilder();
|
||||
// new FullContentSerialier(objectSb).serialize(object);
|
||||
// memberStrings.add(objectSb.toString());
|
||||
//}
|
||||
|
||||
Collections.sort(memberStrings, new MemberComparator());
|
||||
|
||||
for (String memberString : memberStrings) {
|
||||
|
||||
Reference in New Issue
Block a user