From 625907e49d3a9f36e1f76011b8c66644bc0691f0 Mon Sep 17 00:00:00 2001 From: Nikolay Krasko Date: Wed, 28 Oct 2015 15:30:23 +0300 Subject: [PATCH] Refactoring: move check for Any member into builtins --- .../org/jetbrains/kotlin/builtins/KotlinBuiltIns.java | 4 ++++ .../generate/KotlinGenerateEqualsAndHashcodeAction.kt | 9 +++++---- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/core/descriptors/src/org/jetbrains/kotlin/builtins/KotlinBuiltIns.java b/core/descriptors/src/org/jetbrains/kotlin/builtins/KotlinBuiltIns.java index 7d10919dd54..dd862c48a69 100644 --- a/core/descriptors/src/org/jetbrains/kotlin/builtins/KotlinBuiltIns.java +++ b/core/descriptors/src/org/jetbrains/kotlin/builtins/KotlinBuiltIns.java @@ -986,6 +986,10 @@ public abstract class KotlinBuiltIns { return KotlinTypeChecker.DEFAULT.isSubtypeOf(type, getBooleanType()); } + public boolean isMemberOfAny(@NotNull DeclarationDescriptor descriptor) { + return descriptor.getContainingDeclaration() == getAny(); + } + public static boolean isString(@Nullable KotlinType type) { return type != null && isNotNullConstructedFromGivenClass(type, FQ_NAMES.string); } diff --git a/idea/src/org/jetbrains/kotlin/idea/actions/generate/KotlinGenerateEqualsAndHashcodeAction.kt b/idea/src/org/jetbrains/kotlin/idea/actions/generate/KotlinGenerateEqualsAndHashcodeAction.kt index 110719ceb30..495d4a55d9d 100644 --- a/idea/src/org/jetbrains/kotlin/idea/actions/generate/KotlinGenerateEqualsAndHashcodeAction.kt +++ b/idea/src/org/jetbrains/kotlin/idea/actions/generate/KotlinGenerateEqualsAndHashcodeAction.kt @@ -169,8 +169,6 @@ class KotlinGenerateEqualsAndHashcodeAction : KotlinGenerateMemberActionBase "super.hashCode()" + !builtins.isMemberOfAny(superHashCode) -> "super.hashCode()" propertyIterator.hasNext() -> propertyIterator.next().genVariableHashCode(false) else -> "0" }