Use java.util.function.Predicate instead of Guava
This commit is contained in:
@@ -16,8 +16,6 @@
|
||||
|
||||
package org.jetbrains.kotlin.checkers;
|
||||
|
||||
import com.google.common.base.Predicate;
|
||||
import com.google.common.collect.Collections2;
|
||||
import com.google.common.collect.LinkedListMultimap;
|
||||
import com.google.common.collect.Lists;
|
||||
import com.intellij.openapi.util.TextRange;
|
||||
@@ -415,19 +413,14 @@ public class CheckerTestUtil {
|
||||
}
|
||||
|
||||
public static StringBuffer addDiagnosticMarkersToText(
|
||||
@NotNull final PsiFile psiFile,
|
||||
@NotNull PsiFile psiFile,
|
||||
@NotNull Collection<ActualDiagnostic> diagnostics,
|
||||
@NotNull Map<ActualDiagnostic, TextDiagnostic> diagnosticToExpectedDiagnostic,
|
||||
@NotNull Function<PsiFile, String> getFileText
|
||||
) {
|
||||
String text = getFileText.fun(psiFile);
|
||||
StringBuffer result = new StringBuffer();
|
||||
diagnostics = Collections2.filter(diagnostics, new Predicate<ActualDiagnostic>() {
|
||||
@Override
|
||||
public boolean apply(ActualDiagnostic actualDiagnostic) {
|
||||
return psiFile.equals(actualDiagnostic.getFile());
|
||||
}
|
||||
});
|
||||
diagnostics = CollectionsKt.filter(diagnostics, actualDiagnostic -> psiFile.equals(actualDiagnostic.getFile()));
|
||||
if (!diagnostics.isEmpty()) {
|
||||
List<DiagnosticDescriptor> diagnosticDescriptors = getSortedDiagnosticDescriptors(diagnostics);
|
||||
|
||||
|
||||
+2
-4
@@ -16,8 +16,6 @@
|
||||
|
||||
package org.jetbrains.kotlin.diagnostics.rendering;
|
||||
|
||||
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.jetbrains.kotlin.types.KotlinType;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Iterator;
|
||||
import java.util.List;
|
||||
import java.util.function.Predicate;
|
||||
|
||||
public class TabledDescriptorRenderer {
|
||||
public interface TableOrTextRenderer {}
|
||||
@@ -68,8 +67,7 @@ public class TabledDescriptorRenderer {
|
||||
}
|
||||
|
||||
public TableRenderer functionArgumentTypeList(@Nullable KotlinType receiverType, @NotNull List<KotlinType> argumentTypes) {
|
||||
|
||||
return functionArgumentTypeList(receiverType, argumentTypes, Predicates.<ConstraintPosition>alwaysFalse());
|
||||
return functionArgumentTypeList(receiverType, argumentTypes, position -> false);
|
||||
}
|
||||
|
||||
public TableRenderer functionArgumentTypeList(@Nullable KotlinType receiverType,
|
||||
|
||||
@@ -16,7 +16,6 @@
|
||||
|
||||
package org.jetbrains.kotlin.psi;
|
||||
|
||||
import com.google.common.base.Predicate;
|
||||
import com.google.common.collect.Lists;
|
||||
import com.intellij.lang.ASTNode;
|
||||
import com.intellij.psi.PsiComment;
|
||||
@@ -47,6 +46,7 @@ import java.util.Collection;
|
||||
import java.util.HashSet;
|
||||
import java.util.List;
|
||||
import java.util.Set;
|
||||
import java.util.function.Predicate;
|
||||
|
||||
public class KtPsiUtil {
|
||||
private KtPsiUtil() {
|
||||
@@ -587,13 +587,6 @@ public class KtPsiUtil {
|
||||
return null;
|
||||
}
|
||||
|
||||
public static final Predicate<KtElement> ANY_JET_ELEMENT = new Predicate<KtElement>() {
|
||||
@Override
|
||||
public boolean apply(@Nullable KtElement input) {
|
||||
return true;
|
||||
}
|
||||
};
|
||||
|
||||
@NotNull
|
||||
public static String getText(@Nullable PsiElement element) {
|
||||
return element != null ? element.getText() : "";
|
||||
@@ -644,17 +637,17 @@ public class KtPsiUtil {
|
||||
public static KtElement getOutermostDescendantElement(
|
||||
@Nullable PsiElement root,
|
||||
boolean first,
|
||||
final @NotNull Predicate<KtElement> predicate
|
||||
@NotNull Predicate<KtElement> predicate
|
||||
) {
|
||||
if (!(root instanceof KtElement)) return null;
|
||||
|
||||
final List<KtElement> results = Lists.newArrayList();
|
||||
List<KtElement> results = Lists.newArrayList();
|
||||
|
||||
root.accept(
|
||||
new KtVisitorVoid() {
|
||||
@Override
|
||||
public void visitKtElement(@NotNull KtElement element) {
|
||||
if (predicate.apply(element)) {
|
||||
if (predicate.test(element)) {
|
||||
//noinspection unchecked
|
||||
results.add(element);
|
||||
}
|
||||
@@ -680,7 +673,7 @@ public class KtPsiUtil {
|
||||
public static PsiElement skipSiblingsBackwardByPredicate(@Nullable PsiElement element, Predicate<PsiElement> elementsToSkip) {
|
||||
if (element == null) return null;
|
||||
for (PsiElement e = element.getPrevSibling(); e != null; e = e.getPrevSibling()) {
|
||||
if (elementsToSkip.apply(e)) continue;
|
||||
if (elementsToSkip.test(e)) continue;
|
||||
return e;
|
||||
}
|
||||
return null;
|
||||
|
||||
@@ -16,8 +16,6 @@
|
||||
|
||||
package org.jetbrains.kotlin.resolve.lazy;
|
||||
|
||||
import com.google.common.base.Predicate;
|
||||
import com.google.common.base.Predicates;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
import org.jetbrains.kotlin.descriptors.ClassDescriptor;
|
||||
@@ -25,7 +23,10 @@ import org.jetbrains.kotlin.descriptors.ClassifierDescriptor;
|
||||
import org.jetbrains.kotlin.descriptors.ModuleDescriptor;
|
||||
import org.jetbrains.kotlin.descriptors.PackageViewDescriptor;
|
||||
import org.jetbrains.kotlin.incremental.components.NoLookupLocation;
|
||||
import org.jetbrains.kotlin.name.*;
|
||||
import org.jetbrains.kotlin.name.FqName;
|
||||
import org.jetbrains.kotlin.name.FqNamesUtilKt;
|
||||
import org.jetbrains.kotlin.name.Name;
|
||||
import org.jetbrains.kotlin.name.SpecialNames;
|
||||
import org.jetbrains.kotlin.psi.KtNamedDeclaration;
|
||||
import org.jetbrains.kotlin.psi.KtNamedDeclarationUtil;
|
||||
import org.jetbrains.kotlin.resolve.scopes.MemberScope;
|
||||
@@ -33,6 +34,7 @@ import org.jetbrains.kotlin.resolve.scopes.MemberScope;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collection;
|
||||
import java.util.Collections;
|
||||
import java.util.function.Predicate;
|
||||
|
||||
public class ResolveSessionUtils {
|
||||
|
||||
@@ -41,11 +43,11 @@ public class ResolveSessionUtils {
|
||||
|
||||
@NotNull
|
||||
public static Collection<ClassDescriptor> getClassDescriptorsByFqName(@NotNull ModuleDescriptor module, @NotNull FqName fqName) {
|
||||
return getClassOrObjectDescriptorsByFqName(module, fqName, Predicates.<ClassDescriptor>alwaysTrue());
|
||||
return getClassOrObjectDescriptorsByFqName(module, fqName, descriptor -> true);
|
||||
}
|
||||
|
||||
@NotNull
|
||||
public static Collection<ClassDescriptor> getClassOrObjectDescriptorsByFqName(
|
||||
private static Collection<ClassDescriptor> getClassOrObjectDescriptorsByFqName(
|
||||
@NotNull ModuleDescriptor module,
|
||||
@NotNull FqName fqName,
|
||||
@NotNull Predicate<ClassDescriptor> filter
|
||||
@@ -60,7 +62,7 @@ public class ResolveSessionUtils {
|
||||
if (!packageDescriptor.isEmpty()) {
|
||||
FqName relativeClassFqName = FqNamesUtilKt.tail(fqName, packageFqName);
|
||||
ClassDescriptor classDescriptor = findClassByRelativePath(packageDescriptor.getMemberScope(), relativeClassFqName);
|
||||
if (classDescriptor != null && filter.apply(classDescriptor)) {
|
||||
if (classDescriptor != null && filter.test(classDescriptor)) {
|
||||
result.add(classDescriptor);
|
||||
}
|
||||
}
|
||||
|
||||
+4
-10
@@ -16,11 +16,10 @@
|
||||
|
||||
package org.jetbrains.kotlin.resolve.lazy.declarations;
|
||||
|
||||
import com.google.common.base.Predicate;
|
||||
import com.google.common.collect.Collections2;
|
||||
import com.google.common.collect.LinkedHashMultimap;
|
||||
import com.google.common.collect.Multimap;
|
||||
import com.google.common.collect.Sets;
|
||||
import kotlin.collections.CollectionsKt;
|
||||
import kotlin.jvm.functions.Function0;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
@@ -72,17 +71,12 @@ public class FileBasedDeclarationProviderFactory extends AbstractDeclarationProv
|
||||
}
|
||||
}
|
||||
|
||||
/*package*/ boolean isPackageDeclaredExplicitly(@NotNull FqName packageFqName) {
|
||||
private boolean isPackageDeclaredExplicitly(@NotNull FqName packageFqName) {
|
||||
return index.invoke().declaredPackages.contains(packageFqName);
|
||||
}
|
||||
|
||||
/*package*/ Collection<FqName> getAllDeclaredSubPackagesOf(@NotNull final FqName parent) {
|
||||
return Collections2.filter(index.invoke().declaredPackages, new Predicate<FqName>() {
|
||||
@Override
|
||||
public boolean apply(FqName fqName) {
|
||||
return !fqName.isRoot() && fqName.parent().equals(parent);
|
||||
}
|
||||
});
|
||||
/*package*/ Collection<FqName> getAllDeclaredSubPackagesOf(@NotNull FqName parent) {
|
||||
return CollectionsKt.filter(index.invoke().declaredPackages, fqName -> !fqName.isRoot() && fqName.parent().equals(parent));
|
||||
}
|
||||
|
||||
@Nullable
|
||||
|
||||
+5
-10
@@ -16,9 +16,6 @@
|
||||
|
||||
package org.jetbrains.kotlin.resolve.lazy.descriptors;
|
||||
|
||||
import com.google.common.base.Predicate;
|
||||
import com.google.common.collect.Collections2;
|
||||
import com.google.common.collect.Lists;
|
||||
import com.intellij.psi.PsiElement;
|
||||
import com.intellij.psi.PsiNameIdentifierOwner;
|
||||
import kotlin.collections.CollectionsKt;
|
||||
@@ -73,13 +70,11 @@ import static org.jetbrains.kotlin.resolve.BindingContext.TYPE;
|
||||
import static org.jetbrains.kotlin.resolve.ModifiersChecker.*;
|
||||
|
||||
public class LazyClassDescriptor extends ClassDescriptorBase implements ClassDescriptorWithResolutionScopes, LazyEntity {
|
||||
private static final Predicate<KotlinType> VALID_SUPERTYPE = new Predicate<KotlinType>() {
|
||||
@Override
|
||||
public boolean apply(KotlinType type) {
|
||||
assert !type.isError() : "Error types must be filtered out in DescriptorResolver";
|
||||
return TypeUtils.getClassDescriptor(type) != null;
|
||||
}
|
||||
private static final Function1<KotlinType, Boolean> VALID_SUPERTYPE = type -> {
|
||||
assert !type.isError() : "Error types must be filtered out in DescriptorResolver";
|
||||
return TypeUtils.getClassDescriptor(type) != null;
|
||||
};
|
||||
|
||||
private final LazyClassContext c;
|
||||
|
||||
@Nullable // can be null in KtScript
|
||||
@@ -735,6 +730,6 @@ public class LazyClassDescriptor extends ClassDescriptorBase implements ClassDes
|
||||
.resolveSupertypes(getScopeForClassHeaderResolution(), this, classOrObject,
|
||||
c.getTrace());
|
||||
|
||||
return Lists.newArrayList(Collections2.filter(allSupertypes, VALID_SUPERTYPE));
|
||||
return new ArrayList<>(CollectionsKt.filter(allSupertypes, VALID_SUPERTYPE));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -16,15 +16,14 @@
|
||||
|
||||
package org.jetbrains.kotlin.types
|
||||
|
||||
import com.google.common.base.Predicates
|
||||
import com.google.common.collect.Maps
|
||||
import org.jetbrains.kotlin.platform.PlatformToKotlinClassMap
|
||||
import org.jetbrains.kotlin.builtins.KotlinBuiltIns
|
||||
import org.jetbrains.kotlin.descriptors.ClassDescriptor
|
||||
import org.jetbrains.kotlin.descriptors.ClassKind
|
||||
import org.jetbrains.kotlin.platform.PlatformToKotlinClassMap
|
||||
import org.jetbrains.kotlin.resolve.DescriptorUtils
|
||||
import org.jetbrains.kotlin.types.checker.KotlinTypeChecker
|
||||
import org.jetbrains.kotlin.types.checker.TypeCheckingProcedure
|
||||
import org.jetbrains.kotlin.builtins.KotlinBuiltIns
|
||||
import org.jetbrains.kotlin.resolve.DescriptorUtils
|
||||
|
||||
object CastDiagnosticsUtil {
|
||||
|
||||
@@ -150,8 +149,8 @@ object CastDiagnosticsUtil {
|
||||
if (supertypeWithVariables != null) {
|
||||
// Now, let's try to unify Collection<T> and Collection<Foo> solution is a map from T to Foo
|
||||
val solution = TypeUnifier.unify(
|
||||
TypeProjectionImpl(supertype), TypeProjectionImpl(supertypeWithVariables),
|
||||
Predicates.`in`(variableConstructors))
|
||||
TypeProjectionImpl(supertype), TypeProjectionImpl(supertypeWithVariables), variableConstructors::contains
|
||||
)
|
||||
substitution = Maps.newHashMap(solution.substitution)
|
||||
}
|
||||
else {
|
||||
|
||||
@@ -16,7 +16,6 @@
|
||||
|
||||
package org.jetbrains.kotlin.types;
|
||||
|
||||
import com.google.common.base.Predicate;
|
||||
import com.google.common.collect.Maps;
|
||||
import com.google.common.collect.Sets;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
@@ -24,6 +23,7 @@ import org.jetbrains.annotations.NotNull;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Set;
|
||||
import java.util.function.Predicate;
|
||||
|
||||
public class TypeUnifier {
|
||||
|
||||
@@ -100,7 +100,7 @@ public class TypeUnifier {
|
||||
|
||||
// Foo ~ X => x |-> Foo
|
||||
TypeConstructor maybeVariable = withVariables.getConstructor();
|
||||
if (isVariable.apply(maybeVariable)) {
|
||||
if (isVariable.test(maybeVariable)) {
|
||||
result.put(maybeVariable, new TypeProjectionImpl(knownProjectionKind, known));
|
||||
return;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user