diff --git a/compiler/frontend/src/org/jetbrains/kotlin/resolve/checkers/ExperimentalMarkerDeclarationAnnotationChecker.kt b/compiler/frontend/src/org/jetbrains/kotlin/resolve/checkers/ExperimentalMarkerDeclarationAnnotationChecker.kt index 4dd6766a943..ddc506caa73 100644 --- a/compiler/frontend/src/org/jetbrains/kotlin/resolve/checkers/ExperimentalMarkerDeclarationAnnotationChecker.kt +++ b/compiler/frontend/src/org/jetbrains/kotlin/resolve/checkers/ExperimentalMarkerDeclarationAnnotationChecker.kt @@ -95,8 +95,7 @@ class ExperimentalMarkerDeclarationAnnotationChecker(private val module: ModuleD experimentalFqName: FqName, visited: MutableSet = mutableSetOf() ): Boolean { - if (this in visited) return false - visited += this + if (!visited.add(this)) return false for (overridden in overriddenDescriptors) { if (overridden.annotations.any { it.fqName == experimentalFqName }) { return true diff --git a/compiler/frontend/src/org/jetbrains/kotlin/resolve/checkers/ExperimentalUsageChecker.kt b/compiler/frontend/src/org/jetbrains/kotlin/resolve/checkers/ExperimentalUsageChecker.kt index 3d60f904c96..e6cf338644b 100644 --- a/compiler/frontend/src/org/jetbrains/kotlin/resolve/checkers/ExperimentalUsageChecker.kt +++ b/compiler/frontend/src/org/jetbrains/kotlin/resolve/checkers/ExperimentalUsageChecker.kt @@ -175,8 +175,7 @@ class ExperimentalUsageChecker(project: Project) : CallChecker { languageVersionSettings: LanguageVersionSettings, visited: MutableSet = mutableSetOf() ): Set { - if (this in visited) return emptySet() - visited += this + if (!visited.add(this)) return emptySet() val result = SmartSet.create() if (this is CallableMemberDescriptor && kind == CallableMemberDescriptor.Kind.FAKE_OVERRIDE) { for (overridden in overriddenDescriptors) {