[FE] Add getContextReceivers to CallableDescriptor interface
This commit is contained in:
committed by
TeamCityServer
parent
7de8380ddf
commit
a39fbd3822
+1
-1
@@ -24,7 +24,7 @@ class AccessorForCompanionObjectInstanceFieldDescriptor(
|
||||
|
||||
init {
|
||||
initialize(
|
||||
null, null, emptyList(), emptyList(),
|
||||
null, null, emptyList(), emptyList(), emptyList(),
|
||||
companionObjectDescriptor.defaultType,
|
||||
Modality.FINAL,
|
||||
DescriptorVisibilities.LOCAL
|
||||
|
||||
@@ -57,6 +57,7 @@ class AccessorForConstructorDescriptor(
|
||||
initialize(
|
||||
calleeDescriptor.extensionReceiverParameter?.copy(this),
|
||||
calleeDescriptor.dispatchReceiverParameter,
|
||||
calleeDescriptor.contextReceiverParameters.map { p -> p.copy(this) },
|
||||
copyTypeParameters(calleeDescriptor),
|
||||
copyValueParameters(calleeDescriptor),
|
||||
calleeDescriptor.returnType,
|
||||
|
||||
@@ -39,6 +39,7 @@ class AccessorForFunctionDescriptor(
|
||||
null
|
||||
else
|
||||
calleeDescriptor.dispatchReceiverParameter,
|
||||
calleeDescriptor.contextReceiverParameters.map { p -> p.copy(this) },
|
||||
copyTypeParameters(calleeDescriptor),
|
||||
copyValueParameters(calleeDescriptor),
|
||||
calleeDescriptor.returnType,
|
||||
|
||||
@@ -98,7 +98,7 @@ open class AccessorForPropertyDescriptor private constructor(
|
||||
init {
|
||||
setType(
|
||||
propertyType, emptyList<TypeParameterDescriptorImpl>(), dispatchReceiverParameter,
|
||||
DescriptorFactory.createExtensionReceiverParameterForCallable(this, receiverType, Annotations.EMPTY)
|
||||
DescriptorFactory.createExtensionReceiverParameterForCallable(this, receiverType, Annotations.EMPTY), emptyList() // TODO: Pass context receivers
|
||||
)
|
||||
|
||||
val getterDescriptor =
|
||||
|
||||
@@ -261,6 +261,7 @@ public class ClosureCodegen extends MemberCodegen<KtElement> {
|
||||
|
||||
descriptorForBridges
|
||||
.initialize(erasedInterfaceFunction.getExtensionReceiverParameter(), erasedInterfaceFunction.getDispatchReceiverParameter(),
|
||||
erasedInterfaceFunction.getContextReceiverParameters(),
|
||||
erasedInterfaceFunction.getTypeParameters(), erasedInterfaceFunction.getValueParameters(),
|
||||
erasedInterfaceFunction.getReturnType(), Modality.OPEN, erasedInterfaceFunction.getVisibility());
|
||||
|
||||
|
||||
@@ -487,7 +487,7 @@ public abstract class MemberCodegen<T extends KtPureElement/* TODO: & KtDeclarat
|
||||
private SimpleFunctionDescriptorImpl createClInitFunctionDescriptor(@NotNull DeclarationDescriptor descriptor) {
|
||||
SimpleFunctionDescriptorImpl clInit = SimpleFunctionDescriptorImpl.create(descriptor, Annotations.Companion.getEMPTY(),
|
||||
Name.special("<clinit>"), SYNTHESIZED, KotlinSourceElementKt.toSourceElement(element));
|
||||
clInit.initialize(null, null, Collections.emptyList(), Collections.emptyList(),
|
||||
clInit.initialize(null, null, Collections.emptyList(), Collections.emptyList(), Collections.emptyList(),
|
||||
DescriptorUtilsKt.getModule(descriptor).getBuiltIns().getUnitType(),
|
||||
Modality.FINAL, DescriptorVisibilities.PRIVATE);
|
||||
return clInit;
|
||||
|
||||
@@ -73,6 +73,7 @@ abstract class AbstractCoroutineCodegen(
|
||||
null,
|
||||
classDescriptor.thisAsReceiverParameter,
|
||||
emptyList(),
|
||||
emptyList(),
|
||||
listOf(
|
||||
ValueParameterDescriptorImpl(
|
||||
this, null, 0, Annotations.EMPTY, Name.identifier(SUSPEND_CALL_RESULT_NAME),
|
||||
@@ -188,6 +189,7 @@ class CoroutineCodegenForLambda private constructor(
|
||||
it.initialize(
|
||||
funDescriptor.extensionReceiverParameter?.copy(it),
|
||||
funDescriptor.dispatchReceiverParameter,
|
||||
funDescriptor.contextReceiverParameters.map { p -> p.copy(it) },
|
||||
funDescriptor.typeParameters,
|
||||
funDescriptor.valueParameters,
|
||||
funDescriptor.module.getContinuationOfTypeOrAny(
|
||||
|
||||
@@ -132,7 +132,7 @@ fun createFreeFakeLocalPropertyDescriptor(descriptor: LocalVariableDescriptor, t
|
||||
)
|
||||
property.setType(
|
||||
descriptor.type, descriptor.typeParameters,
|
||||
descriptor.dispatchReceiverParameter, descriptor.extensionReceiverParameter
|
||||
descriptor.dispatchReceiverParameter, descriptor.extensionReceiverParameter, descriptor.contextReceiverParameters
|
||||
)
|
||||
|
||||
property.initialize(
|
||||
|
||||
+1
-1
@@ -30,7 +30,7 @@ internal class FictitiousArrayConstructor(arrayClass: ClassDescriptor) : SimpleF
|
||||
val arrayClass = arrayConstructor.constructedClass
|
||||
return FictitiousArrayConstructor(arrayClass).apply {
|
||||
this.initialize(
|
||||
null, null, arrayConstructor.typeParameters, arrayConstructor.valueParameters, arrayClass.defaultType,
|
||||
null, null, emptyList<ReceiverParameterDescriptor>(), arrayConstructor.typeParameters, arrayConstructor.valueParameters, arrayClass.defaultType,
|
||||
Modality.FINAL, DescriptorVisibilities.PUBLIC
|
||||
)
|
||||
this.isInline = true
|
||||
|
||||
Reference in New Issue
Block a user