Fixed forgotten receivers during copying

This commit is contained in:
Igor Chevdar
2018-05-11 12:51:29 +03:00
parent 4ee41d502a
commit 6daabca90b
@@ -110,7 +110,7 @@ class IrGetterCallImpl(
IrGetterCallImpl( IrGetterCallImpl(
startOffset, endOffset, newCallee, startOffset, endOffset, newCallee,
descriptor, // TODO substitute descriptor for new callee? descriptor, // TODO substitute descriptor for new callee?
typeArgumentsCount, newOrigin, newSuperQualifier typeArgumentsCount, dispatchReceiver, extensionReceiver, newOrigin, newSuperQualifier
).also { newCall -> ).also { newCall ->
newCall.copyTypeArgumentsFrom(this) newCall.copyTypeArgumentsFrom(this)
} }
@@ -121,6 +121,8 @@ class IrGetterCallImpl(
createFunctionSymbol(newCallee), createFunctionSymbol(newCallee),
newCallee, newCallee,
typeArgumentsCount, typeArgumentsCount,
dispatchReceiver,
extensionReceiver,
newOrigin, newOrigin,
createClassSymbolOrNull(newSuperQualifier) createClassSymbolOrNull(newSuperQualifier)
).also { newCall -> ).also { newCall ->
@@ -190,7 +192,7 @@ class IrSetterCallImpl(
IrSetterCallImpl( IrSetterCallImpl(
startOffset, endOffset, newCallee, startOffset, endOffset, newCallee,
descriptor, // TODO substitute newCallee.descriptor? descriptor, // TODO substitute newCallee.descriptor?
typeArgumentsCount, newOrigin, newSuperQualifier typeArgumentsCount, dispatchReceiver, extensionReceiver, argumentImpl!!, newOrigin, newSuperQualifier
).also { newCall -> ).also { newCall ->
newCall.copyTypeArgumentsFrom(this) newCall.copyTypeArgumentsFrom(this)
} }
@@ -201,6 +203,9 @@ class IrSetterCallImpl(
createFunctionSymbol(newCallee), createFunctionSymbol(newCallee),
newCallee, newCallee,
typeArgumentsCount, typeArgumentsCount,
dispatchReceiver,
extensionReceiver,
argumentImpl!!,
newOrigin, newOrigin,
createClassSymbolOrNull(newSuperQualifier) createClassSymbolOrNull(newSuperQualifier)
).also { newCall -> ).also { newCall ->