FIR2IR: avoid using constant -1
This commit is contained in:
committed by
teamcityserver
parent
707e94bab5
commit
f1fd3d6b5d
@@ -31,6 +31,7 @@ import org.jetbrains.kotlin.fir.symbols.impl.*
|
||||
import org.jetbrains.kotlin.fir.types.*
|
||||
import org.jetbrains.kotlin.ir.IrElement
|
||||
import org.jetbrains.kotlin.ir.UNDEFINED_OFFSET
|
||||
import org.jetbrains.kotlin.ir.builders.declarations.UNDEFINED_PARAMETER_INDEX
|
||||
import org.jetbrains.kotlin.ir.declarations.*
|
||||
import org.jetbrains.kotlin.ir.descriptors.WrappedReceiverParameterDescriptor
|
||||
import org.jetbrains.kotlin.ir.expressions.IrConst
|
||||
@@ -317,7 +318,7 @@ internal fun IrDeclarationParent.declareThisReceiverParameter(
|
||||
) { symbol ->
|
||||
symbolTable.irFactory.createValueParameter(
|
||||
startOffset, endOffset, thisOrigin, symbol,
|
||||
Name.special("<this>"), -1, thisType,
|
||||
Name.special("<this>"), UNDEFINED_PARAMETER_INDEX, thisType,
|
||||
varargElementType = null, isCrossinline = false, isNoinline = false, isAssignable = false
|
||||
).apply {
|
||||
this.parent = this@declareThisReceiverParameter
|
||||
|
||||
@@ -21,6 +21,7 @@ import org.jetbrains.kotlin.fir.symbols.impl.ConeClassLikeLookupTagImpl
|
||||
import org.jetbrains.kotlin.fir.symbols.impl.FirClassSymbol
|
||||
import org.jetbrains.kotlin.fir.symbols.impl.FirTypeParameterSymbol
|
||||
import org.jetbrains.kotlin.fir.types.FirTypeRef
|
||||
import org.jetbrains.kotlin.ir.builders.declarations.UNDEFINED_PARAMETER_INDEX
|
||||
import org.jetbrains.kotlin.ir.declarations.*
|
||||
import org.jetbrains.kotlin.ir.descriptors.WrappedClassDescriptor
|
||||
import org.jetbrains.kotlin.ir.descriptors.WrappedEnumEntryDescriptor
|
||||
@@ -338,7 +339,7 @@ class Fir2IrClassifierStorage(
|
||||
|
||||
internal fun getCachedIrTypeParameter(
|
||||
typeParameter: FirTypeParameter,
|
||||
index: Int = -1,
|
||||
index: Int = UNDEFINED_PARAMETER_INDEX,
|
||||
typeContext: ConversionTypeContext = ConversionTypeContext.DEFAULT
|
||||
): IrTypeParameter? {
|
||||
// Here transformation is a bit difficult because one FIR property type parameter
|
||||
|
||||
+2
-1
@@ -34,6 +34,7 @@ import org.jetbrains.kotlin.fir.symbols.impl.*
|
||||
import org.jetbrains.kotlin.fir.types.*
|
||||
import org.jetbrains.kotlin.ir.ObsoleteDescriptorBasedAPI
|
||||
import org.jetbrains.kotlin.ir.UNDEFINED_OFFSET
|
||||
import org.jetbrains.kotlin.ir.builders.declarations.UNDEFINED_PARAMETER_INDEX
|
||||
import org.jetbrains.kotlin.ir.declarations.*
|
||||
import org.jetbrains.kotlin.ir.declarations.impl.IrVariableImpl
|
||||
import org.jetbrains.kotlin.ir.declarations.lazy.IrLazyClass
|
||||
@@ -844,7 +845,7 @@ class Fir2IrDeclarationStorage(
|
||||
|
||||
internal fun createIrParameter(
|
||||
valueParameter: FirValueParameter,
|
||||
index: Int = -1,
|
||||
index: Int = UNDEFINED_PARAMETER_INDEX,
|
||||
useStubForDefaultValueStub: Boolean = true,
|
||||
typeContext: ConversionTypeContext = ConversionTypeContext.DEFAULT
|
||||
): IrValueParameter {
|
||||
|
||||
+3
-2
@@ -18,6 +18,7 @@ import org.jetbrains.kotlin.fir.types.ConeClassLikeType
|
||||
import org.jetbrains.kotlin.fir.types.ConeKotlinType
|
||||
import org.jetbrains.kotlin.fir.types.FirTypeRef
|
||||
import org.jetbrains.kotlin.fir.types.coneType
|
||||
import org.jetbrains.kotlin.ir.builders.declarations.UNDEFINED_PARAMETER_INDEX
|
||||
import org.jetbrains.kotlin.ir.declarations.*
|
||||
import org.jetbrains.kotlin.ir.descriptors.WrappedSimpleFunctionDescriptor
|
||||
import org.jetbrains.kotlin.ir.descriptors.WrappedValueParameterDescriptor
|
||||
@@ -221,7 +222,7 @@ internal class AdapterGenerator(
|
||||
createAdapterParameter(
|
||||
irAdapterFunction,
|
||||
Name.identifier("receiver"),
|
||||
index = -1,
|
||||
index = UNDEFINED_PARAMETER_INDEX,
|
||||
boundReceiver.type,
|
||||
IrDeclarationOrigin.ADAPTER_PARAMETER_FOR_CALLABLE_REFERENCE
|
||||
)
|
||||
@@ -474,7 +475,7 @@ internal class AdapterGenerator(
|
||||
irAdapterFunction.extensionReceiverParameter = createAdapterParameter(
|
||||
irAdapterFunction,
|
||||
Name.identifier("callee"),
|
||||
-1,
|
||||
UNDEFINED_PARAMETER_INDEX,
|
||||
argumentType,
|
||||
IrDeclarationOrigin.ADAPTER_PARAMETER_FOR_SUSPEND_CONVERSION
|
||||
)
|
||||
|
||||
+10
-2
@@ -26,6 +26,8 @@ import org.jetbrains.kotlin.fir.scopes.unsubstitutedScope
|
||||
import org.jetbrains.kotlin.fir.symbols.impl.*
|
||||
import org.jetbrains.kotlin.fir.typeContext
|
||||
import org.jetbrains.kotlin.fir.types.*
|
||||
import org.jetbrains.kotlin.ir.UNDEFINED_OFFSET
|
||||
import org.jetbrains.kotlin.ir.builders.declarations.UNDEFINED_PARAMETER_INDEX
|
||||
import org.jetbrains.kotlin.ir.declarations.*
|
||||
import org.jetbrains.kotlin.ir.expressions.*
|
||||
import org.jetbrains.kotlin.ir.expressions.impl.*
|
||||
@@ -527,7 +529,13 @@ class CallAndReferenceGenerator(
|
||||
if (parameter.isVararg && !argumentMapping.containsValue(parameter)) {
|
||||
val elementType = parameter.returnTypeRef.toIrType()
|
||||
putValueArgument(
|
||||
index, IrVarargImpl(-1, -1, elementType, elementType.toArrayOrPrimitiveArrayType(irBuiltIns))
|
||||
index,
|
||||
IrVarargImpl(
|
||||
UNDEFINED_OFFSET,
|
||||
UNDEFINED_OFFSET,
|
||||
elementType,
|
||||
elementType.toArrayOrPrimitiveArrayType(irBuiltIns)
|
||||
)
|
||||
)
|
||||
}
|
||||
}
|
||||
@@ -540,7 +548,7 @@ class CallAndReferenceGenerator(
|
||||
parametersInActualOrder: Collection<FirValueParameter>,
|
||||
valueParameters: List<FirValueParameter>
|
||||
): Boolean {
|
||||
var lastValueParameterIndex = -1
|
||||
var lastValueParameterIndex = UNDEFINED_PARAMETER_INDEX
|
||||
for (parameter in parametersInActualOrder) {
|
||||
val index = valueParameters.indexOf(parameter)
|
||||
if (index < lastValueParameterIndex) {
|
||||
|
||||
Reference in New Issue
Block a user