From 187bf8abfe82e70e93b3705c2b2ec1a2fa82e796 Mon Sep 17 00:00:00 2001 From: Andrey Breslav Date: Thu, 2 May 2013 10:14:06 +0200 Subject: [PATCH] Avoid calling getClass() in equals(). It disturbs profiling --- .../org/jetbrains/jet/lang/resolve/name/FqName.java | 4 ++-- .../jetbrains/jet/lang/resolve/name/FqNameUnsafe.java | 10 ++++------ 2 files changed, 6 insertions(+), 8 deletions(-) diff --git a/compiler/frontend/src/org/jetbrains/jet/lang/resolve/name/FqName.java b/compiler/frontend/src/org/jetbrains/jet/lang/resolve/name/FqName.java index a6cfecb855f..bf351a1ba77 100644 --- a/compiler/frontend/src/org/jetbrains/jet/lang/resolve/name/FqName.java +++ b/compiler/frontend/src/org/jetbrains/jet/lang/resolve/name/FqName.java @@ -22,7 +22,7 @@ import org.jetbrains.annotations.NotNull; import java.util.List; -public class FqName extends FqNameBase { +public final class FqName extends FqNameBase { @NotNull public static FqName fromSegments(@NotNull List names) { @@ -156,7 +156,7 @@ public class FqName extends FqNameBase { @Override public boolean equals(Object o) { if (this == o) return true; - if (o == null || getClass() != o.getClass()) return false; + if (!(o instanceof FqName)) return false; FqName otherFqName = (FqName) o; diff --git a/compiler/frontend/src/org/jetbrains/jet/lang/resolve/name/FqNameUnsafe.java b/compiler/frontend/src/org/jetbrains/jet/lang/resolve/name/FqNameUnsafe.java index 393853017ef..4f5a21a2408 100644 --- a/compiler/frontend/src/org/jetbrains/jet/lang/resolve/name/FqNameUnsafe.java +++ b/compiler/frontend/src/org/jetbrains/jet/lang/resolve/name/FqNameUnsafe.java @@ -25,7 +25,7 @@ import java.util.List; /** * Like {@link FqName} but allows '<' and '>' characters in name. */ -public class FqNameUnsafe extends FqNameBase { +public final class FqNameUnsafe extends FqNameBase { public static final Name ROOT_NAME = Name.special(""); @@ -265,20 +265,18 @@ public class FqNameUnsafe extends FqNameBase { @Override public boolean equals(Object o) { - // generated by Idea if (this == o) return true; - if (o == null || getClass() != o.getClass()) return false; + if (!(o instanceof FqNameUnsafe)) return false; FqNameUnsafe that = (FqNameUnsafe) o; - if (fqName != null ? !fqName.equals(that.fqName) : that.fqName != null) return false; + if (!fqName.equals(that.fqName)) return false; return true; } @Override public int hashCode() { - // generated by Idea - return fqName != null ? fqName.hashCode() : 0; + return fqName.hashCode(); } }