JS backend: minor improve in NamePredicate: replace list with set

This commit is contained in:
Michael Nedzelsky
2014-09-18 18:56:22 +04:00
parent a48fbacbd9
commit 32f391aa51
@@ -18,6 +18,7 @@ package org.jetbrains.k2js.translate.intrinsic.functions.patterns;
import com.google.common.base.Predicate;
import com.google.common.collect.Lists;
import com.google.common.collect.Sets;
import com.intellij.util.Function;
import com.intellij.util.containers.ContainerUtil;
import org.jetbrains.annotations.NotNull;
@@ -28,6 +29,7 @@ import org.jetbrains.jet.lang.types.lang.PrimitiveType;
import java.util.Arrays;
import java.util.Collection;
import java.util.List;
import java.util.Set;
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");
@NotNull
private final List<Name> validNames = Lists.newArrayList();
private final Set<Name> validNames = Sets.newHashSet();
public NamePredicate(@NotNull String... validNames) {
this(Arrays.asList(validNames));
@@ -66,14 +68,6 @@ public final class NamePredicate implements Predicate<Name> {
@Override
public boolean apply(@Nullable Name name) {
if (name == null) {
return false;
}
for (Name validName : validNames) {
if (name.equals(validName)) {
return true;
}
}
return false;
return name != null && validNames.contains(name);
}
}