From 0ce1c5699947bb25cb561ee2241e3975ba34cfbc Mon Sep 17 00:00:00 2001 From: Evgeny Gerashchenko Date: Wed, 26 Dec 2012 21:25:45 +0400 Subject: [PATCH] Got rid of regexp check for java.lang.Object methods. --- .../jet/test/util/NamespaceComparator.java | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/compiler/tests/org/jetbrains/jet/test/util/NamespaceComparator.java b/compiler/tests/org/jetbrains/jet/test/util/NamespaceComparator.java index f4cad2923e7..f18640626ff 100644 --- a/compiler/tests/org/jetbrains/jet/test/util/NamespaceComparator.java +++ b/compiler/tests/org/jetbrains/jet/test/util/NamespaceComparator.java @@ -18,6 +18,7 @@ package org.jetbrains.jet.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 com.intellij.openapi.util.io.FileUtil; import com.intellij.util.containers.ContainerUtil; @@ -53,6 +54,9 @@ public class NamespaceComparator { .setExcludedAnnotationClasses(Arrays.asList(new FqName(ExpectedLoadErrorsUtil.ANNOTATION_CLASS_NAME))) .setVerbose(true).build(); + private static final ImmutableSet JAVA_OBJECT_METHOD_NAMES = ImmutableSet.of( + "equals", "hashCode", "finalize", "wait", "notify", "notifyAll", "toString", "clone", "getClass"); + private final Configuration conf; private NamespaceComparator(@NotNull Configuration conf) { @@ -105,15 +109,15 @@ public class NamespaceComparator { Collections.sort(subDescriptors, MemberComparator.INSTANCE); for (DeclarationDescriptor subDescriptor : subDescriptors) { - if (!conf.includeMethodsOfJavaObject) { - // TODO regexp check? oh dear - if (subDescriptor.getName().getName().matches("equals|hashCode|finalize|wait|notify(All)?|toString|clone|getClass")) { - continue; - } + if (!conf.includeMethodsOfJavaObject && subDescriptor instanceof FunctionDescriptor + && JAVA_OBJECT_METHOD_NAMES.contains(subDescriptor.getName().getName())) { + continue; } + if (subDescriptor instanceof NamespaceDescriptor && !conf.recurseIntoPackage.apply(DescriptorUtils.getFQName(subDescriptor))) { continue; } + appendDeclarationRecursively(subDescriptor, printer, false); }