From b8b2607a026c3402ea97b2a74118311bb6793244 Mon Sep 17 00:00:00 2001 From: Mikhael Bogdanov Date: Fri, 17 May 2019 08:34:03 +0200 Subject: [PATCH] Minor. Clean up code --- .../common/lower/LocalDeclarationsLowering.kt | 38 +++++++++---------- 1 file changed, 19 insertions(+), 19 deletions(-) diff --git a/compiler/ir/backend.common/src/org/jetbrains/kotlin/backend/common/lower/LocalDeclarationsLowering.kt b/compiler/ir/backend.common/src/org/jetbrains/kotlin/backend/common/lower/LocalDeclarationsLowering.kt index 6eac52b0d55..799136e38d8 100644 --- a/compiler/ir/backend.common/src/org/jetbrains/kotlin/backend/common/lower/LocalDeclarationsLowering.kt +++ b/compiler/ir/backend.common/src/org/jetbrains/kotlin/backend/common/lower/LocalDeclarationsLowering.kt @@ -126,7 +126,7 @@ class LocalDeclarationsLowering( } } - private class LocalFunctionContext(override val declaration: IrFunction) : LocalContextWithClosureAsParameters() { + private class LocalFunctionContext(override val declaration: IrSimpleFunction) : LocalContextWithClosureAsParameters() { lateinit var closure: Closure override lateinit var transformedDeclaration: IrSimpleFunction @@ -185,17 +185,17 @@ class LocalDeclarationsLowering( collectLocalDeclarations() if (localFunctions.isEmpty() && localClasses.isEmpty()) return listOf(memberDeclaration) - collectClosures() + collectClosureForLocalDeclarations() transformDeclarations() rewriteDeclarations() - val rewrittenDeclarations = collectRewrittenDeclarations() - rewrittenDeclarations.forEach { - it.patchDeclarationParents(memberDeclaration.parent) + return collectRewrittenDeclarations().apply { + forEach { newDeclaration -> + newDeclaration.patchDeclarationParents(memberDeclaration.parent) + } } - return rewrittenDeclarations } private fun collectRewrittenDeclarations(): ArrayList = @@ -415,7 +415,7 @@ class LocalDeclarationsLowering( assert(constructorsCallingSuper.any()) { "Expected at least one constructor calling super; class: $irClass" } - localClassContext.capturedValueToField.forEach { capturedValue, field -> + localClassContext.capturedValueToField.forEach { (capturedValue, field) -> val startOffset = irClass.startOffset val endOffset = irClass.endOffset irClass.declarations.add(field) @@ -513,7 +513,7 @@ class LocalDeclarationsLowering( ) private fun createLiftedDeclaration(localFunctionContext: LocalFunctionContext) { - val oldDeclaration = localFunctionContext.declaration as IrSimpleFunction + val oldDeclaration = localFunctionContext.declaration val memberOwner = memberDeclaration.parent val newDescriptor = WrappedSimpleFunctionDescriptor(oldDeclaration.descriptor) @@ -574,7 +574,7 @@ class LocalDeclarationsLowering( val p = capturedValue.owner IrValueParameterImpl( p.startOffset, p.endOffset, BOUND_VALUE_PARAMETER, IrValueParameterSymbolImpl(parameterDescriptor), - suggestNameForCapturedValue(p), i, p.type, null, false, false + suggestNameForCapturedValue(p), i, p.type, null, isCrossinline = false, isNoinline = false ).also { parameterDescriptor.bind(it) it.parent = newDeclaration @@ -663,9 +663,9 @@ class LocalDeclarationsLowering( name, fieldType, visibility, - true, - false, - false + isFinal = true, + isExternal = false, + isStatic = false ).also { descriptor.bind(it) it.parent = parent @@ -706,14 +706,14 @@ class LocalDeclarationsLowering( declaration.name - private fun collectClosures() { + private fun collectClosureForLocalDeclarations() { val annotator = ClosureAnnotator(memberDeclaration) - localFunctions.forEach { declaration, context -> + localFunctions.forEach { (declaration, context) -> context.closure = annotator.getFunctionClosure(declaration) } - localClasses.forEach { declaration, context -> + localClasses.forEach { (declaration, context) -> context.closure = annotator.getClassClosure(declaration) } } @@ -725,8 +725,8 @@ class LocalDeclarationsLowering( element.acceptChildrenVoid(this) } - override fun visitFunction(declaration: IrFunction) { - declaration.acceptChildrenVoid(this) + override fun visitSimpleFunction(declaration: IrSimpleFunction) { + super.visitSimpleFunction(declaration) if (declaration.visibility == Visibilities.LOCAL) { val localFunctionContext = LocalFunctionContext(declaration) @@ -740,7 +740,7 @@ class LocalDeclarationsLowering( } override fun visitConstructor(declaration: IrConstructor) { - declaration.acceptChildrenVoid(this) + super.visitConstructor(declaration) assert(declaration.visibility != Visibilities.LOCAL) @@ -750,7 +750,7 @@ class LocalDeclarationsLowering( } override fun visitClass(declaration: IrClass) { - declaration.acceptChildrenVoid(this) + super.visitClass(declaration) if (declaration.isInner) return