Use camel-case in FirFunctionCallOrigin

Also componentCall is operator call
This commit is contained in:
Andrey Zinovyev
2021-05-19 18:25:21 +03:00
committed by TeamCityServer
parent 419aa65381
commit d38effcbbe
17 changed files with 35 additions and 81 deletions
@@ -267,7 +267,7 @@ class ExpressionsConverter(
}
explicitReceiver = leftArgAsFir
argumentList = buildUnaryArgumentList(rightArgAsFir)
origin = if (conventionCallName != null) FirFunctionCallOrigin.OPERATOR else FirFunctionCallOrigin.INFIX
origin = if (conventionCallName != null) FirFunctionCallOrigin.Operator else FirFunctionCallOrigin.Infix
}
} else {
val firOperation = operationToken.toFirOperation()
@@ -392,7 +392,7 @@ class ExpressionsConverter(
name = conventionCallName
}
explicitReceiver = receiver
origin = FirFunctionCallOrigin.OPERATOR
origin = FirFunctionCallOrigin.Operator
}
}
else -> throw IllegalStateException("Unexpected expression: ${unaryExpression.asText}")
@@ -844,7 +844,7 @@ class ExpressionsConverter(
arguments += indices
getArgument?.let { arguments += it }
}
origin = FirFunctionCallOrigin.OPERATOR
origin = FirFunctionCallOrigin.Operator
}
}
@@ -1889,7 +1889,7 @@ open class RawFirBuilder(
}
explicitReceiver = leftArgument
argumentList = buildUnaryArgumentList(rightArgument)
origin = if (conventionCallName != null) FirFunctionCallOrigin.OPERATOR else FirFunctionCallOrigin.INFIX
origin = if (conventionCallName != null) FirFunctionCallOrigin.Operator else FirFunctionCallOrigin.Infix
}
} else {
val firOperation = operationToken.toFirOperation()
@@ -1968,7 +1968,7 @@ open class RawFirBuilder(
name = conventionCallName
}
explicitReceiver = receiver
origin = FirFunctionCallOrigin.OPERATOR
origin = FirFunctionCallOrigin.Operator
}
}
else -> throw IllegalStateException("Unexpected expression: ${expression.text}")
@@ -2065,7 +2065,7 @@ open class RawFirBuilder(
arguments += getArgument
}
}
origin = FirFunctionCallOrigin.OPERATOR
origin = FirFunctionCallOrigin.Operator
}
}
@@ -520,7 +520,7 @@ abstract class BaseFirBuilder<T>(val baseSession: FirSession, val context: Conte
} else {
generateResolvedAccessExpression(desugaredSource, initialValueVar)
}
origin = FirFunctionCallOrigin.OPERATOR
origin = FirFunctionCallOrigin.Operator
}
// resultVar is only used for prefix increment/decrement.
@@ -644,7 +644,7 @@ abstract class BaseFirBuilder<T>(val baseSession: FirSession, val context: Conte
} else {
generateResolvedAccessExpression(desugaredSource, initialValueVar)
}
origin = FirFunctionCallOrigin.OPERATOR
origin = FirFunctionCallOrigin.Operator
}
// resultVar is only used for prefix increment/decrement.
@@ -761,7 +761,7 @@ abstract class BaseFirBuilder<T>(val baseSession: FirSession, val context: Conte
arguments += generateResolvedAccessExpression(indexVar.source, indexVar)
}
}
origin = FirFunctionCallOrigin.OPERATOR
origin = FirFunctionCallOrigin.Operator
}
// initialValueVar is only used for postfix increment/decrement (stores the argument value before increment/decrement).
@@ -784,7 +784,7 @@ abstract class BaseFirBuilder<T>(val baseSession: FirSession, val context: Conte
} else {
generateResolvedAccessExpression(desugaredSource, initialValueVar)
}
origin = FirFunctionCallOrigin.OPERATOR
origin = FirFunctionCallOrigin.Operator
}
// resultVar is only used for prefix increment/decrement.
@@ -813,7 +813,7 @@ abstract class BaseFirBuilder<T>(val baseSession: FirSession, val context: Conte
resultInitializer
}
}
origin = FirFunctionCallOrigin.OPERATOR
origin = FirFunctionCallOrigin.Operator
}
}
@@ -984,7 +984,7 @@ abstract class BaseFirBuilder<T>(val baseSession: FirSession, val context: Conte
ConeSimpleDiagnostic("No value for array set", DiagnosticKind.Syntax)
)
}
origin = FirFunctionCallOrigin.OPERATOR
origin = FirFunctionCallOrigin.Operator
}
}
@@ -1027,7 +1027,7 @@ abstract class BaseFirBuilder<T>(val baseSession: FirSession, val context: Conte
calleeReference = buildSimpleNamedReference {
name = OperatorNameConventions.SET
}
origin = FirFunctionCallOrigin.OPERATOR
origin = FirFunctionCallOrigin.Operator
argumentList = buildArgumentList {
for (indexVariable in indexVariables) {
arguments += indexVariable.toQualifiedAccess()
@@ -1043,7 +1043,7 @@ abstract class BaseFirBuilder<T>(val baseSession: FirSession, val context: Conte
arguments += indexVariable.toQualifiedAccess()
}
}
origin = FirFunctionCallOrigin.OPERATOR
origin = FirFunctionCallOrigin.Operator
}
val operatorCall = buildFunctionCall {
@@ -1060,7 +1060,7 @@ abstract class BaseFirBuilder<T>(val baseSession: FirSession, val context: Conte
)
)
}
origin = FirFunctionCallOrigin.OPERATOR
origin = FirFunctionCallOrigin.Operator
}
arguments += operatorCall
}
@@ -193,7 +193,7 @@ fun FirExpression.generateContainsOperation(
name = OperatorNameConventions.NOT
}
explicitReceiver = containsCall
origin = FirFunctionCallOrigin.OPERATOR
origin = FirFunctionCallOrigin.Operator
}
}
@@ -243,7 +243,7 @@ private fun FirExpression.createConventionCall(
}
explicitReceiver = this@createConventionCall
argumentList = buildUnaryArgumentList(argument)
origin = FirFunctionCallOrigin.OPERATOR
origin = FirFunctionCallOrigin.Operator
}
}
@@ -398,7 +398,7 @@ fun FirPropertyBuilder.generateAccessorsByDelegate(
name = PROVIDE_DELEGATE
}
argumentList = buildBinaryArgumentList(thisRef(forDispatchReceiver = true), propertyRef())
origin = FirFunctionCallOrigin.OPERATOR
origin = FirFunctionCallOrigin.Operator
}
delegate = delegateBuilder.build()
if (stubMode) return
@@ -424,7 +424,7 @@ fun FirPropertyBuilder.generateAccessorsByDelegate(
name = GET_VALUE
}
argumentList = buildBinaryArgumentList(thisRef(), propertyRef())
origin = FirFunctionCallOrigin.OPERATOR
origin = FirFunctionCallOrigin.Operator
}
target = returnTarget
}
@@ -477,7 +477,7 @@ fun FirPropertyBuilder.generateAccessorsByDelegate(
}
}
}
origin = FirFunctionCallOrigin.OPERATOR
origin = FirFunctionCallOrigin.Operator
}
)
if (annotations != null) {
@@ -162,9 +162,7 @@ class FirCallResolver(
}
var reducedCandidates = if (!result.currentApplicability.isSuccess) {
val distinctApplicabilities = bestCandidates.flatMapTo(mutableSetOf()) { candidate ->
candidate.diagnostics.map { it.applicability }
}
val distinctApplicabilities = bestCandidates.mapTo(mutableSetOf()) { it.currentApplicability }
//if all candidates have the same kind on inApplicability - try to choose the most specific one
if (distinctApplicabilities.size == 1 && distinctApplicabilities.single() > CandidateApplicability.INAPPLICABLE) {
chooseMostSpecific()
@@ -272,9 +272,9 @@ internal object CheckCallModifiers : CheckerStage() {
if (callInfo.callSite is FirFunctionCall) {
val functionSymbol = candidate.symbol as? FirNamedFunctionSymbol ?: return
when {
callInfo.callSite.origin == FirFunctionCallOrigin.INFIX && !functionSymbol.fir.isInfix ->
callInfo.callSite.origin == FirFunctionCallOrigin.Infix && !functionSymbol.fir.isInfix ->
sink.reportDiagnostic(InfixCallOfNonInfixFunction(functionSymbol))
callInfo.callSite.origin == FirFunctionCallOrigin.OPERATOR && !functionSymbol.fir.isOperator ->
callInfo.callSite.origin == FirFunctionCallOrigin.Operator && !functionSymbol.fir.isOperator ->
sink.reportDiagnostic(OperatorCallOfNonOperatorFunction(functionSymbol))
callInfo.isImplicitInvoke && !functionSymbol.fir.isOperator ->
sink.reportDiagnostic(OperatorCallOfNonOperatorFunction(functionSymbol))
@@ -51,7 +51,7 @@ private class ConeConditionalEffectToFirVisitor(
return buildFunctionCall {
calleeReference = buildSimpleNamedReference { name = OperatorNameConventions.NOT }
this.explicitReceiver = explicitReceiver
origin = FirFunctionCallOrigin.OPERATOR
origin = FirFunctionCallOrigin.Operator
}
}
@@ -370,7 +370,7 @@ open class FirExpressionsResolveTransformer(transformer: FirBodyResolveTransform
this.name = name
candidateSymbol = null
}
origin = FirFunctionCallOrigin.OPERATOR
origin = FirFunctionCallOrigin.Operator
}
// x.plusAssign(y)
@@ -44,7 +44,7 @@ class FirIntegerOperatorCall @FirImplementationDetail constructor(
extensionReceiver,
argumentList,
calleeReference,
FirFunctionCallOrigin.OPERATOR
FirFunctionCallOrigin.Operator
)
@FirBuilderDsl
@@ -43,7 +43,7 @@ open class FirFunctionCallBuilder : FirAbstractFunctionCallBuilder, FirAnnotatio
override var extensionReceiver: FirExpression = FirNoReceiverExpression
override var argumentList: FirArgumentList = FirEmptyArgumentList
override lateinit var calleeReference: FirNamedReference
override var origin: FirFunctionCallOrigin = FirFunctionCallOrigin.REGULAR
override var origin: FirFunctionCallOrigin = FirFunctionCallOrigin.Regular
@OptIn(FirImplementationDetail::class)
override fun build(): FirFunctionCall {
@@ -39,7 +39,7 @@ internal class FirComponentCallImpl(
) : FirComponentCall() {
override var typeRef: FirTypeRef = FirImplicitTypeRefImpl(null)
override var calleeReference: FirNamedReference = FirSimpleNamedReference(source, Name.identifier("component$componentIndex"), null)
override val origin: FirFunctionCallOrigin = FirFunctionCallOrigin.REGULAR
override val origin: FirFunctionCallOrigin = FirFunctionCallOrigin.Operator
override fun <R, D> acceptChildren(visitor: FirVisitor<R, D>, data: D) {
typeRef.accept(visitor, data)
@@ -35,7 +35,7 @@ internal class FirImplicitInvokeCallImpl(
override var calleeReference: FirNamedReference,
) : FirImplicitInvokeCall() {
override var typeRef: FirTypeRef = FirImplicitTypeRefImpl(null)
override val origin: FirFunctionCallOrigin = FirFunctionCallOrigin.OPERATOR
override val origin: FirFunctionCallOrigin = FirFunctionCallOrigin.Operator
override fun <R, D> acceptChildren(visitor: FirVisitor<R, D>, data: D) {
typeRef.accept(visitor, data)
@@ -6,5 +6,5 @@
package org.jetbrains.kotlin.fir.expressions
enum class FirFunctionCallOrigin {
REGULAR, INFIX, OPERATOR
Regular, Infix, Operator
}
@@ -179,7 +179,7 @@ object BuilderConfigurator : AbstractBuilderConfigurator<FirTreeBuilder>(FirTree
builder(functionCall) {
configurationForFunctionCallBuilder()
default("origin") {
value = "FirFunctionCallOrigin.REGULAR"
value = "FirFunctionCallOrigin.Regular"
}
}
builder(implicitInvokeCall, init = configurationForFunctionCallBuilder)
@@ -154,11 +154,11 @@ object ImplementationConfigurator : AbstractFirTreeImplementationConfigurator()
}
impl(implicitInvokeCall) {
default("origin", "FirFunctionCallOrigin.OPERATOR")
default("origin", "FirFunctionCallOrigin.Operator")
}
impl(componentCall) {
default("origin", "FirFunctionCallOrigin.REGULAR")
default("origin", "FirFunctionCallOrigin.Operator")
}
impl(qualifiedAccessExpression)
@@ -1,45 +0,0 @@
// !DIAGNOSTICS: -UNUSED_PARAMETER, -EXTENSION_SHADOWED_BY_MEMBER
open class Example {
fun invoke() = 0
fun get(i: Int) = 0
fun component1() = 0
fun component2() = 0
fun inc() = Example()
fun plus(o: Example) = 0
}
class Example2 : Example()
operator fun Example.invoke() = ""
operator fun Example.get(i: Int) = ""
operator fun Example.component1() = ""
operator fun Example.component2() = ""
operator fun Example.inc() = Example2()
infix fun Example.plus(o: Example) = ""
fun test() {
var a = Example()
val b = Example()
consumeString(a())
consumeString(a[1])
val (x, y) = Example()
consumeString(<!ARGUMENT_TYPE_MISMATCH!>x<!>)
consumeString(<!ARGUMENT_TYPE_MISMATCH!>y<!>)
consumeExample2(++a)
consumeString(a plus b)
}
fun consumeInt(i: Int) {}
fun consumeString(s: String) {}
fun consumeExample2(e: Example2) {}
@@ -1,3 +1,4 @@
// FIR_IDENTICAL
// !DIAGNOSTICS: -UNUSED_PARAMETER, -EXTENSION_SHADOWED_BY_MEMBER
open class Example {
@@ -42,4 +43,4 @@ fun test() {
fun consumeInt(i: Int) {}
fun consumeString(s: String) {}
fun consumeExample2(e: Example2) {}
fun consumeExample2(e: Example2) {}