[IR][provisional function expression] another line information provider added for func_expression -> function_reference conversion
This commit is contained in:
+21
-7
@@ -8,14 +8,14 @@ package org.jetbrains.kotlin.backend.common.lower
|
||||
import org.jetbrains.kotlin.backend.common.BodyLoweringPass
|
||||
import org.jetbrains.kotlin.backend.common.FileLoweringPass
|
||||
import org.jetbrains.kotlin.ir.IrElement
|
||||
import org.jetbrains.kotlin.ir.IrStatement
|
||||
import org.jetbrains.kotlin.ir.declarations.IrDeclaration
|
||||
import org.jetbrains.kotlin.ir.declarations.IrFile
|
||||
import org.jetbrains.kotlin.ir.expressions.IrBody
|
||||
import org.jetbrains.kotlin.ir.expressions.IrCall
|
||||
import org.jetbrains.kotlin.ir.expressions.IrExpression
|
||||
import org.jetbrains.kotlin.ir.expressions.IrFunctionExpression
|
||||
import org.jetbrains.kotlin.ir.declarations.IrVariable
|
||||
import org.jetbrains.kotlin.ir.expressions.*
|
||||
import org.jetbrains.kotlin.ir.expressions.impl.IrBlockImpl
|
||||
import org.jetbrains.kotlin.ir.expressions.impl.IrFunctionReferenceImpl
|
||||
import org.jetbrains.kotlin.ir.util.remapTypes
|
||||
import org.jetbrains.kotlin.ir.visitors.IrElementTransformer
|
||||
import org.jetbrains.kotlin.ir.visitors.IrElementTransformerVoid
|
||||
import org.jetbrains.kotlin.ir.visitors.transformChildrenVoid
|
||||
@@ -32,9 +32,23 @@ class ProvisionalFunctionExpressionLowering :
|
||||
irBody.transformChildren(this, ProvisionalFunctionExpressionLoweringContext())
|
||||
}
|
||||
|
||||
override fun visitCall(expression: IrCall, data: ProvisionalFunctionExpressionLoweringContext): IrElement {
|
||||
return super.visitCall(expression, ProvisionalFunctionExpressionLoweringContext(data, expression.startOffset, expression.endOffset))
|
||||
}
|
||||
override fun visitCall(expression: IrCall, data: ProvisionalFunctionExpressionLoweringContext) = super.visitCall(
|
||||
expression,
|
||||
ProvisionalFunctionExpressionLoweringContext(
|
||||
data,
|
||||
expression.startOffset,
|
||||
expression.endOffset
|
||||
)
|
||||
)
|
||||
|
||||
override fun visitVariable(declaration: IrVariable, data: ProvisionalFunctionExpressionLoweringContext) = super.visitVariable(
|
||||
declaration,
|
||||
ProvisionalFunctionExpressionLoweringContext(
|
||||
data,
|
||||
declaration.startOffset,
|
||||
declaration.endOffset
|
||||
)
|
||||
)
|
||||
|
||||
override fun visitFunctionExpression(expression: IrFunctionExpression, data: ProvisionalFunctionExpressionLoweringContext): IrElement {
|
||||
expression.transformChildren(this, ProvisionalFunctionExpressionLoweringContext(data))
|
||||
|
||||
Reference in New Issue
Block a user