[JS IR] Fix typo
This commit is contained in:
+8
-8
@@ -67,7 +67,7 @@ class CallableReferenceLowering(private val context: CommonBackendContext) : Bod
|
||||
return expression.run {
|
||||
val vpCount = if (function.isSuspend) 1 else 0
|
||||
val ctorCall =
|
||||
IrConstructorCallImpl(startOffset, endOffset, type, ctor.symbol, 0 /*TODO: properly set type arguments*/, 0, vpCount, CALLABLE_REFERNCE_CREATE).apply {
|
||||
IrConstructorCallImpl(startOffset, endOffset, type, ctor.symbol, 0 /*TODO: properly set type arguments*/, 0, vpCount, CALLABLE_REFERENCE_CREATE).apply {
|
||||
if (function.isSuspend) {
|
||||
putValueArgument(0, IrConstImpl.constNull(startOffset, endOffset, context.irBuiltIns.nothingNType))
|
||||
}
|
||||
@@ -85,7 +85,7 @@ class CallableReferenceLowering(private val context: CommonBackendContext) : Bod
|
||||
|
||||
return expression.run {
|
||||
val ctorCall =
|
||||
IrConstructorCallImpl(startOffset, endOffset, type, ctor.symbol, 0 /*TODO: properly set type arguments*/, 0, 0, CALLABLE_REFERNCE_CREATE)
|
||||
IrConstructorCallImpl(startOffset, endOffset, type, ctor.symbol, 0 /*TODO: properly set type arguments*/, 0, 0, CALLABLE_REFERENCE_CREATE)
|
||||
IrCompositeImpl(startOffset, endOffset, type, origin, listOf(clazz, ctorCall))
|
||||
}
|
||||
}
|
||||
@@ -211,16 +211,16 @@ class CallableReferenceLowering(private val context: CommonBackendContext) : Bod
|
||||
}
|
||||
|
||||
fun getValue(d: IrValueDeclaration): IrGetValue =
|
||||
IrGetValueImpl(UNDEFINED_OFFSET, UNDEFINED_OFFSET, d.type, d.symbol, CALLABLE_REFERNCE_INVOKE)
|
||||
IrGetValueImpl(UNDEFINED_OFFSET, UNDEFINED_OFFSET, d.type, d.symbol, CALLABLE_REFERENCE_INVOKE)
|
||||
|
||||
|
||||
private fun IrSimpleFunction.buildInvoke(): IrFunctionAccessExpression {
|
||||
val callee = function
|
||||
val irCall = reference.run {
|
||||
if (callee is IrConstructor) {
|
||||
IrConstructorCallImpl(startOffset, endOffset, callee.parentAsClass.defaultType, callee.symbol, callee.typeParameters.size, 0 /* TODO */, callee.valueParameters.size, CALLABLE_REFERNCE_INVOKE)
|
||||
IrConstructorCallImpl(startOffset, endOffset, callee.parentAsClass.defaultType, callee.symbol, callee.typeParameters.size, 0 /* TODO */, callee.valueParameters.size, CALLABLE_REFERENCE_INVOKE)
|
||||
} else {
|
||||
IrCallImpl(startOffset, endOffset, callee.returnType, callee.symbol, callee.typeParameters.size, callee.valueParameters.size, CALLABLE_REFERNCE_INVOKE)
|
||||
IrCallImpl(startOffset, endOffset, callee.returnType, callee.symbol, callee.typeParameters.size, callee.valueParameters.size, CALLABLE_REFERENCE_INVOKE)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -254,7 +254,7 @@ class CallableReferenceLowering(private val context: CommonBackendContext) : Bod
|
||||
boundReceiverField.symbol,
|
||||
boundReceiverField.type,
|
||||
thisValue,
|
||||
CALLABLE_REFERNCE_INVOKE
|
||||
CALLABLE_REFERENCE_INVOKE
|
||||
)
|
||||
|
||||
if (funRef.dispatchReceiver != null) irCall.dispatchReceiver = value
|
||||
@@ -352,8 +352,8 @@ class CallableReferenceLowering(private val context: CommonBackendContext) : Bod
|
||||
object FUNCTION_REFERENCE_IMPL : IrDeclarationOriginImpl("FUNCTION_REFERENCE_IMPL")
|
||||
object GENERATED_MEMBER_IN_CALLABLE_REFERENCE : IrDeclarationOriginImpl("GENERATED_MEMBER_IN_CALLABLE_REFERENCE")
|
||||
|
||||
object CALLABLE_REFERNCE_CREATE : IrStatementOriginImpl("CALLABLE_REFERENCE_CREATE")
|
||||
object CALLABLE_REFERNCE_INVOKE : IrStatementOriginImpl("CALLABLE_REFERENCE_INVOKE")
|
||||
object CALLABLE_REFERENCE_CREATE : IrStatementOriginImpl("CALLABLE_REFERENCE_CREATE")
|
||||
object CALLABLE_REFERENCE_INVOKE : IrStatementOriginImpl("CALLABLE_REFERENCE_INVOKE")
|
||||
|
||||
val THIS_NAME = Name.special("<this>")
|
||||
val BOUND_RECEIVER_NAME = Name.identifier("\$boundThis")
|
||||
|
||||
+2
-2
@@ -39,7 +39,7 @@ class InteropCallableReferenceLowering(val context: JsIrBackendContext) : BodyLo
|
||||
inner class CallableReferenceLowerTransformer : IrElementTransformerVoid() {
|
||||
override fun visitConstructorCall(expression: IrConstructorCall): IrExpression {
|
||||
expression.transformChildrenVoid(this)
|
||||
if (expression.origin === CallableReferenceLowering.Companion.CALLABLE_REFERNCE_CREATE) {
|
||||
if (expression.origin === CallableReferenceLowering.Companion.CALLABLE_REFERENCE_CREATE) {
|
||||
return transformToJavaScriptFunction(expression)
|
||||
}
|
||||
return expression
|
||||
@@ -162,7 +162,7 @@ class InteropCallableReferenceLowering(val context: JsIrBackendContext) : BodyLo
|
||||
nameGetter.symbol,
|
||||
0,
|
||||
0,
|
||||
CallableReferenceLowering.Companion.CALLABLE_REFERNCE_INVOKE
|
||||
CallableReferenceLowering.Companion.CALLABLE_REFERENCE_INVOKE
|
||||
).apply {
|
||||
dispatchReceiver = JsIrBuilder.buildGetValue(instanceVal.symbol)
|
||||
}
|
||||
|
||||
+1
-1
@@ -35,7 +35,7 @@ class ReflectionCallsTransformer(private val context: JsIrBackendContext) : Call
|
||||
addWithPredicate(
|
||||
Name.special(Namer.KCALLABLE_GET_NAME),
|
||||
{ call ->
|
||||
call.origin != CallableReferenceLowering.Companion.CALLABLE_REFERNCE_INVOKE &&
|
||||
call.origin != CallableReferenceLowering.Companion.CALLABLE_REFERENCE_INVOKE &&
|
||||
call.symbol.owner.dispatchReceiverParameter?.run { type.isSubtypeOfClass(context.irBuiltIns.kCallableClass) } ?: false
|
||||
},
|
||||
{ call ->
|
||||
|
||||
Reference in New Issue
Block a user