[IR] Reorder parameters in IrFactory#createFunctionWithLateBinding
This is to prepare for IrFactory auto-generation (KT-59308).
This commit is contained in:
committed by
Space Team
parent
3828552a1c
commit
f061215ee9
@@ -114,16 +114,17 @@ interface IrFactory {
|
||||
origin: IrDeclarationOrigin,
|
||||
name: Name,
|
||||
visibility: DescriptorVisibility,
|
||||
modality: Modality,
|
||||
returnType: IrType,
|
||||
isInline: Boolean,
|
||||
isExternal: Boolean,
|
||||
isExpect: Boolean,
|
||||
returnType: IrType,
|
||||
modality: Modality,
|
||||
isTailrec: Boolean,
|
||||
isSuspend: Boolean,
|
||||
isOperator: Boolean,
|
||||
isInfix: Boolean,
|
||||
isExpect: Boolean,
|
||||
): IrSimpleFunction
|
||||
isExternal: Boolean = false,
|
||||
isFakeOverride: Boolean = origin == IrDeclarationOrigin.FAKE_OVERRIDE,
|
||||
): IrFunctionWithLateBinding
|
||||
|
||||
fun createLocalDelegatedProperty(
|
||||
startOffset: Int,
|
||||
@@ -463,6 +464,61 @@ interface IrFactory {
|
||||
isExternal,
|
||||
)
|
||||
|
||||
@Deprecated(
|
||||
message = "The method's parameters were reordered." +
|
||||
" This variant of the method will be removed when the 2024.2 IntelliJ platform is shipped (see KTIJ-26314).",
|
||||
replaceWith = ReplaceWith(
|
||||
"""createFunctionWithLateBinding(
|
||||
startOffset = startOffset,
|
||||
endOffset = endOffset,
|
||||
origin = origin,
|
||||
name = name,
|
||||
visibility = visibility,
|
||||
isInline = isInline,
|
||||
isExpect = isExpect,
|
||||
returnType = returnType,
|
||||
modality = modality,
|
||||
isTailrec = isTailrec,
|
||||
isSuspend = isSuspend,
|
||||
isOperator = isOperator,
|
||||
isInfix = isInfix,
|
||||
isExternal = isExternal,
|
||||
)""",
|
||||
),
|
||||
level = DeprecationLevel.HIDDEN,
|
||||
)
|
||||
fun createFunctionWithLateBinding(
|
||||
startOffset: Int,
|
||||
endOffset: Int,
|
||||
origin: IrDeclarationOrigin,
|
||||
name: Name,
|
||||
visibility: DescriptorVisibility,
|
||||
modality: Modality,
|
||||
returnType: IrType,
|
||||
isInline: Boolean,
|
||||
isExternal: Boolean,
|
||||
isTailrec: Boolean,
|
||||
isSuspend: Boolean,
|
||||
isOperator: Boolean,
|
||||
isInfix: Boolean,
|
||||
isExpect: Boolean,
|
||||
): IrSimpleFunction = createFunctionWithLateBinding(
|
||||
startOffset,
|
||||
endOffset,
|
||||
origin,
|
||||
name,
|
||||
visibility,
|
||||
isInline,
|
||||
isExpect,
|
||||
returnType,
|
||||
modality,
|
||||
isTailrec,
|
||||
isSuspend,
|
||||
isOperator,
|
||||
isInfix,
|
||||
isExternal,
|
||||
)
|
||||
|
||||
@Deprecated(
|
||||
message = "The method's parameters were reordered." +
|
||||
" This variant of the method will be removed when the 2024.2 IntelliJ platform is shipped (see KTIJ-26314).",
|
||||
|
||||
@@ -138,19 +138,33 @@ abstract class AbstractIrFactoryImpl : IrFactory {
|
||||
origin: IrDeclarationOrigin,
|
||||
name: Name,
|
||||
visibility: DescriptorVisibility,
|
||||
modality: Modality,
|
||||
returnType: IrType,
|
||||
isInline: Boolean,
|
||||
isExternal: Boolean,
|
||||
isExpect: Boolean,
|
||||
returnType: IrType,
|
||||
modality: Modality,
|
||||
isTailrec: Boolean,
|
||||
isSuspend: Boolean,
|
||||
isOperator: Boolean,
|
||||
isInfix: Boolean,
|
||||
isExpect: Boolean,
|
||||
): IrSimpleFunction =
|
||||
isExternal: Boolean,
|
||||
isFakeOverride: Boolean,
|
||||
): IrFunctionWithLateBinding =
|
||||
IrFunctionWithLateBindingImpl(
|
||||
startOffset, endOffset, origin, name, visibility, modality, returnType,
|
||||
isInline, isExternal, isTailrec, isSuspend, isOperator, isInfix, isExpect,
|
||||
startOffset = startOffset,
|
||||
endOffset = endOffset,
|
||||
origin = origin,
|
||||
name = name,
|
||||
visibility = visibility,
|
||||
modality = modality,
|
||||
returnType = returnType,
|
||||
isInline = isInline,
|
||||
isExternal = isExternal,
|
||||
isTailrec = isTailrec,
|
||||
isSuspend = isSuspend,
|
||||
isOperator = isOperator,
|
||||
isInfix = isInfix,
|
||||
isExpect = isExpect,
|
||||
isFakeOverride = isFakeOverride,
|
||||
factory = this
|
||||
)
|
||||
|
||||
|
||||
+11
-9
@@ -206,31 +206,33 @@ class IrFactoryImplForJsIC(override val stageController: StageController) : Abst
|
||||
origin: IrDeclarationOrigin,
|
||||
name: Name,
|
||||
visibility: DescriptorVisibility,
|
||||
modality: Modality,
|
||||
returnType: IrType,
|
||||
isInline: Boolean,
|
||||
isExternal: Boolean,
|
||||
isExpect: Boolean,
|
||||
returnType: IrType,
|
||||
modality: Modality,
|
||||
isTailrec: Boolean,
|
||||
isSuspend: Boolean,
|
||||
isOperator: Boolean,
|
||||
isInfix: Boolean,
|
||||
isExpect: Boolean
|
||||
): IrSimpleFunction {
|
||||
isExternal: Boolean,
|
||||
isFakeOverride: Boolean,
|
||||
): IrFunctionWithLateBinding {
|
||||
return super.createFunctionWithLateBinding(
|
||||
startOffset,
|
||||
endOffset,
|
||||
origin,
|
||||
name,
|
||||
visibility,
|
||||
modality,
|
||||
returnType,
|
||||
isInline,
|
||||
isExternal,
|
||||
isExpect,
|
||||
returnType,
|
||||
modality,
|
||||
isTailrec,
|
||||
isSuspend,
|
||||
isOperator,
|
||||
isInfix,
|
||||
isExpect,
|
||||
isExternal,
|
||||
isFakeOverride,
|
||||
).register()
|
||||
}
|
||||
|
||||
|
||||
@@ -22,19 +22,20 @@ class FakeOverrideCopier(
|
||||
val customization = unimplementedOverridesStrategy.computeCustomization(declaration, parent)
|
||||
|
||||
return declaration.factory.createFunctionWithLateBinding(
|
||||
declaration.startOffset, declaration.endOffset,
|
||||
customization.origin ?: IrDeclarationOrigin.FAKE_OVERRIDE,
|
||||
symbolRenamer.getFunctionName(declaration.symbol),
|
||||
declaration.visibility,
|
||||
customization.modality ?: declaration.modality,
|
||||
declaration.returnType,
|
||||
startOffset = declaration.startOffset,
|
||||
endOffset = declaration.endOffset,
|
||||
origin = customization.origin ?: IrDeclarationOrigin.FAKE_OVERRIDE,
|
||||
name = symbolRenamer.getFunctionName(declaration.symbol),
|
||||
visibility = declaration.visibility,
|
||||
isInline = declaration.isInline,
|
||||
isExternal = makeExternal,
|
||||
isExpect = declaration.isExpect,
|
||||
returnType = declaration.returnType,
|
||||
modality = customization.modality ?: declaration.modality,
|
||||
isTailrec = declaration.isTailrec,
|
||||
isSuspend = declaration.isSuspend,
|
||||
isExpect = declaration.isExpect,
|
||||
isOperator = declaration.isOperator,
|
||||
isInfix = declaration.isInfix
|
||||
isInfix = declaration.isInfix,
|
||||
isExternal = makeExternal,
|
||||
).apply {
|
||||
transformAnnotations(declaration)
|
||||
copyTypeParametersFrom(declaration)
|
||||
|
||||
Reference in New Issue
Block a user