Use java.util.function.Predicate instead of Guava

This commit is contained in:
Alexander Udalov
2017-03-31 20:55:28 +03:00
parent f723ad76f7
commit 08b50cab08
19 changed files with 72 additions and 149 deletions
@@ -16,7 +16,6 @@
package org.jetbrains.kotlin.checkers
import com.google.common.base.Predicate
import com.intellij.openapi.util.io.FileUtil
import com.intellij.openapi.util.text.StringUtil
import com.intellij.psi.search.GlobalSearchScope
@@ -65,10 +64,10 @@ import org.jetbrains.kotlin.test.util.DescriptorValidator
import org.jetbrains.kotlin.test.util.RecursiveDescriptorComparator
import org.jetbrains.kotlin.test.util.RecursiveDescriptorComparator.RECURSIVE
import org.jetbrains.kotlin.test.util.RecursiveDescriptorComparator.RECURSIVE_ALL
import org.jetbrains.kotlin.utils.keysToMap
import org.junit.Assert
import java.io.File
import java.util.*
import java.util.function.Predicate
abstract class AbstractDiagnosticsTest : BaseDiagnosticsTest() {
override fun analyzeAndCheck(testDataFile: File, files: List<TestFile>) {
@@ -409,7 +408,7 @@ abstract class AbstractDiagnosticsTest : BaseDiagnosticsTest() {
val packagesNames = getTopLevelPackagesFromFileList(getKtFiles(testFiles, false))
val stepIntoFilter = Predicate<DeclarationDescriptor> { descriptor ->
val module = DescriptorUtils.getContainingModuleOrNull(descriptor!!)
val module = DescriptorUtils.getContainingModuleOrNull(descriptor)
if (module !in modules) return@Predicate false
if (descriptor is PackageViewDescriptor) {
@@ -16,8 +16,6 @@
package org.jetbrains.kotlin.test.util;
import com.google.common.base.Predicate;
import com.google.common.base.Predicates;
import com.google.common.collect.Lists;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
@@ -32,6 +30,7 @@ import org.junit.Assert;
import java.io.PrintStream;
import java.util.Collection;
import java.util.List;
import java.util.function.Predicate;
public class DescriptorValidator {
@@ -67,7 +66,7 @@ public class DescriptorValidator {
}
private boolean allowErrorTypes = false;
private Predicate<DeclarationDescriptor> recursiveFilter = Predicates.alwaysTrue();
private Predicate<DeclarationDescriptor> recursiveFilter = descriptor -> true;
protected ValidationVisitor() {
}
@@ -86,7 +85,7 @@ public class DescriptorValidator {
protected void validateScope(DeclarationDescriptor scopeOwner, @NotNull MemberScope scope, @NotNull DiagnosticCollector collector) {
for (DeclarationDescriptor descriptor : DescriptorUtils.getAllDescriptors(scope)) {
if (recursiveFilter.apply(descriptor)) {
if (recursiveFilter.test(descriptor)) {
descriptor.accept(new ScopeValidatorVisitor(collector), scope);
}
}
@@ -197,7 +196,7 @@ public class DescriptorValidator {
@Override
public Boolean visitPackageViewDescriptor(PackageViewDescriptor descriptor, DiagnosticCollector collector) {
if (!recursiveFilter.apply(descriptor)) return false;
if (!recursiveFilter.test(descriptor)) return false;
validateScope(descriptor, descriptor.getMemberScope(), collector);
return true;
@@ -16,8 +16,6 @@
package org.jetbrains.kotlin.test.util;
import com.google.common.base.Predicate;
import com.google.common.base.Predicates;
import com.google.common.collect.ImmutableSet;
import com.google.common.collect.Lists;
import kotlin.Unit;
@@ -44,6 +42,7 @@ import java.util.ArrayList;
import java.util.Collection;
import java.util.Collections;
import java.util.List;
import java.util.function.Predicate;
import static org.jetbrains.kotlin.resolve.DescriptorUtils.isEnumEntry;
import static org.jetbrains.kotlin.test.util.DescriptorValidator.ValidationVisitor.errorTypesForbidden;
@@ -68,24 +67,18 @@ public class RecursiveDescriptorComparator {
);
public static final Configuration DONT_INCLUDE_METHODS_OF_OBJECT = new Configuration(false, false, false, false,
Predicates.<DeclarationDescriptor>alwaysTrue(),
errorTypesForbidden(), DEFAULT_RENDERER);
descriptor -> true, errorTypesForbidden(), DEFAULT_RENDERER);
public static final Configuration RECURSIVE = new Configuration(false, false, true, false,
Predicates.<DeclarationDescriptor>alwaysTrue(),
errorTypesForbidden(), DEFAULT_RENDERER);
descriptor -> true, errorTypesForbidden(), DEFAULT_RENDERER);
public static final Configuration RECURSIVE_ALL = new Configuration(true, true, true, false,
Predicates.<DeclarationDescriptor>alwaysTrue(),
errorTypesForbidden(), DEFAULT_RENDERER);
descriptor -> true, errorTypesForbidden(), DEFAULT_RENDERER);
public static final Predicate<DeclarationDescriptor> SKIP_BUILT_INS_PACKAGES = new Predicate<DeclarationDescriptor>() {
@Override
public boolean apply(DeclarationDescriptor descriptor) {
if (descriptor instanceof PackageViewDescriptor) {
return !KotlinBuiltIns.BUILT_INS_PACKAGE_FQ_NAME.equals(((PackageViewDescriptor) descriptor).getFqName());
}
return true;
public static final Predicate<DeclarationDescriptor> SKIP_BUILT_INS_PACKAGES = descriptor -> {
if (descriptor instanceof PackageViewDescriptor) {
return !KotlinBuiltIns.BUILT_INS_PACKAGE_FQ_NAME.equals(((PackageViewDescriptor) descriptor).getFqName());
}
return true;
};
private static final ImmutableSet<String> KOTLIN_ANY_METHOD_NAMES = ImmutableSet.of("equals", "hashCode", "toString");
@@ -216,7 +209,7 @@ public class RecursiveDescriptorComparator {
boolean isFunctionFromAny = subDescriptor.getContainingDeclaration() instanceof ClassDescriptor
&& subDescriptor instanceof FunctionDescriptor
&& KOTLIN_ANY_METHOD_NAMES.contains(subDescriptor.getName().asString());
return (isFunctionFromAny && !conf.includeMethodsOfKotlinAny) || !conf.recursiveFilter.apply(subDescriptor);
return (isFunctionFromAny && !conf.includeMethodsOfKotlinAny) || !conf.recursiveFilter.test(subDescriptor);
}
private void appendSubDescriptors(