JS backend: minor improve in NamePredicate: replace list with set
This commit is contained in:
+4
-10
@@ -18,6 +18,7 @@ package org.jetbrains.k2js.translate.intrinsic.functions.patterns;
|
|||||||
|
|
||||||
import com.google.common.base.Predicate;
|
import com.google.common.base.Predicate;
|
||||||
import com.google.common.collect.Lists;
|
import com.google.common.collect.Lists;
|
||||||
|
import com.google.common.collect.Sets;
|
||||||
import com.intellij.util.Function;
|
import com.intellij.util.Function;
|
||||||
import com.intellij.util.containers.ContainerUtil;
|
import com.intellij.util.containers.ContainerUtil;
|
||||||
import org.jetbrains.annotations.NotNull;
|
import org.jetbrains.annotations.NotNull;
|
||||||
@@ -28,6 +29,7 @@ import org.jetbrains.jet.lang.types.lang.PrimitiveType;
|
|||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
import java.util.Collection;
|
import java.util.Collection;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.Set;
|
||||||
|
|
||||||
public final class NamePredicate implements Predicate<Name> {
|
public final class NamePredicate implements Predicate<Name> {
|
||||||
|
|
||||||
@@ -44,7 +46,7 @@ public final class NamePredicate implements Predicate<Name> {
|
|||||||
public static final NamePredicate STRING = new NamePredicate("String");
|
public static final NamePredicate STRING = new NamePredicate("String");
|
||||||
|
|
||||||
@NotNull
|
@NotNull
|
||||||
private final List<Name> validNames = Lists.newArrayList();
|
private final Set<Name> validNames = Sets.newHashSet();
|
||||||
|
|
||||||
public NamePredicate(@NotNull String... validNames) {
|
public NamePredicate(@NotNull String... validNames) {
|
||||||
this(Arrays.asList(validNames));
|
this(Arrays.asList(validNames));
|
||||||
@@ -66,14 +68,6 @@ public final class NamePredicate implements Predicate<Name> {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean apply(@Nullable Name name) {
|
public boolean apply(@Nullable Name name) {
|
||||||
if (name == null) {
|
return name != null && validNames.contains(name);
|
||||||
return false;
|
|
||||||
}
|
|
||||||
for (Name validName : validNames) {
|
|
||||||
if (name.equals(validName)) {
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return false;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user