Using FqName instead of FqNameUnsafe for package predicate.

This commit is contained in:
Evgeny Gerashchenko
2013-11-13 16:30:12 +04:00
parent 78e40114ca
commit 5d0381f073
3 changed files with 13 additions and 15 deletions
@@ -24,7 +24,6 @@ import org.jetbrains.jet.lang.descriptors.ModuleDescriptor;
import org.jetbrains.jet.lang.descriptors.PackageViewDescriptor; import org.jetbrains.jet.lang.descriptors.PackageViewDescriptor;
import org.jetbrains.jet.lang.psi.JetFile; import org.jetbrains.jet.lang.psi.JetFile;
import org.jetbrains.jet.lang.resolve.name.FqName; import org.jetbrains.jet.lang.resolve.name.FqName;
import org.jetbrains.jet.lang.resolve.name.FqNameUnsafe;
import org.jetbrains.jet.lang.resolve.name.Name; import org.jetbrains.jet.lang.resolve.name.Name;
import java.io.File; import java.io.File;
@@ -56,9 +55,9 @@ public abstract class AbstractLazyResolveDiagnosticsTest extends AbstractJetDiag
final Set<Name> names = LazyResolveTestUtil.getTopLevelPackagesFromFileList(jetFiles); final Set<Name> names = LazyResolveTestUtil.getTopLevelPackagesFromFileList(jetFiles);
validateAndCompareDescriptors( validateAndCompareDescriptors(
expected, actual, expected, actual,
RECURSIVE.filterRecursion(new Predicate<FqNameUnsafe>() { RECURSIVE.filterRecursion(new Predicate<FqName>() {
@Override @Override
public boolean apply(FqNameUnsafe fqName) { public boolean apply(FqName fqName) {
if (fqName.isRoot()) return true; if (fqName.isRoot()) return true;
if (fqName.parent().isRoot()) { if (fqName.parent().isRoot()) {
return names.contains(fqName.shortName()); return names.contains(fqName.shortName());
@@ -26,7 +26,6 @@ import org.jetbrains.jet.lang.descriptors.PackageViewDescriptor;
import org.jetbrains.jet.lang.psi.JetFile; import org.jetbrains.jet.lang.psi.JetFile;
import org.jetbrains.jet.lang.psi.JetPsiFactory; import org.jetbrains.jet.lang.psi.JetPsiFactory;
import org.jetbrains.jet.lang.resolve.name.FqName; 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.lang.types.lang.KotlinBuiltIns;
import org.jetbrains.jet.test.util.RecursiveDescriptorComparator; import org.jetbrains.jet.test.util.RecursiveDescriptorComparator;
import org.junit.Assert; import org.junit.Assert;
@@ -83,10 +82,10 @@ public abstract class AbstractLazyResolveNamespaceComparingTest extends KotlinTe
RecursiveDescriptorComparator.validateAndCompareDescriptors( RecursiveDescriptorComparator.validateAndCompareDescriptors(
expected, actual, RecursiveDescriptorComparator.DONT_INCLUDE_METHODS_OF_OBJECT.filterRecursion( expected, actual, RecursiveDescriptorComparator.DONT_INCLUDE_METHODS_OF_OBJECT.filterRecursion(
new Predicate<FqNameUnsafe>() { new Predicate<FqName>() {
@Override @Override
public boolean apply(FqNameUnsafe fqName) { public boolean apply(FqName fqName) {
return !KotlinBuiltIns.BUILT_INS_PACKAGE_FQ_NAME.toUnsafe().equals(fqName); return !KotlinBuiltIns.BUILT_INS_PACKAGE_FQ_NAME.equals(fqName);
} }
}) })
.checkPrimaryConstructors(checkPrimaryConstructors) .checkPrimaryConstructors(checkPrimaryConstructors)
@@ -28,7 +28,6 @@ import org.jetbrains.jet.jvm.compiler.ExpectedLoadErrorsUtil;
import org.jetbrains.jet.lang.descriptors.*; import org.jetbrains.jet.lang.descriptors.*;
import org.jetbrains.jet.lang.resolve.MemberComparator; import org.jetbrains.jet.lang.resolve.MemberComparator;
import org.jetbrains.jet.lang.resolve.name.FqName; import org.jetbrains.jet.lang.resolve.name.FqName;
import org.jetbrains.jet.lang.resolve.name.FqNameUnsafe;
import org.jetbrains.jet.lang.resolve.scopes.JetScope; import org.jetbrains.jet.lang.resolve.scopes.JetScope;
import org.jetbrains.jet.renderer.DescriptorRenderer; import org.jetbrains.jet.renderer.DescriptorRenderer;
import org.jetbrains.jet.renderer.DescriptorRendererBuilder; import org.jetbrains.jet.renderer.DescriptorRendererBuilder;
@@ -51,14 +50,14 @@ public class RecursiveDescriptorComparator {
.setVerbose(true).build(); .setVerbose(true).build();
public static final Configuration DONT_INCLUDE_METHODS_OF_OBJECT = new Configuration(false, false, false, public static final Configuration DONT_INCLUDE_METHODS_OF_OBJECT = new Configuration(false, false, false,
Predicates.<FqNameUnsafe>alwaysTrue(), Predicates.<FqName>alwaysTrue(),
FORBID_ERROR_TYPES, DEFAULT_RENDERER); FORBID_ERROR_TYPES, DEFAULT_RENDERER);
public static final Configuration RECURSIVE = new Configuration(false, false, true, public static final Configuration RECURSIVE = new Configuration(false, false, true,
Predicates.<FqNameUnsafe>alwaysTrue(), Predicates.<FqName>alwaysTrue(),
FORBID_ERROR_TYPES, DEFAULT_RENDERER); FORBID_ERROR_TYPES, DEFAULT_RENDERER);
public static final Configuration RECURSIVE_ALL = new Configuration(true, true, true, public static final Configuration RECURSIVE_ALL = new Configuration(true, true, true,
Predicates.<FqNameUnsafe>alwaysTrue(), Predicates.<FqName>alwaysTrue(),
FORBID_ERROR_TYPES, DEFAULT_RENDERER); FORBID_ERROR_TYPES, DEFAULT_RENDERER);
private static final ImmutableSet<String> JAVA_OBJECT_METHOD_NAMES = ImmutableSet.of( private static final ImmutableSet<String> JAVA_OBJECT_METHOD_NAMES = ImmutableSet.of(
@@ -145,7 +144,8 @@ public class RecursiveDescriptorComparator {
&& JAVA_OBJECT_METHOD_NAMES.contains(subDescriptor.getName().asString()) && JAVA_OBJECT_METHOD_NAMES.contains(subDescriptor.getName().asString())
&& !conf.includeMethodsOfJavaObject && !conf.includeMethodsOfJavaObject
|| ||
subDescriptor instanceof PackageViewDescriptor && !conf.recurseIntoPackage.apply(((PackageViewDescriptor) subDescriptor).getFqName().toUnsafe()); // TODO 2 accept safe fq name instead subDescriptor instanceof PackageViewDescriptor
&& !conf.recurseIntoPackage.apply(((PackageViewDescriptor) subDescriptor).getFqName());
} }
private void appendSubDescriptors( private void appendSubDescriptors(
@@ -232,7 +232,7 @@ public class RecursiveDescriptorComparator {
private final boolean checkPrimaryConstructors; private final boolean checkPrimaryConstructors;
private final boolean checkPropertyAccessors; private final boolean checkPropertyAccessors;
private final boolean includeMethodsOfJavaObject; private final boolean includeMethodsOfJavaObject;
private final Predicate<FqNameUnsafe> recurseIntoPackage; private final Predicate<FqName> recurseIntoPackage;
private final DescriptorRenderer renderer; private final DescriptorRenderer renderer;
private final DescriptorValidator.ValidationVisitor validationStrategy; private final DescriptorValidator.ValidationVisitor validationStrategy;
@@ -241,7 +241,7 @@ public class RecursiveDescriptorComparator {
boolean checkPrimaryConstructors, boolean checkPrimaryConstructors,
boolean checkPropertyAccessors, boolean checkPropertyAccessors,
boolean includeMethodsOfJavaObject, boolean includeMethodsOfJavaObject,
Predicate<FqNameUnsafe> recurseIntoPackage, Predicate<FqName> recurseIntoPackage,
DescriptorValidator.ValidationVisitor validationStrategy, DescriptorValidator.ValidationVisitor validationStrategy,
DescriptorRenderer renderer DescriptorRenderer renderer
) { ) {
@@ -253,7 +253,7 @@ public class RecursiveDescriptorComparator {
this.renderer = renderer; this.renderer = renderer;
} }
public Configuration filterRecursion(@NotNull Predicate<FqNameUnsafe> recurseIntoPackage) { public Configuration filterRecursion(@NotNull Predicate<FqName> recurseIntoPackage) {
return new Configuration(checkPrimaryConstructors, checkPropertyAccessors, includeMethodsOfJavaObject, recurseIntoPackage, return new Configuration(checkPrimaryConstructors, checkPropertyAccessors, includeMethodsOfJavaObject, recurseIntoPackage,
validationStrategy, renderer); validationStrategy, renderer);
} }