diff --git a/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/classes/SymbolLightClassForClassLike.kt b/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/classes/SymbolLightClassForClassLike.kt index 818dfe677fc..16b131ea8df 100644 --- a/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/classes/SymbolLightClassForClassLike.kt +++ b/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/classes/SymbolLightClassForClassLike.kt @@ -160,15 +160,11 @@ abstract class SymbolLightClassForClassLike prote override fun equals(other: Any?): Boolean { if (this === other) return true if (other !is SymbolLightClassForClassLike<*> || other.ktModule != ktModule || other.manager != manager) return false - if (classOrObjectDeclaration != null) { + if (classOrObjectDeclaration != null || other.classOrObjectDeclaration != null) { return other.classOrObjectDeclaration == classOrObjectDeclaration } - return other.classOrObjectDeclaration == null && compareSymbolPointers( - ktModule, - classOrObjectSymbolPointer, - other.classOrObjectSymbolPointer, - ) + return compareSymbolPointers(ktModule, classOrObjectSymbolPointer, other.classOrObjectSymbolPointer) } override fun hashCode(): Int = classOrObjectDeclaration.hashCode() diff --git a/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/fields/SymbolLightFieldForObject.kt b/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/fields/SymbolLightFieldForObject.kt index 5752aa26641..d1b9e7ed27b 100644 --- a/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/fields/SymbolLightFieldForObject.kt +++ b/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/fields/SymbolLightFieldForObject.kt @@ -87,12 +87,11 @@ internal class SymbolLightFieldForObject private constructor( override fun equals(other: Any?): Boolean { if (this === other) return true if (other !is SymbolLightFieldForObject || other.ktModule != ktModule) return false - if (kotlinOrigin != null) { + if (kotlinOrigin != null || other.kotlinOrigin != null) { return other.kotlinOrigin == kotlinOrigin } - return other.kotlinOrigin == null && - other.containingClass == containingClass && + return other.containingClass == containingClass && compareSymbolPointers(ktModule, other.objectSymbolPointer, objectSymbolPointer) } diff --git a/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/fields/SymbolLightFieldForProperty.kt b/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/fields/SymbolLightFieldForProperty.kt index f8873cbdfce..228831649c2 100644 --- a/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/fields/SymbolLightFieldForProperty.kt +++ b/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/fields/SymbolLightFieldForProperty.kt @@ -170,12 +170,11 @@ internal class SymbolLightFieldForProperty private constructor( override fun equals(other: Any?): Boolean { if (this === other) return true if (other !is SymbolLightFieldForProperty || other.ktModule != ktModule || other.fieldName != fieldName) return false - if (kotlinOrigin != null) { + if (kotlinOrigin != null || other.kotlinOrigin != null) { return kotlinOrigin == other.kotlinOrigin } - return other.kotlinOrigin == null && - containingClass == other.containingClass && + return containingClass == other.containingClass && compareSymbolPointers(ktModule, propertySymbolPointer, other.propertySymbolPointer) } diff --git a/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/methods/SymbolLightMethod.kt b/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/methods/SymbolLightMethod.kt index 7ce122147b4..a840b4c84a7 100644 --- a/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/methods/SymbolLightMethod.kt +++ b/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/methods/SymbolLightMethod.kt @@ -132,12 +132,11 @@ internal abstract class SymbolLightMethod private other.argumentsSkipMask != argumentsSkipMask ) return false - if (functionDeclaration != null) { + if (functionDeclaration != null || other.functionDeclaration != null) { return functionDeclaration == other.functionDeclaration } - return other.functionDeclaration == null && - containingClass == other.containingClass && + return containingClass == other.containingClass && compareSymbolPointers(ktModule, functionSymbolPointer, other.functionSymbolPointer) } diff --git a/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/parameters/SymbolLightParameterCommon.kt b/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/parameters/SymbolLightParameterCommon.kt index ceacc68ff3a..a50e73ca2b9 100644 --- a/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/parameters/SymbolLightParameterCommon.kt +++ b/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/parameters/SymbolLightParameterCommon.kt @@ -92,11 +92,11 @@ internal abstract class SymbolLightParameterCommon( if (this === other) return true if (other !is SymbolLightParameterCommon || other.ktModule != ktModule) return false - if (parameterDeclaration != null) { + if (parameterDeclaration != null || other.parameterDeclaration != null) { return parameterDeclaration == other.parameterDeclaration } - return other.parameterDeclaration == null && compareSymbolPointers(ktModule, parameterSymbolPointer, other.parameterSymbolPointer) + return compareSymbolPointers(ktModule, parameterSymbolPointer, other.parameterSymbolPointer) } override fun hashCode(): Int = parameterDeclaration?.hashCode() ?: _name.hashCode() diff --git a/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/parameters/SymbolLightTypeParameter.kt b/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/parameters/SymbolLightTypeParameter.kt index 86e78df56b4..255dd7feda3 100644 --- a/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/parameters/SymbolLightTypeParameter.kt +++ b/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/parameters/SymbolLightTypeParameter.kt @@ -176,12 +176,11 @@ internal class SymbolLightTypeParameter private constructor( override fun equals(other: Any?): Boolean { if (this === other) return true if (other !is SymbolLightTypeParameter || other.ktModule != ktModule || other.index != index) return false - if (typeParameterDeclaration != null) { + if (typeParameterDeclaration != null || other.typeParameterDeclaration != null) { return other.typeParameterDeclaration == typeParameterDeclaration } - return other.typeParameterDeclaration == null && - other.kotlinOrigin == kotlinOrigin && + return other.kotlinOrigin == kotlinOrigin && compareSymbolPointers(ktModule, typeParameterSymbolPointer, other.typeParameterSymbolPointer) && other.parent == parent } diff --git a/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/parameters/SymbolLightTypeParameterList.kt b/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/parameters/SymbolLightTypeParameterList.kt index 1548827fa6f..44ead1fdba8 100644 --- a/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/parameters/SymbolLightTypeParameterList.kt +++ b/analysis/symbol-light-classes/src/org/jetbrains/kotlin/light/classes/symbol/parameters/SymbolLightTypeParameterList.kt @@ -61,13 +61,11 @@ internal class SymbolLightTypeParameterList( override fun equals(other: Any?): Boolean { if (this === other) return true if (other !is SymbolLightTypeParameterList || other.ktModule != ktModule) return false - if (ktDeclaration != null) { + if (ktDeclaration != null || other.ktDeclaration != null) { return other.ktDeclaration == ktDeclaration } - return other.ktDeclaration == null && - compareSymbolPointers(ktModule, symbolWithTypeParameterPointer, other.symbolWithTypeParameterPointer) && - other.owner == owner + return other.owner == owner && compareSymbolPointers(ktModule, symbolWithTypeParameterPointer, other.symbolWithTypeParameterPointer) } override fun hashCode(): Int = ktDeclaration.hashCode() + 1