diff --git a/js/js.translator/src/org/jetbrains/kotlin/js/translate/context/UsageTracker.kt b/js/js.translator/src/org/jetbrains/kotlin/js/translate/context/UsageTracker.kt index 38511972535..383c0b7b620 100644 --- a/js/js.translator/src/org/jetbrains/kotlin/js/translate/context/UsageTracker.kt +++ b/js/js.translator/src/org/jetbrains/kotlin/js/translate/context/UsageTracker.kt @@ -70,7 +70,9 @@ class UsageTracker( val suggestedName = when (this) { is ReceiverParameterDescriptor -> this.getNameForCapturedReceiver() is TypeParameterDescriptor -> Namer.isInstanceSuggestedName(this) - else -> getSuggestedName(this) + + // Append 'closure$' prefix to avoid name clash between closure and member fields in case of local classes + else -> "closure\$${getSuggestedName(this)}" } return scope.declareFreshName(suggestedName)