[FIR IDE] Extract implicit set parameter name to reuse it in Analysis API
This commit is contained in:
committed by
teamcityserver
parent
2b8963455f
commit
44a1fe668e
+3
-4
@@ -39,6 +39,7 @@ import org.jetbrains.kotlin.fir.types.builder.buildResolvedTypeRef
|
||||
import org.jetbrains.kotlin.fir.types.impl.*
|
||||
import org.jetbrains.kotlin.lexer.KtTokens
|
||||
import org.jetbrains.kotlin.name.Name
|
||||
import org.jetbrains.kotlin.name.SpecialNames
|
||||
import org.jetbrains.kotlin.psi.KtAnnotated
|
||||
import org.jetbrains.kotlin.types.ConstantValueKind
|
||||
import org.jetbrains.kotlin.types.expressions.OperatorConventions
|
||||
@@ -490,7 +491,7 @@ fun <T> FirPropertyBuilder.generateAccessorsByDelegate(
|
||||
this.moduleData = moduleData
|
||||
origin = FirDeclarationOrigin.Source
|
||||
returnTypeRef = buildImplicitTypeRef()
|
||||
name = DELEGATED_SETTER_PARAM
|
||||
name = SpecialNames.IMPLICIT_SET_PARAMETER
|
||||
symbol = FirValueParameterSymbol(this@generateAccessorsByDelegate.name)
|
||||
isCrossinline = false
|
||||
isNoinline = false
|
||||
@@ -515,7 +516,7 @@ fun <T> FirPropertyBuilder.generateAccessorsByDelegate(
|
||||
arguments += buildPropertyAccessExpression {
|
||||
calleeReference = buildResolvedNamedReference {
|
||||
source = fakeSource
|
||||
name = DELEGATED_SETTER_PARAM
|
||||
name = SpecialNames.IMPLICIT_SET_PARAMETER
|
||||
resolvedSymbol = parameter.symbol
|
||||
}
|
||||
}
|
||||
@@ -533,8 +534,6 @@ fun <T> FirPropertyBuilder.generateAccessorsByDelegate(
|
||||
}
|
||||
}
|
||||
|
||||
private val DELEGATED_SETTER_PARAM = Name.special("<set-?>")
|
||||
|
||||
fun FirBlock?.extractContractDescriptionIfPossible(): Pair<FirBlock?, FirContractDescription?> {
|
||||
if (this == null) return null to null
|
||||
if (!isContractPresentFirCheck()) return this to null
|
||||
|
||||
@@ -58,6 +58,9 @@ object SpecialNames {
|
||||
@JvmField
|
||||
val UNDERSCORE_FOR_UNUSED_VAR = Name.special("<unused var>")
|
||||
|
||||
@JvmField
|
||||
val IMPLICIT_SET_PARAMETER = Name.special("<set-?>")
|
||||
|
||||
@JvmStatic
|
||||
fun safeIdentifier(name: Name?): Name {
|
||||
return if (name != null && !name.isSpecial) name else SAFE_IDENTIFIER_FOR_NO_NAME
|
||||
|
||||
+2
-1
@@ -21,6 +21,7 @@ import org.jetbrains.annotations.Nullable;
|
||||
import org.jetbrains.kotlin.descriptors.*;
|
||||
import org.jetbrains.kotlin.descriptors.annotations.Annotations;
|
||||
import org.jetbrains.kotlin.name.Name;
|
||||
import org.jetbrains.kotlin.name.SpecialNames;
|
||||
import org.jetbrains.kotlin.types.KotlinType;
|
||||
|
||||
import java.util.Collection;
|
||||
@@ -67,7 +68,7 @@ public class PropertySetterDescriptorImpl extends PropertyAccessorDescriptorImpl
|
||||
@NotNull Annotations annotations
|
||||
) {
|
||||
return new ValueParameterDescriptorImpl(
|
||||
setterDescriptor, null, 0, annotations, Name.special("<set-?>"), type,
|
||||
setterDescriptor, null, 0, annotations, SpecialNames.IMPLICIT_SET_PARAMETER, type,
|
||||
/* declaresDefaultValue = */ false,
|
||||
/* isCrossinline = */ false,
|
||||
/* isNoinline = */ false,
|
||||
|
||||
Reference in New Issue
Block a user