Minor. Clean up code

This commit is contained in:
Mikhael Bogdanov
2019-05-17 08:34:03 +02:00
parent f044d654f0
commit b8b2607a02
@@ -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 lateinit var closure: Closure
override lateinit var transformedDeclaration: IrSimpleFunction override lateinit var transformedDeclaration: IrSimpleFunction
@@ -185,17 +185,17 @@ class LocalDeclarationsLowering(
collectLocalDeclarations() collectLocalDeclarations()
if (localFunctions.isEmpty() && localClasses.isEmpty()) return listOf(memberDeclaration) if (localFunctions.isEmpty() && localClasses.isEmpty()) return listOf(memberDeclaration)
collectClosures() collectClosureForLocalDeclarations()
transformDeclarations() transformDeclarations()
rewriteDeclarations() rewriteDeclarations()
val rewrittenDeclarations = collectRewrittenDeclarations() return collectRewrittenDeclarations().apply {
rewrittenDeclarations.forEach { forEach { newDeclaration ->
it.patchDeclarationParents(memberDeclaration.parent) newDeclaration.patchDeclarationParents(memberDeclaration.parent)
}
} }
return rewrittenDeclarations
} }
private fun collectRewrittenDeclarations(): ArrayList<IrDeclaration> = private fun collectRewrittenDeclarations(): ArrayList<IrDeclaration> =
@@ -415,7 +415,7 @@ class LocalDeclarationsLowering(
assert(constructorsCallingSuper.any()) { "Expected at least one constructor calling super; class: $irClass" } 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 startOffset = irClass.startOffset
val endOffset = irClass.endOffset val endOffset = irClass.endOffset
irClass.declarations.add(field) irClass.declarations.add(field)
@@ -513,7 +513,7 @@ class LocalDeclarationsLowering(
) )
private fun createLiftedDeclaration(localFunctionContext: LocalFunctionContext) { private fun createLiftedDeclaration(localFunctionContext: LocalFunctionContext) {
val oldDeclaration = localFunctionContext.declaration as IrSimpleFunction val oldDeclaration = localFunctionContext.declaration
val memberOwner = memberDeclaration.parent val memberOwner = memberDeclaration.parent
val newDescriptor = WrappedSimpleFunctionDescriptor(oldDeclaration.descriptor) val newDescriptor = WrappedSimpleFunctionDescriptor(oldDeclaration.descriptor)
@@ -574,7 +574,7 @@ class LocalDeclarationsLowering(
val p = capturedValue.owner val p = capturedValue.owner
IrValueParameterImpl( IrValueParameterImpl(
p.startOffset, p.endOffset, BOUND_VALUE_PARAMETER, IrValueParameterSymbolImpl(parameterDescriptor), 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 { ).also {
parameterDescriptor.bind(it) parameterDescriptor.bind(it)
it.parent = newDeclaration it.parent = newDeclaration
@@ -663,9 +663,9 @@ class LocalDeclarationsLowering(
name, name,
fieldType, fieldType,
visibility, visibility,
true, isFinal = true,
false, isExternal = false,
false isStatic = false
).also { ).also {
descriptor.bind(it) descriptor.bind(it)
it.parent = parent it.parent = parent
@@ -706,14 +706,14 @@ class LocalDeclarationsLowering(
declaration.name declaration.name
private fun collectClosures() { private fun collectClosureForLocalDeclarations() {
val annotator = ClosureAnnotator(memberDeclaration) val annotator = ClosureAnnotator(memberDeclaration)
localFunctions.forEach { declaration, context -> localFunctions.forEach { (declaration, context) ->
context.closure = annotator.getFunctionClosure(declaration) context.closure = annotator.getFunctionClosure(declaration)
} }
localClasses.forEach { declaration, context -> localClasses.forEach { (declaration, context) ->
context.closure = annotator.getClassClosure(declaration) context.closure = annotator.getClassClosure(declaration)
} }
} }
@@ -725,8 +725,8 @@ class LocalDeclarationsLowering(
element.acceptChildrenVoid(this) element.acceptChildrenVoid(this)
} }
override fun visitFunction(declaration: IrFunction) { override fun visitSimpleFunction(declaration: IrSimpleFunction) {
declaration.acceptChildrenVoid(this) super.visitSimpleFunction(declaration)
if (declaration.visibility == Visibilities.LOCAL) { if (declaration.visibility == Visibilities.LOCAL) {
val localFunctionContext = LocalFunctionContext(declaration) val localFunctionContext = LocalFunctionContext(declaration)
@@ -740,7 +740,7 @@ class LocalDeclarationsLowering(
} }
override fun visitConstructor(declaration: IrConstructor) { override fun visitConstructor(declaration: IrConstructor) {
declaration.acceptChildrenVoid(this) super.visitConstructor(declaration)
assert(declaration.visibility != Visibilities.LOCAL) assert(declaration.visibility != Visibilities.LOCAL)
@@ -750,7 +750,7 @@ class LocalDeclarationsLowering(
} }
override fun visitClass(declaration: IrClass) { override fun visitClass(declaration: IrClass) {
declaration.acceptChildrenVoid(this) super.visitClass(declaration)
if (declaration.isInner) return if (declaration.isInner) return