[FE] Add getContextReceivers to CallableDescriptor interface
This commit is contained in:
committed by
TeamCityServer
parent
7de8380ddf
commit
a39fbd3822
+1
-1
@@ -71,7 +71,7 @@ open class ParcelableResolveExtension : SyntheticResolveExtension {
|
||||
val valueParameters = parameters.mapIndexed { index, (name, type) -> functionDescriptor.makeValueParameter(name, type, index) }
|
||||
|
||||
functionDescriptor.initialize(
|
||||
null, classDescriptor.thisAsReceiverParameter, emptyList(), valueParameters,
|
||||
null, classDescriptor.thisAsReceiverParameter, emptyList(), emptyList(), valueParameters,
|
||||
returnType, modality, DescriptorVisibilities.PUBLIC)
|
||||
|
||||
return functionDescriptor
|
||||
|
||||
+3
-2
@@ -49,7 +49,7 @@ internal fun genClearCacheFunction(packageFragmentDescriptor: PackageFragmentDes
|
||||
val unitType = packageFragmentDescriptor.builtIns.unitType
|
||||
return function.initialize(
|
||||
DescriptorFactory.createExtensionReceiverParameterForCallable(function, receiverType, Annotations.EMPTY),
|
||||
null, emptyList(), emptyList(), unitType, Modality.FINAL, DescriptorVisibilities.PUBLIC
|
||||
null, emptyList(), emptyList(), emptyList(), unitType, Modality.FINAL, DescriptorVisibilities.PUBLIC
|
||||
)
|
||||
}
|
||||
|
||||
@@ -123,7 +123,8 @@ private fun genProperty(
|
||||
flexibleType,
|
||||
emptyList<TypeParameterDescriptor>(),
|
||||
null,
|
||||
DescriptorFactory.createExtensionReceiverParameterForCallable(property, receiverType, Annotations.EMPTY)
|
||||
DescriptorFactory.createExtensionReceiverParameterForCallable(property, receiverType, Annotations.EMPTY),
|
||||
emptyList<ReceiverParameterDescriptor>()
|
||||
)
|
||||
|
||||
val getter = PropertyGetterDescriptorImpl(
|
||||
|
||||
+1
-1
@@ -33,7 +33,7 @@ class SimpleSyntheticPropertyDescriptor(
|
||||
private val _backingField = FieldDescriptorImpl(Annotations.EMPTY, this)
|
||||
|
||||
init {
|
||||
super.setType(type, emptyList(), owner.thisAsReceiverParameter, null)
|
||||
super.setType(type, emptyList(), owner.thisAsReceiverParameter, null, emptyList())
|
||||
super.initialize(null, null, _backingField, null)
|
||||
}
|
||||
}
|
||||
|
||||
+2
@@ -625,6 +625,7 @@ internal fun createSingletonLambda(
|
||||
lambdaCodegen.descriptor.thisAsReceiverParameter,
|
||||
emptyList(),
|
||||
emptyList(),
|
||||
emptyList(),
|
||||
resultSimpleType,
|
||||
Modality.FINAL,
|
||||
DescriptorVisibilities.PUBLIC
|
||||
@@ -647,6 +648,7 @@ internal fun createSingletonLambda(
|
||||
lambdaCodegen.descriptor.thisAsReceiverParameter,
|
||||
emptyList(),
|
||||
emptyList(),
|
||||
emptyList(),
|
||||
lambdaCodegen.descriptor.builtIns.anyType,
|
||||
Modality.FINAL,
|
||||
DescriptorVisibilities.PUBLIC
|
||||
|
||||
+1
-1
@@ -47,7 +47,7 @@ class SerialInfoCodegenImpl(val codegen: ImplementationBodyCodegen, val thisClas
|
||||
codegen.v.newField(OtherOrigin(codegen.myClass.psiOrParent), Opcodes.ACC_PRIVATE or Opcodes.ACC_FINAL or Opcodes.ACC_SYNTHETIC,
|
||||
propFieldName, propType.descriptor, null, null)
|
||||
val f = SimpleFunctionDescriptorImpl.create(thisClass, Annotations.EMPTY, prop.name, CallableMemberDescriptor.Kind.SYNTHESIZED, thisClass.source)
|
||||
f.initialize(null, thisClass.thisAsReceiverParameter, emptyList(), emptyList(), prop.type, Modality.FINAL, DescriptorVisibilities.PUBLIC)
|
||||
f.initialize(null, thisClass.thisAsReceiverParameter, emptyList(), emptyList(), emptyList(), prop.type, Modality.FINAL, DescriptorVisibilities.PUBLIC)
|
||||
codegen.generateMethod(f, { _, _ ->
|
||||
load(0, thisAsmType)
|
||||
getfield(thisAsmType.internalName, propFieldName, propType.descriptor)
|
||||
|
||||
+6
-2
@@ -244,7 +244,8 @@ object KSerializerDescriptorResolver {
|
||||
propertyFromSerializer.type,
|
||||
propertyFromSerializer.typeParameters,
|
||||
companionDescriptor.thisAsReceiverParameter,
|
||||
extensionReceiverParameter
|
||||
extensionReceiverParameter,
|
||||
emptyList()
|
||||
)
|
||||
|
||||
val propertyGetter = PropertyGetterDescriptorImpl(
|
||||
@@ -277,6 +278,7 @@ object KSerializerDescriptorResolver {
|
||||
functionDescriptor.initialize(
|
||||
null,
|
||||
companionDescriptor.thisAsReceiverParameter,
|
||||
emptyList(),
|
||||
functionFromSerializer.typeParameters,
|
||||
functionFromSerializer.valueParameters.map { it.copy(functionDescriptor, it.name, it.index) },
|
||||
functionFromSerializer.returnType,
|
||||
@@ -488,6 +490,7 @@ object KSerializerDescriptorResolver {
|
||||
f.initialize(
|
||||
null,
|
||||
thisClass.thisAsReceiverParameter,
|
||||
emptyList(),
|
||||
listOf(),
|
||||
listOf(vararg),
|
||||
kSerializerStarType,
|
||||
@@ -517,7 +520,7 @@ object KSerializerDescriptorResolver {
|
||||
val serialReturnType =
|
||||
KotlinTypeFactory.simpleNotNullType(Annotations.EMPTY, serializerClass, listOf(TypeProjectionImpl(newSerializableType)))
|
||||
|
||||
f.initialize(null, thisClass.thisAsReceiverParameter, typeArgs, args, serialReturnType, Modality.FINAL, DescriptorVisibilities.PUBLIC)
|
||||
f.initialize(null, thisClass.thisAsReceiverParameter, emptyList(), typeArgs, args, serialReturnType, Modality.FINAL, DescriptorVisibilities.PUBLIC)
|
||||
return f
|
||||
}
|
||||
|
||||
@@ -602,6 +605,7 @@ object KSerializerDescriptorResolver {
|
||||
f.initialize(
|
||||
null,
|
||||
null,
|
||||
emptyList(),
|
||||
typeArgs,
|
||||
args,
|
||||
returnType,
|
||||
|
||||
@@ -100,6 +100,7 @@ abstract class AbstractNoArgExpressionCodegenExtension(val invokeInitializers: B
|
||||
calculateDispatchReceiverParameter(),
|
||||
emptyList(),
|
||||
emptyList(),
|
||||
emptyList(),
|
||||
containingClass.builtIns.unitType,
|
||||
Modality.OPEN,
|
||||
DescriptorVisibilities.PUBLIC
|
||||
|
||||
+1
-1
@@ -77,7 +77,7 @@ open class ParcelizeResolveExtension : SyntheticResolveExtension {
|
||||
val valueParameters = parameters.mapIndexed { index, (name, type) -> functionDescriptor.makeValueParameter(name, type, index) }
|
||||
|
||||
functionDescriptor.initialize(
|
||||
null, classDescriptor.thisAsReceiverParameter, emptyList(), valueParameters,
|
||||
null, classDescriptor.thisAsReceiverParameter, emptyList(), emptyList(), valueParameters,
|
||||
returnType, modality, DescriptorVisibilities.PUBLIC
|
||||
)
|
||||
|
||||
|
||||
+1
-1
@@ -31,7 +31,7 @@ class ReplResultPropertyDescriptor(
|
||||
/* isDelegated = */ false
|
||||
) {
|
||||
init {
|
||||
setType(kotlinType, emptyList(), receiver, null)
|
||||
setType(kotlinType, emptyList(), receiver, null, emptyList())
|
||||
initialize(
|
||||
null, null
|
||||
)
|
||||
|
||||
+1
-1
@@ -30,7 +30,7 @@ class ScriptProvidedPropertyDescriptor(
|
||||
/* isDelegated = */ false
|
||||
) {
|
||||
init {
|
||||
setType(typeDescriptor.defaultType, emptyList(), receiver, null)
|
||||
setType(typeDescriptor.defaultType, emptyList(), receiver, null, emptyList())
|
||||
// TODO: consider delegation instead
|
||||
initialize(null, null, null, null)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user