[FIR] Unity FirCallableDeclaration and FirCallableMemberDeclaration
After removal of all diamonds in FirDeclaration hierarchy FirCallableMemberDeclaration was only one inheritor of FirCallableDeclaration, so there is no need to keep them both
This commit is contained in:
committed by
teamcityserver
parent
adc45fd3dd
commit
51fc2e453f
+2
-2
@@ -7,7 +7,7 @@ package org.jetbrains.kotlin.fir.java
|
||||
|
||||
import org.jetbrains.kotlin.fir.FirRenderer
|
||||
import org.jetbrains.kotlin.fir.FirSession
|
||||
import org.jetbrains.kotlin.fir.declarations.FirCallableMemberDeclaration
|
||||
import org.jetbrains.kotlin.fir.declarations.FirCallableDeclaration
|
||||
import org.jetbrains.kotlin.fir.declarations.FirDeclaration
|
||||
import org.jetbrains.kotlin.fir.declarations.FirEnumEntry
|
||||
import org.jetbrains.kotlin.fir.java.declarations.FirJavaClass
|
||||
@@ -42,7 +42,7 @@ fun renderJavaClass(renderer: FirRenderer, javaClass: FirJavaClass, session: Fir
|
||||
if (declaration in renderedDeclarations) continue
|
||||
|
||||
val scopeToUse =
|
||||
if (declaration is FirCallableMemberDeclaration && declaration.status.isStatic)
|
||||
if (declaration is FirCallableDeclaration && declaration.status.isStatic)
|
||||
staticScope
|
||||
else
|
||||
memberScope
|
||||
|
||||
+1
-2
@@ -11,7 +11,6 @@ import org.jetbrains.kotlin.fir.analysis.checkers.context.CheckerContext
|
||||
import org.jetbrains.kotlin.fir.analysis.checkers.toRegularClass
|
||||
import org.jetbrains.kotlin.fir.analysis.checkers.unsubstitutedScope
|
||||
import org.jetbrains.kotlin.fir.containingClass
|
||||
import org.jetbrains.kotlin.fir.declarations.FirCallableMemberDeclaration
|
||||
import org.jetbrains.kotlin.fir.declarations.FirDeclarationOrigin
|
||||
import org.jetbrains.kotlin.fir.declarations.FirProperty
|
||||
import org.jetbrains.kotlin.fir.declarations.FirSimpleFunction
|
||||
@@ -56,7 +55,7 @@ object FirJvmOverridesBackwardCompatibilityHelper : FirOverridesBackwardCompatib
|
||||
visitedSymbols: MutableSet<FirCallableSymbol<*>>,
|
||||
context: CheckerContext
|
||||
): Boolean {
|
||||
val fir = symbol.fir as? FirCallableMemberDeclaration ?: return false
|
||||
val fir = symbol.fir
|
||||
if (fir.isFinal) return false
|
||||
|
||||
if (symbol in visitedSymbols) return true
|
||||
|
||||
@@ -135,7 +135,7 @@ inline fun <reified T : Any> FirQualifiedAccessExpression.getDeclaration(): T? {
|
||||
* or null if no proper declaration has been found.
|
||||
*/
|
||||
fun FirDeclaration.getContainingClass(context: CheckerContext): FirClassLikeDeclaration? =
|
||||
this.safeAs<FirCallableMemberDeclaration>()?.containingClass()?.toSymbol(context.session)?.fir
|
||||
this.safeAs<FirCallableDeclaration>()?.containingClass()?.toSymbol(context.session)?.fir
|
||||
|
||||
fun FirClassLikeSymbol<*>.outerClass(context: CheckerContext): FirClassLikeSymbol<*>? {
|
||||
if (this !is FirClassSymbol<*>) return null
|
||||
@@ -417,7 +417,7 @@ private fun isSubtypeOfForFunctionalTypeReturningUnit(
|
||||
return false
|
||||
}
|
||||
|
||||
fun FirCallableMemberDeclaration.isVisibleInClass(parentClass: FirClass): Boolean {
|
||||
fun FirCallableDeclaration.isVisibleInClass(parentClass: FirClass): Boolean {
|
||||
val classPackage = parentClass.symbol.classId.packageFqName
|
||||
if (visibility == Visibilities.Private ||
|
||||
!visibility.visibleFromPackage(classPackage, symbol.callableId.packageName)
|
||||
@@ -434,7 +434,7 @@ fun FirCallableMemberDeclaration.isVisibleInClass(parentClass: FirClass): Boolea
|
||||
*
|
||||
* @param parentClass the contextual class for this query.
|
||||
*/
|
||||
fun FirCallableMemberDeclaration.getImplementationStatus(sessionHolder: SessionHolder, parentClass: FirClass): ImplementationStatus {
|
||||
fun FirCallableDeclaration.getImplementationStatus(sessionHolder: SessionHolder, parentClass: FirClass): ImplementationStatus {
|
||||
val containingClass = getContainingClass(sessionHolder)
|
||||
val symbol = this.symbol
|
||||
|
||||
@@ -449,13 +449,13 @@ fun FirCallableMemberDeclaration.getImplementationStatus(sessionHolder: SessionH
|
||||
// In Java 8, non-abstract intersection overrides having abstract symbol from base class
|
||||
// still should be implemented in current class (even when they have default interface implementation)
|
||||
if (symbol.intersections.any {
|
||||
val fir = (it.fir as FirCallableMemberDeclaration).unwrapFakeOverrides()
|
||||
val fir = it.fir.unwrapFakeOverrides()
|
||||
fir.isAbstract && (fir.getContainingClass(sessionHolder) as? FirRegularClass)?.classKind == ClassKind.CLASS
|
||||
}
|
||||
) {
|
||||
// Exception from the rule above: interface implementation via delegation
|
||||
if (symbol.intersections.none {
|
||||
val fir = (it.fir as FirCallableMemberDeclaration)
|
||||
val fir = it.fir
|
||||
fir.origin == FirDeclarationOrigin.Delegated && !fir.isAbstract
|
||||
}
|
||||
) {
|
||||
@@ -487,7 +487,7 @@ private fun FirIntersectionCallableSymbol.subjectToManyNotImplemented(sessionHol
|
||||
var nonAbstractCountInInterface = 0
|
||||
var abstractCountInInterface = 0
|
||||
for (intersectionSymbol in intersections) {
|
||||
val intersection = intersectionSymbol.fir as FirCallableMemberDeclaration
|
||||
val intersection = intersectionSymbol.fir
|
||||
val containingClass = intersection.getContainingClass(sessionHolder) as? FirRegularClass
|
||||
val hasInterfaceContainer = containingClass?.classKind == ClassKind.INTERFACE
|
||||
if (intersection.modality != Modality.ABSTRACT) {
|
||||
@@ -515,7 +515,7 @@ private val FirSimpleFunction.matchesDataClassSyntheticMemberSignatures: Boolean
|
||||
(this.name == OperatorNameConventions.TO_STRING && matchesToStringSignature)
|
||||
|
||||
private fun FirDeclaration.getContainingClass(sessionHolder: SessionHolder): FirClassLikeDeclaration? =
|
||||
this.safeAs<FirCallableMemberDeclaration>()?.containingClass()?.toSymbol(sessionHolder.session)?.fir
|
||||
this.safeAs<FirCallableDeclaration>()?.containingClass()?.toSymbol(sessionHolder.session)?.fir
|
||||
|
||||
// NB: we intentionally do not check return types
|
||||
private val FirSimpleFunction.matchesEqualsSignature: Boolean
|
||||
|
||||
+1
-1
@@ -207,7 +207,7 @@ internal val FirDeclaration.isLocalMember: Boolean
|
||||
else -> false
|
||||
}
|
||||
|
||||
internal val FirCallableMemberDeclaration.isExtensionMember: Boolean
|
||||
internal val FirCallableDeclaration.isExtensionMember: Boolean
|
||||
get() {
|
||||
return receiverTypeRef != null && dispatchReceiverType != null
|
||||
}
|
||||
|
||||
+2
-2
@@ -141,7 +141,7 @@ object FirExposedVisibilityDeclarationChecker : FirBasicDeclarationChecker() {
|
||||
}
|
||||
}
|
||||
}
|
||||
checkMemberReceiver(declaration.receiverTypeRef, declaration as? FirCallableMemberDeclaration, reporter, context)
|
||||
checkMemberReceiver(declaration.receiverTypeRef, declaration as? FirCallableDeclaration, reporter, context)
|
||||
}
|
||||
|
||||
private fun checkProperty(declaration: FirProperty, reporter: DiagnosticReporter, context: CheckerContext) {
|
||||
@@ -172,7 +172,7 @@ object FirExposedVisibilityDeclarationChecker : FirBasicDeclarationChecker() {
|
||||
|
||||
private fun checkMemberReceiver(
|
||||
typeRef: FirTypeRef?,
|
||||
memberDeclaration: FirCallableMemberDeclaration?,
|
||||
memberDeclaration: FirCallableDeclaration?,
|
||||
reporter: DiagnosticReporter,
|
||||
context: CheckerContext
|
||||
) {
|
||||
|
||||
+5
-5
@@ -175,7 +175,7 @@ object FirInlineDeclarationChecker : FirFunctionChecker() {
|
||||
) {
|
||||
val source = qualifiedAccess.source ?: return
|
||||
if (targetSymbol == null) return
|
||||
val targetFir = targetSymbol.fir as? FirCallableMemberDeclaration
|
||||
val targetFir = targetSymbol.fir as? FirCallableDeclaration
|
||||
|
||||
if (targetSymbol.fir in inlinableParameters) {
|
||||
if (!qualifiedAccess.partOfCall(context)) {
|
||||
@@ -199,7 +199,7 @@ object FirInlineDeclarationChecker : FirFunctionChecker() {
|
||||
|
||||
private fun checkVisibilityAndAccess(
|
||||
accessExpression: FirQualifiedAccess,
|
||||
calledDeclaration: FirCallableMemberDeclaration?,
|
||||
calledDeclaration: FirCallableDeclaration?,
|
||||
source: FirSourceElement,
|
||||
context: CheckerContext
|
||||
) {
|
||||
@@ -248,7 +248,7 @@ object FirInlineDeclarationChecker : FirFunctionChecker() {
|
||||
}
|
||||
|
||||
private fun checkPrivateClassMemberAccess(
|
||||
calledDeclaration: FirCallableMemberDeclaration,
|
||||
calledDeclaration: FirCallableDeclaration,
|
||||
source: FirSourceElement,
|
||||
context: CheckerContext
|
||||
) {
|
||||
@@ -266,7 +266,7 @@ object FirInlineDeclarationChecker : FirFunctionChecker() {
|
||||
}
|
||||
|
||||
private fun checkSuperCalls(
|
||||
calledDeclaration: FirCallableMemberDeclaration,
|
||||
calledDeclaration: FirCallableDeclaration,
|
||||
callExpression: FirQualifiedAccess,
|
||||
context: CheckerContext
|
||||
) {
|
||||
@@ -305,7 +305,7 @@ object FirInlineDeclarationChecker : FirFunctionChecker() {
|
||||
}
|
||||
}
|
||||
|
||||
private fun FirCallableMemberDeclaration.isInsidePrivateClass(): Boolean {
|
||||
private fun FirCallableDeclaration.isInsidePrivateClass(): Boolean {
|
||||
val containingClass = this.containingClass()?.toSymbol(session)?.fir ?: return false
|
||||
|
||||
val containingClassVisibility = when (containingClass) {
|
||||
|
||||
+3
-3
@@ -10,7 +10,7 @@ import org.jetbrains.kotlin.fir.analysis.checkers.context.CheckerContext
|
||||
import org.jetbrains.kotlin.fir.analysis.diagnostics.DiagnosticReporter
|
||||
import org.jetbrains.kotlin.fir.analysis.diagnostics.FirErrors
|
||||
import org.jetbrains.kotlin.fir.analysis.diagnostics.reportOn
|
||||
import org.jetbrains.kotlin.fir.declarations.FirCallableMemberDeclaration
|
||||
import org.jetbrains.kotlin.fir.declarations.FirCallableDeclaration
|
||||
import org.jetbrains.kotlin.fir.declarations.FirFile
|
||||
import org.jetbrains.kotlin.fir.declarations.FirTypeParameter
|
||||
import org.jetbrains.kotlin.fir.resolve.diagnostics.ConeTypeParameterInQualifiedAccess
|
||||
@@ -23,7 +23,7 @@ import org.jetbrains.kotlin.fir.types.*
|
||||
object FirKClassWithIncorrectTypeArgumentChecker : FirFileChecker() {
|
||||
override fun check(declaration: FirFile, context: CheckerContext, reporter: DiagnosticReporter) {
|
||||
for (topLevelDeclaration in declaration.declarations) {
|
||||
if (topLevelDeclaration is FirCallableMemberDeclaration) {
|
||||
if (topLevelDeclaration is FirCallableDeclaration) {
|
||||
checkTopLevelDeclaration(topLevelDeclaration, context, reporter)
|
||||
}
|
||||
}
|
||||
@@ -33,7 +33,7 @@ object FirKClassWithIncorrectTypeArgumentChecker : FirFileChecker() {
|
||||
// bad: fun <T> test1() = T::class
|
||||
// okay: fun <T: Any> test2() = T::class
|
||||
private fun checkTopLevelDeclaration(
|
||||
declaration: FirCallableMemberDeclaration,
|
||||
declaration: FirCallableDeclaration,
|
||||
context: CheckerContext,
|
||||
reporter: DiagnosticReporter
|
||||
) {
|
||||
|
||||
+1
-2
@@ -23,7 +23,6 @@ import org.jetbrains.kotlin.fir.analysis.diagnostics.FirErrors.OVERRIDING_FINAL_
|
||||
import org.jetbrains.kotlin.fir.analysis.diagnostics.reportOn
|
||||
import org.jetbrains.kotlin.fir.containingClass
|
||||
import org.jetbrains.kotlin.fir.declarations.FirCallableDeclaration
|
||||
import org.jetbrains.kotlin.fir.declarations.FirCallableMemberDeclaration
|
||||
import org.jetbrains.kotlin.fir.declarations.FirClass
|
||||
import org.jetbrains.kotlin.fir.declarations.FirRegularClass
|
||||
import org.jetbrains.kotlin.fir.declarations.utils.*
|
||||
@@ -59,7 +58,7 @@ object FirNotImplementedOverrideChecker : FirClassChecker() {
|
||||
val invisibleSymbols = mutableListOf<FirCallableSymbol<*>>()
|
||||
|
||||
fun collectSymbol(symbol: FirCallableSymbol<*>) {
|
||||
val fir = symbol.fir as? FirCallableMemberDeclaration ?: return
|
||||
val fir = symbol.fir
|
||||
|
||||
val delegatedWrapperData = fir.delegatedWrapperData
|
||||
if (delegatedWrapperData != null) {
|
||||
|
||||
+2
-2
@@ -14,7 +14,7 @@ import org.jetbrains.kotlin.fir.analysis.checkers.hasModifier
|
||||
import org.jetbrains.kotlin.fir.analysis.diagnostics.DiagnosticReporter
|
||||
import org.jetbrains.kotlin.fir.analysis.diagnostics.FirErrors
|
||||
import org.jetbrains.kotlin.fir.analysis.diagnostics.reportOn
|
||||
import org.jetbrains.kotlin.fir.declarations.FirCallableMemberDeclaration
|
||||
import org.jetbrains.kotlin.fir.declarations.FirCallableDeclaration
|
||||
import org.jetbrains.kotlin.fir.declarations.FirClass
|
||||
import org.jetbrains.kotlin.fir.declarations.FirConstructor
|
||||
import org.jetbrains.kotlin.fir.declarations.utils.isOpen
|
||||
@@ -24,7 +24,7 @@ object FirOpenMemberChecker : FirClassChecker() {
|
||||
override fun check(declaration: FirClass, context: CheckerContext, reporter: DiagnosticReporter) {
|
||||
if (declaration.canHaveOpenMembers) return
|
||||
for (memberDeclaration in declaration.declarations) {
|
||||
if (memberDeclaration !is FirCallableMemberDeclaration ||
|
||||
if (memberDeclaration !is FirCallableDeclaration ||
|
||||
// Marking a constructor `open` is an error covered by diagnostic code WRONG_MODIFIER_TARGET
|
||||
memberDeclaration is FirConstructor
|
||||
) continue
|
||||
|
||||
+14
-29
@@ -16,7 +16,6 @@ import org.jetbrains.kotlin.fir.analysis.diagnostics.FirErrors
|
||||
import org.jetbrains.kotlin.fir.analysis.diagnostics.reportOn
|
||||
import org.jetbrains.kotlin.fir.analysis.overridesBackwardCompatibilityHelper
|
||||
import org.jetbrains.kotlin.fir.declarations.*
|
||||
import org.jetbrains.kotlin.fir.declarations.utils.isFinal
|
||||
import org.jetbrains.kotlin.fir.declarations.utils.isOverride
|
||||
import org.jetbrains.kotlin.fir.declarations.utils.visibility
|
||||
import org.jetbrains.kotlin.fir.resolve.substitution.substitutorByMap
|
||||
@@ -46,12 +45,12 @@ object FirOverrideChecker : FirClassChecker() {
|
||||
|
||||
for (it in declaration.declarations) {
|
||||
if (it is FirSimpleFunction || it is FirProperty) {
|
||||
checkMember(it as FirCallableMemberDeclaration, declaration, reporter, typeCheckerContext, firTypeScope, context)
|
||||
checkMember(it as FirCallableDeclaration, declaration, reporter, typeCheckerContext, firTypeScope, context)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private fun FirTypeScope.retrieveDirectOverriddenOf(member: FirCallableMemberDeclaration): List<FirCallableSymbol<*>> {
|
||||
private fun FirTypeScope.retrieveDirectOverriddenOf(member: FirCallableDeclaration): List<FirCallableSymbol<*>> {
|
||||
return when (member) {
|
||||
is FirSimpleFunction -> {
|
||||
processFunctionsByName(member.name) {}
|
||||
@@ -66,7 +65,7 @@ object FirOverrideChecker : FirClassChecker() {
|
||||
}
|
||||
|
||||
private fun ConeKotlinType.substituteAllTypeParameters(
|
||||
overrideDeclaration: FirCallableMemberDeclaration,
|
||||
overrideDeclaration: FirCallableDeclaration,
|
||||
baseDeclaration: FirCallableDeclaration,
|
||||
context: CheckerContext
|
||||
): ConeKotlinType {
|
||||
@@ -94,7 +93,6 @@ object FirOverrideChecker : FirClassChecker() {
|
||||
overriddenSymbols: List<FirCallableSymbol<*>>,
|
||||
): FirCallableDeclaration? {
|
||||
for (overridden in overriddenSymbols) {
|
||||
if (overridden.fir !is FirMemberDeclaration) continue
|
||||
val modality = (overridden.fir as FirMemberDeclaration).status.modality
|
||||
val isEffectivelyFinal = modality == null || modality == Modality.FINAL
|
||||
if (isEffectivelyFinal) {
|
||||
@@ -111,14 +109,13 @@ object FirOverrideChecker : FirClassChecker() {
|
||||
return overriddenSymbols.find { (it.fir as? FirProperty)?.isVar == true }?.fir as? FirMemberDeclaration?
|
||||
}
|
||||
|
||||
private fun FirCallableMemberDeclaration.checkVisibility(
|
||||
private fun FirCallableDeclaration.checkVisibility(
|
||||
containingClass: FirClass,
|
||||
reporter: DiagnosticReporter,
|
||||
overriddenSymbols: List<FirCallableSymbol<*>>,
|
||||
context: CheckerContext
|
||||
) {
|
||||
val visibilities = overriddenSymbols.mapNotNull {
|
||||
if (it.fir !is FirMemberDeclaration) return@mapNotNull null
|
||||
val visibilities = overriddenSymbols.map {
|
||||
it to (it.fir as FirMemberDeclaration).visibility
|
||||
}.sortedBy { pair ->
|
||||
// Regard `null` compare as Int.MIN so that we can report CANNOT_CHANGE_... first deterministically
|
||||
@@ -140,7 +137,7 @@ object FirOverrideChecker : FirClassChecker() {
|
||||
val containingDeclarations = context.containingDeclarations + containingClass
|
||||
val visibilityChecker = context.session.visibilityChecker
|
||||
val hasVisibleBase = overriddenSymbols.any {
|
||||
val fir = it.fir as? FirCallableMemberDeclaration ?: return@any true
|
||||
val fir = it.fir as? FirCallableDeclaration ?: return@any true
|
||||
visibilityChecker.isVisible(fir, context.session, file, containingDeclarations, null)
|
||||
}
|
||||
if (!hasVisibleBase) {
|
||||
@@ -152,7 +149,7 @@ object FirOverrideChecker : FirClassChecker() {
|
||||
}
|
||||
|
||||
// See [OverrideResolver#isReturnTypeOkForOverride]
|
||||
private fun FirCallableMemberDeclaration.checkReturnType(
|
||||
private fun FirCallableDeclaration.checkReturnType(
|
||||
overriddenSymbols: List<FirCallableSymbol<*>>,
|
||||
typeCheckerContext: AbstractTypeCheckerContext,
|
||||
context: CheckerContext,
|
||||
@@ -186,12 +183,12 @@ object FirOverrideChecker : FirClassChecker() {
|
||||
}
|
||||
|
||||
private fun checkMember(
|
||||
member: FirCallableMemberDeclaration,
|
||||
member: FirCallableDeclaration,
|
||||
containingClass: FirClass,
|
||||
reporter: DiagnosticReporter,
|
||||
typeCheckerContext: AbstractTypeCheckerContext,
|
||||
firTypeScope: FirTypeScope,
|
||||
context: CheckerContext
|
||||
context: CheckerContext,
|
||||
) {
|
||||
val overriddenMemberSymbols = firTypeScope.retrieveDirectOverriddenOf(member)
|
||||
|
||||
@@ -203,29 +200,15 @@ object FirOverrideChecker : FirClassChecker() {
|
||||
}
|
||||
val kind = member.source?.kind
|
||||
// Only report if the current member has real source or it's a member property declared inside the primary constructor.
|
||||
|
||||
if (kind is FirFakeSourceElementKind.DataClassGeneratedMembers) {
|
||||
overriddenMemberSymbols.find { (it.fir as? FirCallableMemberDeclaration)?.isFinal == true }?.let { base ->
|
||||
reporter.reportOn(
|
||||
containingClass.source,
|
||||
FirErrors.DATA_CLASS_OVERRIDE_CONFLICT,
|
||||
member,
|
||||
base.fir,
|
||||
context
|
||||
)
|
||||
}
|
||||
return
|
||||
}
|
||||
|
||||
if (kind !is FirRealSourceElementKind && kind !is FirFakeSourceElementKind.PropertyFromParameter) return
|
||||
|
||||
val overridden = overriddenMemberSymbols.first().originalOrSelf()
|
||||
val overriddenClass = overridden.containingClass()?.toFirRegularClass(context.session) ?: return
|
||||
val originalContainigClass = overridden.containingClass()?.toFirRegularClass(context.session) ?: return
|
||||
reporter.reportOn(
|
||||
member.source,
|
||||
FirErrors.VIRTUAL_MEMBER_HIDDEN,
|
||||
member,
|
||||
overriddenClass,
|
||||
originalContainigClass,
|
||||
context
|
||||
)
|
||||
return
|
||||
@@ -265,8 +248,10 @@ object FirOverrideChecker : FirClassChecker() {
|
||||
}
|
||||
}
|
||||
|
||||
@Suppress("UNUSED_PARAMETER") // TODO: delete me after implementing body
|
||||
private fun DiagnosticReporter.reportNothingToOverride(declaration: FirMemberDeclaration, context: CheckerContext) {
|
||||
reportOn(declaration.source, FirErrors.NOTHING_TO_OVERRIDE, declaration, context)
|
||||
// TODO: not ready yet, e.g., Collections
|
||||
// reportOn(declaration.source, FirErrors.NOTHING_TO_OVERRIDE, declaration, context)
|
||||
}
|
||||
|
||||
private fun DiagnosticReporter.reportOverridingFinalMember(
|
||||
|
||||
+2
-2
@@ -14,7 +14,7 @@ import org.jetbrains.kotlin.fir.analysis.checkers.getDeclaration
|
||||
import org.jetbrains.kotlin.fir.analysis.diagnostics.DiagnosticReporter
|
||||
import org.jetbrains.kotlin.fir.analysis.diagnostics.FirErrors
|
||||
import org.jetbrains.kotlin.fir.analysis.diagnostics.reportOn
|
||||
import org.jetbrains.kotlin.fir.declarations.FirCallableMemberDeclaration
|
||||
import org.jetbrains.kotlin.fir.declarations.FirCallableDeclaration
|
||||
import org.jetbrains.kotlin.fir.declarations.FirRegularClass
|
||||
import org.jetbrains.kotlin.fir.declarations.utils.modality
|
||||
import org.jetbrains.kotlin.fir.expressions.FirQualifiedAccessExpression
|
||||
@@ -33,7 +33,7 @@ object FirAbstractSuperCallChecker : FirQualifiedAccessExpressionChecker() {
|
||||
|
||||
if (closestClass.classKind == ClassKind.CLASS) {
|
||||
// handles all the FirSimpleFunction/FirProperty/etc.
|
||||
val item = expression.getDeclaration<FirCallableMemberDeclaration>()
|
||||
val item = expression.getDeclaration<FirCallableDeclaration>()
|
||||
?: return
|
||||
|
||||
val declaration = item.getContainingClass(context).safeAs<FirRegularClass>()
|
||||
|
||||
+2
-2
@@ -13,7 +13,7 @@ import org.jetbrains.kotlin.fir.analysis.checkers.declaration.isLocalMember
|
||||
import org.jetbrains.kotlin.fir.analysis.diagnostics.DiagnosticReporter
|
||||
import org.jetbrains.kotlin.fir.analysis.diagnostics.FirErrors
|
||||
import org.jetbrains.kotlin.fir.analysis.diagnostics.reportOn
|
||||
import org.jetbrains.kotlin.fir.declarations.FirCallableMemberDeclaration
|
||||
import org.jetbrains.kotlin.fir.declarations.FirCallableDeclaration
|
||||
import org.jetbrains.kotlin.fir.declarations.FirConstructor
|
||||
import org.jetbrains.kotlin.fir.declarations.FirProperty
|
||||
import org.jetbrains.kotlin.fir.declarations.FirValueParameter
|
||||
@@ -49,7 +49,7 @@ object FirCallableReferenceChecker : FirQualifiedAccessExpressionChecker() {
|
||||
if (referredDeclaration is FirConstructor && referredDeclaration.getContainingClass(context.session)?.classKind == ClassKind.ANNOTATION_CLASS) {
|
||||
reporter.reportOn(source, FirErrors.CALLABLE_REFERENCE_TO_ANNOTATION_CONSTRUCTOR, context)
|
||||
}
|
||||
if ((referredDeclaration as? FirCallableMemberDeclaration)?.isExtensionMember == true &&
|
||||
if ((referredDeclaration as? FirCallableDeclaration)?.isExtensionMember == true &&
|
||||
!referredDeclaration.isLocalMember
|
||||
) {
|
||||
reporter.reportOn(source, FirErrors.EXTENSION_IN_CLASS_REFERENCE_NOT_ALLOWED, referredDeclaration, context)
|
||||
|
||||
+6
-6
@@ -13,7 +13,7 @@ import org.jetbrains.kotlin.descriptors.Visibility
|
||||
import org.jetbrains.kotlin.descriptors.annotations.AnnotationUseSiteTarget
|
||||
import org.jetbrains.kotlin.fir.*
|
||||
import org.jetbrains.kotlin.fir.declarations.*
|
||||
import org.jetbrains.kotlin.fir.declarations.comparators.FirCallableMemberDeclarationComparator
|
||||
import org.jetbrains.kotlin.fir.declarations.comparators.FirCallableDeclarationComparator
|
||||
import org.jetbrains.kotlin.fir.declarations.impl.FirDefaultPropertyAccessor
|
||||
import org.jetbrains.kotlin.fir.declarations.utils.*
|
||||
import org.jetbrains.kotlin.fir.deserialization.CONTINUATION_INTERFACE_CLASS_ID
|
||||
@@ -143,7 +143,7 @@ class FirElementSerializer private constructor(
|
||||
val callableMembers =
|
||||
extension.customClassMembersProducer?.getCallableMembers(klass)
|
||||
?: klass.declarations()
|
||||
.sortedWith(FirCallableMemberDeclarationComparator)
|
||||
.sortedWith(FirCallableDeclarationComparator)
|
||||
|
||||
for (declaration in callableMembers) {
|
||||
if (declaration !is FirEnumEntry && declaration.isStatic) continue // ??? Miss values() & valueOf()
|
||||
@@ -216,13 +216,13 @@ class FirElementSerializer private constructor(
|
||||
}
|
||||
|
||||
@OptIn(ExperimentalStdlibApi::class)
|
||||
private fun FirClass.declarations(): List<FirCallableMemberDeclaration> = buildList {
|
||||
private fun FirClass.declarations(): List<FirCallableDeclaration> = buildList {
|
||||
val memberScope =
|
||||
defaultType().scope(session, scopeSession, FakeOverrideTypeCalculator.DoNothing)
|
||||
?: error("Null scope for $this")
|
||||
|
||||
fun addDeclarationIfNeeded(symbol: FirCallableSymbol<*>) {
|
||||
val declaration = symbol.fir as? FirCallableMemberDeclaration ?: return
|
||||
val declaration = symbol.fir
|
||||
if (declaration.isSubstitutionOrIntersectionOverride) return
|
||||
|
||||
// non-intersection or substitution fake override
|
||||
@@ -235,7 +235,7 @@ class FirElementSerializer private constructor(
|
||||
memberScope.processAllProperties(::addDeclarationIfNeeded)
|
||||
|
||||
for (declaration in declarations) {
|
||||
if (declaration is FirCallableMemberDeclaration && declaration.isStatic) {
|
||||
if (declaration is FirCallableDeclaration && declaration.isStatic) {
|
||||
add(declaration)
|
||||
}
|
||||
}
|
||||
@@ -817,7 +817,7 @@ class FirElementSerializer private constructor(
|
||||
|
||||
private fun FirCallableDeclaration.isSuspendOrHasSuspendTypesInSignature(): Boolean {
|
||||
// TODO (types in signature)
|
||||
return this is FirCallableMemberDeclaration && this.isSuspend
|
||||
return this.isSuspend
|
||||
}
|
||||
|
||||
private fun writeVersionRequirementForInlineClasses(
|
||||
|
||||
+1
-1
@@ -91,7 +91,7 @@ abstract class FirSerializerExtension {
|
||||
get() = null
|
||||
|
||||
interface ClassMembersProducer {
|
||||
fun getCallableMembers(klass: FirClass): Collection<FirCallableMemberDeclaration>
|
||||
fun getCallableMembers(klass: FirClass): Collection<FirCallableDeclaration>
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
+1
-1
@@ -83,7 +83,7 @@ open class FirJvmMangleComputer(
|
||||
|
||||
private fun FirDeclaration.visitParent() {
|
||||
val (parentPackageFqName, parentClassId) = when (this) {
|
||||
is FirCallableMemberDeclaration -> this.containingClass()?.classId?.let { it.packageFqName to it } ?: return
|
||||
is FirCallableDeclaration -> this.containingClass()?.classId?.let { it.packageFqName to it } ?: return
|
||||
is FirClassLikeDeclaration -> this.symbol.classId.let { it.packageFqName to it.outerClassId }
|
||||
else -> return
|
||||
}
|
||||
|
||||
@@ -32,8 +32,6 @@ import org.jetbrains.kotlin.fir.resolve.calls.originalConstructorIfTypeAlias
|
||||
import org.jetbrains.kotlin.fir.resolve.providers.FirProvider
|
||||
import org.jetbrains.kotlin.fir.scopes.FirTypeScope
|
||||
import org.jetbrains.kotlin.fir.scopes.ProcessorAction
|
||||
import org.jetbrains.kotlin.fir.scopes.impl.delegatedWrapperData
|
||||
import org.jetbrains.kotlin.fir.scopes.unsubstitutedScope
|
||||
import org.jetbrains.kotlin.fir.scopes.unsubstitutedScope
|
||||
import org.jetbrains.kotlin.fir.symbols.AccessorSymbol
|
||||
import org.jetbrains.kotlin.fir.symbols.FirBasedSymbol
|
||||
@@ -281,7 +279,7 @@ internal tailrec fun FirCallableSymbol<*>.unwrapCallRepresentative(root: FirCall
|
||||
// interface B { fun foo() }
|
||||
// interface C : A, B // for C.foo we've got an IR fake override
|
||||
// for {A & B} we don't have such an IR declaration, so we're unwrapping it
|
||||
if (fir is FirCallableMemberDeclaration && fir.dispatchReceiverType is ConeIntersectionType) {
|
||||
if (fir.dispatchReceiverType is ConeIntersectionType) {
|
||||
return fir.baseForIntersectionOverride!!.symbol.unwrapCallRepresentative(this)
|
||||
}
|
||||
|
||||
|
||||
@@ -156,7 +156,7 @@ class Fir2IrClassifierStorage(
|
||||
|
||||
private fun FirRegularClass.enumClassModality(): Modality {
|
||||
return when {
|
||||
declarations.any { it is FirCallableMemberDeclaration && it.modality == Modality.ABSTRACT } -> {
|
||||
declarations.any { it is FirCallableDeclaration && it.modality == Modality.ABSTRACT } -> {
|
||||
Modality.ABSTRACT
|
||||
}
|
||||
declarations.any { it is FirEnumEntry && it.initializer != null } -> {
|
||||
|
||||
+1
-1
@@ -1271,7 +1271,7 @@ class Fir2IrDeclarationStorage(
|
||||
|
||||
private fun IrMutableAnnotationContainer.convertAnnotationsFromLibrary(firAnnotationContainer: FirAnnotationContainer) {
|
||||
if ((firAnnotationContainer as? FirDeclaration)?.isFromLibrary == true ||
|
||||
(firAnnotationContainer is FirCallableMemberDeclaration && firAnnotationContainer.isSubstitutionOrIntersectionOverride)
|
||||
(firAnnotationContainer is FirCallableDeclaration && firAnnotationContainer.isSubstitutionOrIntersectionOverride)
|
||||
) {
|
||||
annotationGenerator.generate(this, firAnnotationContainer)
|
||||
}
|
||||
|
||||
+1
-2
@@ -6,7 +6,6 @@
|
||||
package org.jetbrains.kotlin.fir.backend
|
||||
|
||||
import org.jetbrains.kotlin.fir.FirElement
|
||||
import org.jetbrains.kotlin.fir.declarations.FirCallableMemberDeclaration
|
||||
import org.jetbrains.kotlin.fir.declarations.FirTypeAlias
|
||||
import org.jetbrains.kotlin.fir.expressions.*
|
||||
import org.jetbrains.kotlin.fir.expressions.impl.FirStubStatement
|
||||
@@ -292,7 +291,7 @@ class Fir2IrImplicitCastInserter(
|
||||
): IrExpression {
|
||||
val referencedDeclaration =
|
||||
((calleeReference as? FirResolvedNamedReference)?.resolvedSymbol as? FirCallableSymbol<*>)?.unwrapCallRepresentative()
|
||||
?.fir as? FirCallableMemberDeclaration
|
||||
?.fir
|
||||
|
||||
val dispatchReceiverType =
|
||||
referencedDeclaration?.dispatchReceiverType as? ConeClassLikeType
|
||||
|
||||
+1
-1
@@ -822,7 +822,7 @@ class CallAndReferenceGenerator(
|
||||
if (ownerFunction?.extensionReceiverParameter != null) {
|
||||
extensionReceiver = qualifiedAccess.findIrExtensionReceiver(explicitReceiverExpression)?.let {
|
||||
((qualifiedAccess.calleeReference as FirResolvedNamedReference)
|
||||
.resolvedSymbol.fir as? FirCallableMemberDeclaration)?.receiverTypeRef?.let { receiverType ->
|
||||
.resolvedSymbol.fir as? FirCallableDeclaration)?.receiverTypeRef?.let { receiverType ->
|
||||
with(visitor.implicitCastInserter) {
|
||||
it.cast(
|
||||
qualifiedAccess.extensionReceiver,
|
||||
|
||||
+1
-1
@@ -201,7 +201,7 @@ internal class DelegatedMemberGenerator(
|
||||
|
||||
}
|
||||
|
||||
private fun <S : FirCallableSymbol<D>, D : FirCallableMemberDeclaration> S.unwrapDelegateTarget(
|
||||
private fun <S : FirCallableSymbol<D>, D : FirCallableDeclaration> S.unwrapDelegateTarget(
|
||||
subClassLookupTag: ConeClassLikeLookupTag,
|
||||
firField: FirField,
|
||||
): D? {
|
||||
|
||||
+2
-2
@@ -54,7 +54,7 @@ class FakeOverrideGenerator(
|
||||
return conversionScope.withProperty(this, firProperty = null, f)
|
||||
}
|
||||
|
||||
private fun FirCallableMemberDeclaration.allowsToHaveFakeOverrideIn(klass: FirClass): Boolean {
|
||||
private fun FirCallableDeclaration.allowsToHaveFakeOverrideIn(klass: FirClass): Boolean {
|
||||
if (!allowsToHaveFakeOverride) return false
|
||||
if (this.visibility != JavaDescriptorVisibilities.PACKAGE_VISIBILITY) return true
|
||||
return this.symbol.callableId.packageName == klass.symbol.classId.packageFqName
|
||||
@@ -179,7 +179,7 @@ class FakeOverrideGenerator(
|
||||
private fun FirCallableSymbol<*>.shouldHaveComputedBaseSymbolsForClass(classLookupTag: ConeClassLikeLookupTag): Boolean =
|
||||
fir.origin.fromSupertypes && dispatchReceiverClassOrNull() == classLookupTag
|
||||
|
||||
private inline fun <reified D : FirCallableMemberDeclaration, reified S : FirCallableSymbol<D>, reified I : IrDeclaration> createFakeOverriddenIfNeeded(
|
||||
private inline fun <reified D : FirCallableDeclaration, reified S : FirCallableSymbol<D>, reified I : IrDeclaration> createFakeOverriddenIfNeeded(
|
||||
klass: FirClass,
|
||||
irClass: IrClass,
|
||||
isLocal: Boolean,
|
||||
|
||||
@@ -10,7 +10,7 @@ import org.jetbrains.kotlin.descriptors.FunctionDescriptor
|
||||
import org.jetbrains.kotlin.descriptors.Modality
|
||||
import org.jetbrains.kotlin.fir.backend.Fir2IrComponents
|
||||
import org.jetbrains.kotlin.fir.backend.declareThisReceiverParameter
|
||||
import org.jetbrains.kotlin.fir.declarations.FirCallableMemberDeclaration
|
||||
import org.jetbrains.kotlin.fir.declarations.FirCallableDeclaration
|
||||
import org.jetbrains.kotlin.fir.declarations.hasAnnotation
|
||||
import org.jetbrains.kotlin.fir.declarations.utils.*
|
||||
import org.jetbrains.kotlin.fir.symbols.Fir2IrSimpleFunctionSymbol
|
||||
@@ -29,7 +29,7 @@ import org.jetbrains.kotlin.name.ClassId
|
||||
import org.jetbrains.kotlin.resolve.annotations.JVM_STATIC_ANNOTATION_FQ_NAME
|
||||
import kotlin.properties.ReadWriteProperty
|
||||
|
||||
abstract class AbstractFir2IrLazyFunction<F : FirCallableMemberDeclaration>(
|
||||
abstract class AbstractFir2IrLazyFunction<F : FirCallableDeclaration>(
|
||||
components: Fir2IrComponents,
|
||||
override val startOffset: Int,
|
||||
override val endOffset: Int,
|
||||
@@ -87,7 +87,7 @@ abstract class AbstractFir2IrLazyFunction<F : FirCallableMemberDeclaration>(
|
||||
|
||||
protected fun shouldHaveDispatchReceiver(
|
||||
containingClass: IrClass,
|
||||
staticOwner: FirCallableMemberDeclaration
|
||||
staticOwner: FirCallableDeclaration
|
||||
): Boolean {
|
||||
return !staticOwner.isStatic &&
|
||||
(!containingClass.isObject || containingClass.isCompanion || !staticOwner.hasAnnotation(JVM_STATIC_CLASS_ID))
|
||||
|
||||
@@ -9,7 +9,7 @@ import org.jetbrains.kotlin.fir.backend.ConversionTypeContext
|
||||
import org.jetbrains.kotlin.fir.backend.Fir2IrComponents
|
||||
import org.jetbrains.kotlin.fir.backend.generateOverriddenAccessorSymbols
|
||||
import org.jetbrains.kotlin.fir.backend.toIrType
|
||||
import org.jetbrains.kotlin.fir.declarations.FirCallableMemberDeclaration
|
||||
import org.jetbrains.kotlin.fir.declarations.FirCallableDeclaration
|
||||
import org.jetbrains.kotlin.fir.declarations.FirProperty
|
||||
import org.jetbrains.kotlin.fir.declarations.FirPropertyAccessor
|
||||
import org.jetbrains.kotlin.fir.declarations.FirRegularClass
|
||||
@@ -38,12 +38,12 @@ class Fir2IrLazyPropertyAccessor(
|
||||
firParentClass: FirRegularClass,
|
||||
symbol: Fir2IrSimpleFunctionSymbol,
|
||||
isFakeOverride: Boolean
|
||||
) : AbstractFir2IrLazyFunction<FirCallableMemberDeclaration>(components, startOffset, endOffset, origin, symbol, isFakeOverride) {
|
||||
) : AbstractFir2IrLazyFunction<FirCallableDeclaration>(components, startOffset, endOffset, origin, symbol, isFakeOverride) {
|
||||
init {
|
||||
symbol.bind(this)
|
||||
}
|
||||
|
||||
override val fir: FirCallableMemberDeclaration
|
||||
override val fir: FirCallableDeclaration
|
||||
get() = firAccessor ?: firParentProperty
|
||||
|
||||
// TODO: investigate why some deserialized properties are inline
|
||||
|
||||
+2
-2
@@ -62,7 +62,7 @@ class FirBasedSignatureComposer(private val mangler: FirMangler) : Fir2IrSignatu
|
||||
override fun composeSignature(declaration: FirDeclaration, containingClass: ConeClassLikeLookupTag?): IdSignature? {
|
||||
if (declaration is FirAnonymousObject || declaration is FirAnonymousFunction) return null
|
||||
if (declaration is FirRegularClass && declaration.classId.isLocal) return null
|
||||
if (declaration is FirCallableMemberDeclaration) {
|
||||
if (declaration is FirCallableDeclaration) {
|
||||
if (declaration.visibility == Visibilities.Local) return null
|
||||
if (declaration.dispatchReceiverClassOrNull()?.classId?.isLocal == true || containingClass?.classId?.isLocal == true) return null
|
||||
}
|
||||
@@ -87,7 +87,7 @@ class FirBasedSignatureComposer(private val mangler: FirMangler) : Fir2IrSignatu
|
||||
classId.packageFqName.asString(), classId.relativeClassName.asString(), builder.hashId, builder.mask
|
||||
)
|
||||
}
|
||||
is FirCallableMemberDeclaration -> {
|
||||
is FirCallableDeclaration -> {
|
||||
if (declaration.visibility == Visibilities.Private) return null
|
||||
val containingClassId = containingClass?.classId
|
||||
|
||||
|
||||
+13
-13
@@ -40,7 +40,7 @@ import org.jetbrains.kotlin.utils.addToStdlib.safeAs
|
||||
class FirSignatureEnhancement(
|
||||
private val owner: FirRegularClass,
|
||||
private val session: FirSession,
|
||||
private val overridden: FirSimpleFunction.() -> List<FirCallableMemberDeclaration>
|
||||
private val overridden: FirSimpleFunction.() -> List<FirCallableDeclaration>
|
||||
) {
|
||||
/*
|
||||
* FirSignatureEnhancement may be created with library session which doesn't have single module data,
|
||||
@@ -306,7 +306,7 @@ class FirSignatureEnhancement(
|
||||
|
||||
private fun enhanceReceiverType(
|
||||
ownerFunction: FirJavaMethod,
|
||||
overriddenMembers: List<FirCallableMemberDeclaration>,
|
||||
overriddenMembers: List<FirCallableDeclaration>,
|
||||
memberContext: FirJavaEnhancementContext
|
||||
): FirResolvedTypeRef {
|
||||
val signatureParts = ownerFunction.partsForValueParameter(
|
||||
@@ -322,7 +322,7 @@ class FirSignatureEnhancement(
|
||||
|
||||
private fun enhanceValueParameterType(
|
||||
ownerFunction: FirFunction,
|
||||
overriddenMembers: List<FirCallableMemberDeclaration>,
|
||||
overriddenMembers: List<FirCallableDeclaration>,
|
||||
hasReceiver: Boolean,
|
||||
memberContext: FirJavaEnhancementContext,
|
||||
predefinedEnhancementInfo: PredefinedFunctionEnhancementInfo?,
|
||||
@@ -348,8 +348,8 @@ class FirSignatureEnhancement(
|
||||
}
|
||||
|
||||
private fun enhanceReturnType(
|
||||
owner: FirCallableMemberDeclaration,
|
||||
overriddenMembers: List<FirCallableMemberDeclaration>,
|
||||
owner: FirCallableDeclaration,
|
||||
overriddenMembers: List<FirCallableDeclaration>,
|
||||
memberContext: FirJavaEnhancementContext,
|
||||
predefinedEnhancementInfo: PredefinedFunctionEnhancementInfo?
|
||||
): FirResolvedTypeRef {
|
||||
@@ -370,21 +370,21 @@ class FirSignatureEnhancement(
|
||||
}
|
||||
|
||||
private sealed class TypeInSignature {
|
||||
abstract fun getTypeRef(member: FirCallableMemberDeclaration): FirTypeRef
|
||||
abstract fun getTypeRef(member: FirCallableDeclaration): FirTypeRef
|
||||
|
||||
object Return : TypeInSignature() {
|
||||
override fun getTypeRef(member: FirCallableMemberDeclaration): FirTypeRef = member.returnTypeRef
|
||||
override fun getTypeRef(member: FirCallableDeclaration): FirTypeRef = member.returnTypeRef
|
||||
}
|
||||
|
||||
object Receiver : TypeInSignature() {
|
||||
override fun getTypeRef(member: FirCallableMemberDeclaration): FirTypeRef {
|
||||
override fun getTypeRef(member: FirCallableDeclaration): FirTypeRef {
|
||||
if (member is FirJavaMethod) return member.valueParameters[0].returnTypeRef
|
||||
return member.receiverTypeRef!!
|
||||
}
|
||||
}
|
||||
|
||||
class ValueParameter(val hasReceiver: Boolean, val index: Int) : TypeInSignature() {
|
||||
override fun getTypeRef(member: FirCallableMemberDeclaration): FirTypeRef {
|
||||
override fun getTypeRef(member: FirCallableDeclaration): FirTypeRef {
|
||||
if (hasReceiver && member is FirJavaMethod) {
|
||||
return member.valueParameters[index + 1].returnTypeRef
|
||||
}
|
||||
@@ -395,12 +395,12 @@ class FirSignatureEnhancement(
|
||||
|
||||
private fun FirFunction.partsForValueParameter(
|
||||
typeQualifierResolver: FirAnnotationTypeQualifierResolver,
|
||||
overriddenMembers: List<FirCallableMemberDeclaration>,
|
||||
overriddenMembers: List<FirCallableDeclaration>,
|
||||
// TODO: investigate if it's really can be a null (check properties' with extension overrides in Java)
|
||||
parameterContainer: FirAnnotationContainer?,
|
||||
methodContext: FirJavaEnhancementContext,
|
||||
typeInSignature: TypeInSignature
|
||||
): EnhancementSignatureParts = (this as FirCallableMemberDeclaration).parts(
|
||||
): EnhancementSignatureParts = (this as FirCallableDeclaration).parts(
|
||||
typeQualifierResolver,
|
||||
overriddenMembers,
|
||||
parameterContainer, false,
|
||||
@@ -411,9 +411,9 @@ class FirSignatureEnhancement(
|
||||
typeInSignature
|
||||
)
|
||||
|
||||
private fun FirCallableMemberDeclaration.parts(
|
||||
private fun FirCallableDeclaration.parts(
|
||||
typeQualifierResolver: FirAnnotationTypeQualifierResolver,
|
||||
overriddenMembers: List<FirCallableMemberDeclaration>,
|
||||
overriddenMembers: List<FirCallableDeclaration>,
|
||||
typeContainer: FirAnnotationContainer?,
|
||||
isCovariant: Boolean,
|
||||
containerContext: FirJavaEnhancementContext,
|
||||
|
||||
+3
-3
@@ -6,7 +6,7 @@
|
||||
package org.jetbrains.kotlin.fir.java.scopes
|
||||
|
||||
import org.jetbrains.kotlin.fir.FirSession
|
||||
import org.jetbrains.kotlin.fir.declarations.FirCallableMemberDeclaration
|
||||
import org.jetbrains.kotlin.fir.declarations.FirCallableDeclaration
|
||||
import org.jetbrains.kotlin.fir.declarations.FirProperty
|
||||
import org.jetbrains.kotlin.fir.declarations.FirSimpleFunction
|
||||
import org.jetbrains.kotlin.fir.java.enhancement.FirSignatureEnhancement
|
||||
@@ -64,14 +64,14 @@ class JavaClassMembersEnhancementScope(
|
||||
return super.processFunctionsByName(name, processor)
|
||||
}
|
||||
|
||||
private fun FirCallableMemberDeclaration.overriddenMembers(name: Name): List<FirCallableMemberDeclaration> {
|
||||
private fun FirCallableDeclaration.overriddenMembers(name: Name): List<FirCallableDeclaration> {
|
||||
val backMap = overrideBindCache.getOrPut(name) {
|
||||
useSiteMemberScope
|
||||
.overrideByBase
|
||||
.toList()
|
||||
.groupBy({ (_, key) -> key }, { (value) -> value })
|
||||
}
|
||||
return backMap[this.symbol]?.map { it.fir as FirCallableMemberDeclaration } ?: emptyList()
|
||||
return backMap[this.symbol]?.map { it.fir } ?: emptyList()
|
||||
}
|
||||
|
||||
override fun processClassifiersByNameWithSubstitution(name: Name, processor: (FirClassifierSymbol<*>, ConeSubstitutor) -> Unit) {
|
||||
|
||||
@@ -7,7 +7,7 @@ package org.jetbrains.kotlin.fir.java.scopes
|
||||
|
||||
import org.jetbrains.kotlin.descriptors.Modality
|
||||
import org.jetbrains.kotlin.fir.FirSession
|
||||
import org.jetbrains.kotlin.fir.declarations.FirCallableMemberDeclaration
|
||||
import org.jetbrains.kotlin.fir.declarations.FirCallableDeclaration
|
||||
import org.jetbrains.kotlin.fir.declarations.FirProperty
|
||||
import org.jetbrains.kotlin.fir.declarations.FirSimpleFunction
|
||||
import org.jetbrains.kotlin.fir.declarations.FirTypeParameterRef
|
||||
@@ -101,7 +101,7 @@ class JavaOverrideChecker internal constructor(
|
||||
argument is ConeKotlinTypeProjection && argument.type.isTypeParameterDependent()
|
||||
}
|
||||
|
||||
private fun FirCallableMemberDeclaration.isTypeParameterDependent(): Boolean =
|
||||
private fun FirCallableDeclaration.isTypeParameterDependent(): Boolean =
|
||||
typeParameters.isNotEmpty() || returnTypeRef.isTypeParameterDependent() ||
|
||||
receiverTypeRef.isTypeParameterDependent() ||
|
||||
this is FirSimpleFunction && valueParameters.any { it.returnTypeRef.isTypeParameterDependent() }
|
||||
@@ -127,7 +127,7 @@ class JavaOverrideChecker internal constructor(
|
||||
}
|
||||
}
|
||||
|
||||
private fun FirCallableMemberDeclaration.extractTypeParametersTo(result: MutableCollection<FirTypeParameterRef>) {
|
||||
private fun FirCallableDeclaration.extractTypeParametersTo(result: MutableCollection<FirTypeParameterRef>) {
|
||||
result += typeParameters
|
||||
returnTypeRef.extractTypeParametersTo(result)
|
||||
receiverTypeRef?.extractTypeParametersTo(result)
|
||||
@@ -137,8 +137,8 @@ class JavaOverrideChecker internal constructor(
|
||||
}
|
||||
|
||||
override fun buildTypeParametersSubstitutorIfCompatible(
|
||||
overrideCandidate: FirCallableMemberDeclaration,
|
||||
baseDeclaration: FirCallableMemberDeclaration
|
||||
overrideCandidate: FirCallableDeclaration,
|
||||
baseDeclaration: FirCallableDeclaration
|
||||
): ConeSubstitutor {
|
||||
if (!overrideCandidate.isTypeParameterDependent() && !baseDeclaration.isTypeParameterDependent()) {
|
||||
return ConeSubstitutor.Empty
|
||||
@@ -162,7 +162,7 @@ class JavaOverrideChecker internal constructor(
|
||||
}
|
||||
}
|
||||
|
||||
override fun isOverriddenProperty(overrideCandidate: FirCallableMemberDeclaration, baseDeclaration: FirProperty): Boolean {
|
||||
override fun isOverriddenProperty(overrideCandidate: FirCallableDeclaration, baseDeclaration: FirProperty): Boolean {
|
||||
if (baseDeclaration.modality == Modality.FINAL) return false
|
||||
val receiverTypeRef = baseDeclaration.receiverTypeRef
|
||||
return when (overrideCandidate) {
|
||||
|
||||
+6
-9
@@ -6,10 +6,7 @@
|
||||
package org.jetbrains.kotlin.fir.resolve.calls.jvm
|
||||
|
||||
import org.jetbrains.kotlin.fir.containingClass
|
||||
import org.jetbrains.kotlin.fir.declarations.FirCallableMemberDeclaration
|
||||
import org.jetbrains.kotlin.fir.declarations.FirConstructor
|
||||
import org.jetbrains.kotlin.fir.declarations.FirSimpleFunction
|
||||
import org.jetbrains.kotlin.fir.declarations.FirVariable
|
||||
import org.jetbrains.kotlin.fir.declarations.*
|
||||
import org.jetbrains.kotlin.fir.declarations.utils.isExpect
|
||||
import org.jetbrains.kotlin.fir.resolve.calls.AbstractConeCallConflictResolver
|
||||
import org.jetbrains.kotlin.fir.resolve.calls.Candidate
|
||||
@@ -36,10 +33,10 @@ class ConeEquivalentCallConflictResolver(
|
||||
val result = mutableSetOf<Candidate>()
|
||||
outerLoop@ for (myCandidate in candidates) {
|
||||
val me = myCandidate.symbol.fir
|
||||
if (me is FirCallableMemberDeclaration && me.symbol.containingClass() == null) {
|
||||
if (me is FirCallableDeclaration && me.symbol.containingClass() == null) {
|
||||
for (otherCandidate in result) {
|
||||
val other = otherCandidate.symbol.fir
|
||||
if (other is FirCallableMemberDeclaration && other.symbol.containingClass() == null) {
|
||||
if (other is FirCallableDeclaration && other.symbol.containingClass() == null) {
|
||||
if (areEquivalentTopLevelCallables(me, myCandidate, other, otherCandidate)) {
|
||||
continue@outerLoop
|
||||
}
|
||||
@@ -52,9 +49,9 @@ class ConeEquivalentCallConflictResolver(
|
||||
}
|
||||
|
||||
private fun areEquivalentTopLevelCallables(
|
||||
first: FirCallableMemberDeclaration,
|
||||
first: FirCallableDeclaration,
|
||||
firstCandidate: Candidate,
|
||||
second: FirCallableMemberDeclaration,
|
||||
second: FirCallableDeclaration,
|
||||
secondCandidate: Candidate
|
||||
): Boolean {
|
||||
if (first.symbol.callableId != second.symbol.callableId) return false
|
||||
@@ -68,7 +65,7 @@ class ConeEquivalentCallConflictResolver(
|
||||
compareCallsByUsedArguments(secondSignature, firstSignature, false)
|
||||
}
|
||||
|
||||
private fun createFlatSignature(call: Candidate, declaration: FirCallableMemberDeclaration): FlatSignature<Candidate> {
|
||||
private fun createFlatSignature(call: Candidate, declaration: FirCallableDeclaration): FlatSignature<Candidate> {
|
||||
return when (declaration) {
|
||||
is FirSimpleFunction -> createFlatSignature(call, declaration)
|
||||
is FirConstructor -> createFlatSignature(call, declaration)
|
||||
|
||||
+1
-1
@@ -63,7 +63,7 @@ internal object CheckCallableReferenceExpectedType : CheckerStage() {
|
||||
}
|
||||
|
||||
val declarationReceiverType: ConeKotlinType? =
|
||||
(fir as? FirCallableMemberDeclaration)?.receiverTypeRef?.coneType
|
||||
fir.receiverTypeRef?.coneType
|
||||
?.let(candidate.substitutor::substituteOrSelf)
|
||||
|
||||
if (resultingReceiverType != null && declarationReceiverType != null) {
|
||||
|
||||
@@ -7,7 +7,7 @@ package org.jetbrains.kotlin.fir.resolve.calls
|
||||
|
||||
import org.jetbrains.kotlin.descriptors.ClassKind
|
||||
import org.jetbrains.kotlin.descriptors.Modality
|
||||
import org.jetbrains.kotlin.fir.declarations.FirCallableMemberDeclaration
|
||||
import org.jetbrains.kotlin.fir.declarations.FirCallableDeclaration
|
||||
import org.jetbrains.kotlin.fir.declarations.FirProperty
|
||||
import org.jetbrains.kotlin.fir.declarations.utils.modality
|
||||
import org.jetbrains.kotlin.fir.dispatchReceiverClassOrNull
|
||||
@@ -89,7 +89,7 @@ private fun BodyResolveComponents.resolveSupertypesByPropertyName(supertypes: Co
|
||||
private inline fun BodyResolveComponents.resolveSupertypesByMembers(
|
||||
supertypes: Collection<ConeKotlinType>,
|
||||
allowNonConcreteMembers: Boolean,
|
||||
getMembers: (ConeKotlinType) -> Collection<FirCallableMemberDeclaration>
|
||||
getMembers: (ConeKotlinType) -> Collection<FirCallableDeclaration>
|
||||
): Collection<ConeKotlinType> {
|
||||
val typesWithConcreteMembers = SmartList<ConeKotlinType>()
|
||||
val typesWithNonConcreteMembers = SmartList<ConeKotlinType>()
|
||||
@@ -121,7 +121,7 @@ private inline fun BodyResolveComponents.resolveSupertypesByMembers(
|
||||
}
|
||||
|
||||
@OptIn(ExperimentalStdlibApi::class)
|
||||
private fun BodyResolveComponents.getFunctionMembers(type: ConeKotlinType, name: Name): Collection<FirCallableMemberDeclaration> =
|
||||
private fun BodyResolveComponents.getFunctionMembers(type: ConeKotlinType, name: Name): Collection<FirCallableDeclaration> =
|
||||
buildList {
|
||||
type.scope(session, scopeSession, FakeOverrideTypeCalculator.DoNothing)?.processFunctionsByName(name) {
|
||||
add(it.fir)
|
||||
@@ -129,7 +129,7 @@ private fun BodyResolveComponents.getFunctionMembers(type: ConeKotlinType, name:
|
||||
}
|
||||
|
||||
@OptIn(ExperimentalStdlibApi::class)
|
||||
private fun BodyResolveComponents.getPropertyMembers(type: ConeKotlinType, name: Name): Collection<FirCallableMemberDeclaration> =
|
||||
private fun BodyResolveComponents.getPropertyMembers(type: ConeKotlinType, name: Name): Collection<FirCallableDeclaration> =
|
||||
buildList {
|
||||
type.scope(session, scopeSession, FakeOverrideTypeCalculator.DoNothing)?.processPropertiesByName(name) {
|
||||
addIfNotNull(it.fir as? FirProperty)
|
||||
@@ -137,7 +137,7 @@ private fun BodyResolveComponents.getPropertyMembers(type: ConeKotlinType, name:
|
||||
}
|
||||
|
||||
|
||||
private fun BodyResolveComponents.isConcreteMember(supertype: ConeKotlinType, member: FirCallableMemberDeclaration): Boolean {
|
||||
private fun BodyResolveComponents.isConcreteMember(supertype: ConeKotlinType, member: FirCallableDeclaration): Boolean {
|
||||
// "Concrete member" is a function or a property that is not abstract,
|
||||
// and is not an implicit fake override for a method of Any on an interface.
|
||||
|
||||
|
||||
+1
-1
@@ -138,7 +138,7 @@ class FirDelegatedPropertyInferenceSession(
|
||||
?: when (val container = components.container) {
|
||||
is FirRegularClass -> container.defaultType()
|
||||
is FirAnonymousObject -> container.defaultType()
|
||||
is FirCallableMemberDeclaration -> container.dispatchReceiverType
|
||||
is FirCallableDeclaration -> container.dispatchReceiverType
|
||||
else -> null
|
||||
} ?: components.session.builtinTypes.nullableNothingType.type
|
||||
val valueParameterForThis = (symbol as? FirFunctionSymbol<*>)?.fir?.valueParameters?.firstOrNull() ?: return
|
||||
|
||||
+1
-1
@@ -139,7 +139,7 @@ class FirProviderImpl(val session: FirSession, val kotlinScopeProvider: FirKotli
|
||||
data.state.callableContainerMap[symbol] = data.file
|
||||
}
|
||||
|
||||
private inline fun <reified D : FirCallableMemberDeclaration, S : FirCallableSymbol<D>> registerCallable(
|
||||
private inline fun <reified D : FirCallableDeclaration, S : FirCallableSymbol<D>> registerCallable(
|
||||
symbol: S,
|
||||
data: FirRecorderData,
|
||||
map: MutableMap<CallableId, List<S>>
|
||||
|
||||
+1
-1
@@ -498,7 +498,7 @@ class FirCallCompletionResultsWriterTransformer(
|
||||
private fun computeTypeArgumentTypes(
|
||||
candidate: Candidate,
|
||||
): List<ConeKotlinType> {
|
||||
val declaration = candidate.symbol.fir as? FirCallableMemberDeclaration ?: return emptyList()
|
||||
val declaration = candidate.symbol.fir as? FirCallableDeclaration ?: return emptyList()
|
||||
|
||||
return declaration.typeParameters.map { ConeTypeParameterTypeImpl(it.symbol.toLookupTag(), false) }
|
||||
.map { candidate.substitutor.substituteOrSelf(it) }
|
||||
|
||||
+2
-2
@@ -56,10 +56,10 @@ fun <F : FirClassLikeDeclaration> F.runStatusResolveForLocalClass(
|
||||
}
|
||||
|
||||
abstract class ResolvedStatusCalculator {
|
||||
abstract fun tryCalculateResolvedStatus(declaration: FirCallableMemberDeclaration): FirResolvedDeclarationStatus
|
||||
abstract fun tryCalculateResolvedStatus(declaration: FirCallableDeclaration): FirResolvedDeclarationStatus
|
||||
|
||||
object Default : ResolvedStatusCalculator() {
|
||||
override fun tryCalculateResolvedStatus(declaration: FirCallableMemberDeclaration): FirResolvedDeclarationStatus {
|
||||
override fun tryCalculateResolvedStatus(declaration: FirCallableDeclaration): FirResolvedDeclarationStatus {
|
||||
val status = declaration.status
|
||||
require(status is FirResolvedDeclarationStatus) {
|
||||
"Status of ${declaration.render()} is unresolved"
|
||||
|
||||
+2
-2
@@ -82,7 +82,7 @@ class FirStatusResolver(
|
||||
return resolveStatus(function, function.status, containingClass, null, isLocal) l@{
|
||||
if (containingClass == null) return@l emptyList()
|
||||
@Suppress("RemoveExplicitTypeArguments") // Workaround for KT-42175
|
||||
buildList<FirCallableMemberDeclaration> {
|
||||
buildList<FirCallableDeclaration> {
|
||||
val scope = containingClass.unsubstitutedScope(session, scopeSession, withForcedTypeCalculator = false)
|
||||
val symbol = function.symbol
|
||||
scope.processFunctionsByName(function.name) {}
|
||||
@@ -237,7 +237,7 @@ class FirStatusResolver(
|
||||
): Modality {
|
||||
return when (declaration) {
|
||||
is FirRegularClass -> if (declaration.classKind == ClassKind.INTERFACE) Modality.ABSTRACT else Modality.FINAL
|
||||
is FirCallableMemberDeclaration -> {
|
||||
is FirCallableDeclaration -> {
|
||||
when {
|
||||
containingClass == null -> Modality.FINAL
|
||||
containingClass.classKind == ClassKind.INTERFACE -> {
|
||||
|
||||
+1
-1
@@ -82,7 +82,7 @@ open class FirDeclarationsResolveTransformer(transformer: FirBodyResolveTransfor
|
||||
return ((data as? ResolutionMode.WithStatus)?.status ?: declarationStatus)
|
||||
}
|
||||
|
||||
private fun prepareSignatureForBodyResolve(callableMember: FirCallableMemberDeclaration) {
|
||||
private fun prepareSignatureForBodyResolve(callableMember: FirCallableDeclaration) {
|
||||
callableMember.transformReturnTypeRef(transformer, ResolutionMode.ContextIndependent)
|
||||
callableMember.transformReceiverTypeRef(transformer, ResolutionMode.ContextIndependent)
|
||||
if (callableMember is FirFunction) {
|
||||
|
||||
+7
-7
@@ -155,7 +155,7 @@ open class FirImplicitAwareBodyResolveTransformer(
|
||||
}
|
||||
}
|
||||
|
||||
private fun <D : FirCallableMemberDeclaration> computeCachedTransformationResult(
|
||||
private fun <D : FirCallableDeclaration> computeCachedTransformationResult(
|
||||
member: D,
|
||||
transform: () -> D
|
||||
): D {
|
||||
@@ -188,7 +188,7 @@ private class ReturnTypeCalculatorWithJump(
|
||||
private val session: FirSession,
|
||||
private val scopeSession: ScopeSession,
|
||||
val implicitBodyResolveComputationSession: ImplicitBodyResolveComputationSession,
|
||||
val designationMapForLocalClasses: Map<FirCallableMemberDeclaration, List<FirClassLikeDeclaration>> = mapOf(),
|
||||
val designationMapForLocalClasses: Map<FirCallableDeclaration, List<FirClassLikeDeclaration>> = mapOf(),
|
||||
val createTransformer: (
|
||||
designation: Iterator<FirElement>,
|
||||
session: FirSession,
|
||||
@@ -215,7 +215,7 @@ private class ReturnTypeCalculatorWithJump(
|
||||
val returnTypeRef = declaration.returnTypeRef
|
||||
if (returnTypeRef is FirResolvedTypeRef) return returnTypeRef
|
||||
|
||||
require(declaration is FirCallableMemberDeclaration) { "${declaration::class}: ${declaration.render()}" }
|
||||
require(declaration is FirCallableDeclaration) { "${declaration::class}: ${declaration.render()}" }
|
||||
|
||||
if (declaration is FirSyntheticProperty) {
|
||||
return tryCalculateReturnType(declaration.getter.delegate)
|
||||
@@ -246,7 +246,7 @@ private class ReturnTypeCalculatorWithJump(
|
||||
}
|
||||
}
|
||||
|
||||
private fun computeReturnTypeRef(declaration: FirCallableMemberDeclaration): FirResolvedTypeRef {
|
||||
private fun computeReturnTypeRef(declaration: FirCallableDeclaration): FirResolvedTypeRef {
|
||||
val symbol = declaration.symbol
|
||||
val provider = session.firProvider
|
||||
|
||||
@@ -281,7 +281,7 @@ private class ReturnTypeCalculatorWithJump(
|
||||
|
||||
designation.first().transform<FirElement, ResolutionMode>(transformer, ResolutionMode.ContextDependent)
|
||||
|
||||
val transformedDeclaration = transformer.lastResult as? FirCallableMemberDeclaration
|
||||
val transformedDeclaration = transformer.lastResult as? FirCallableDeclaration
|
||||
?: error("Unexpected lastResult: ${transformer.lastResult?.render()}")
|
||||
|
||||
val newReturnTypeRef = transformedDeclaration.returnTypeRef
|
||||
@@ -344,7 +344,7 @@ class ImplicitBodyResolveComputationSession {
|
||||
|
||||
fun storeResult(
|
||||
symbol: FirCallableSymbol<*>,
|
||||
transformedDeclaration: FirCallableMemberDeclaration
|
||||
transformedDeclaration: FirCallableDeclaration
|
||||
) {
|
||||
require(implicitBodyResolveStatusMap[symbol] == ImplicitBodyResolveComputationStatus.Computing) {
|
||||
"Unexpected static in storeResult for $symbol: ${implicitBodyResolveStatusMap[symbol]}"
|
||||
@@ -365,6 +365,6 @@ internal sealed class ImplicitBodyResolveComputationStatus {
|
||||
|
||||
class Computed(
|
||||
val resolvedTypeRef: FirResolvedTypeRef,
|
||||
val transformedDeclaration: FirCallableMemberDeclaration
|
||||
val transformedDeclaration: FirCallableDeclaration
|
||||
) : ImplicitBodyResolveComputationStatus()
|
||||
}
|
||||
|
||||
+11
-14
@@ -13,16 +13,16 @@ import org.jetbrains.kotlin.utils.keysToMap
|
||||
|
||||
class LocalClassesNavigationInfo(
|
||||
val parentForClass: Map<FirClassLikeDeclaration, FirClassLikeDeclaration?>,
|
||||
private val parentClassForFunction: Map<FirCallableMemberDeclaration, FirClassLikeDeclaration>,
|
||||
private val parentClassForFunction: Map<FirCallableDeclaration, FirClassLikeDeclaration>,
|
||||
val allMembers: List<FirDeclaration>
|
||||
) {
|
||||
val designationMap: Map<FirCallableMemberDeclaration, List<FirClassLikeDeclaration>> by lazy {
|
||||
val designationMap: Map<FirCallableDeclaration, List<FirClassLikeDeclaration>> by lazy {
|
||||
parentClassForFunction.keys.keysToMap {
|
||||
pathForCallable(it)
|
||||
}
|
||||
}
|
||||
|
||||
private fun pathForCallable(callableMemberDeclaration: FirCallableMemberDeclaration): List<FirClassLikeDeclaration> {
|
||||
private fun pathForCallable(callableMemberDeclaration: FirCallableDeclaration): List<FirClassLikeDeclaration> {
|
||||
val result = mutableListOf<FirClassLikeDeclaration>()
|
||||
var current = parentClassForFunction[callableMemberDeclaration]
|
||||
|
||||
@@ -43,7 +43,7 @@ fun FirClassLikeDeclaration.collectLocalClassesNavigationInfo(): LocalClassesNav
|
||||
}
|
||||
|
||||
private class NavigationInfoVisitor : FirDefaultVisitor<Unit, Any?>() {
|
||||
val resultingMap: MutableMap<FirCallableMemberDeclaration, FirClassLikeDeclaration> = mutableMapOf()
|
||||
val resultingMap: MutableMap<FirCallableDeclaration, FirClassLikeDeclaration> = mutableMapOf()
|
||||
val parentForClass: MutableMap<FirClassLikeDeclaration, FirClassLikeDeclaration?> = mutableMapOf()
|
||||
val allMembers: MutableList<FirDeclaration> = mutableListOf()
|
||||
private val currentPath: MutableList<FirClassLikeDeclaration> = mutableListOf()
|
||||
@@ -68,24 +68,21 @@ private class NavigationInfoVisitor : FirDefaultVisitor<Unit, Any?>() {
|
||||
}
|
||||
|
||||
override fun visitSimpleFunction(simpleFunction: FirSimpleFunction, data: Any?) {
|
||||
visitCallableMemberDeclaration(simpleFunction, null)
|
||||
visitCallableDeclaration(simpleFunction, null)
|
||||
}
|
||||
|
||||
override fun visitProperty(property: FirProperty, data: Any?) {
|
||||
visitCallableMemberDeclaration(property, null)
|
||||
visitCallableDeclaration(property, null)
|
||||
}
|
||||
|
||||
override fun visitConstructor(constructor: FirConstructor, data: Any?) {
|
||||
visitCallableMemberDeclaration(constructor, null)
|
||||
visitCallableDeclaration(constructor, null)
|
||||
}
|
||||
|
||||
override fun visitCallableMemberDeclaration(
|
||||
callableMemberDeclaration: FirCallableMemberDeclaration,
|
||||
data: Any?
|
||||
) {
|
||||
allMembers += callableMemberDeclaration
|
||||
if (callableMemberDeclaration.returnTypeRef !is FirImplicitTypeRef) return
|
||||
resultingMap[callableMemberDeclaration] = currentPath.last()
|
||||
override fun visitCallableDeclaration(callableDeclaration: FirCallableDeclaration, data: Any?) {
|
||||
allMembers += callableDeclaration
|
||||
if (callableDeclaration.returnTypeRef !is FirImplicitTypeRef) return
|
||||
resultingMap[callableDeclaration] = currentPath.last()
|
||||
}
|
||||
|
||||
override fun visitAnonymousInitializer(anonymousInitializer: FirAnonymousInitializer, data: Any?) {
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
|
||||
package org.jetbrains.kotlin.fir.scopes
|
||||
|
||||
import org.jetbrains.kotlin.fir.declarations.FirCallableMemberDeclaration
|
||||
import org.jetbrains.kotlin.fir.declarations.FirCallableDeclaration
|
||||
import org.jetbrains.kotlin.fir.declarations.FirProperty
|
||||
import org.jetbrains.kotlin.fir.declarations.FirSimpleFunction
|
||||
|
||||
@@ -16,7 +16,7 @@ interface FirOverrideChecker {
|
||||
): Boolean
|
||||
|
||||
fun isOverriddenProperty(
|
||||
overrideCandidate: FirCallableMemberDeclaration, // NB: in Java it can be a function which overrides accessor
|
||||
overrideCandidate: FirCallableDeclaration, // NB: in Java it can be a function which overrides accessor
|
||||
baseDeclaration: FirProperty
|
||||
): Boolean
|
||||
}
|
||||
|
||||
+5
-5
@@ -25,13 +25,13 @@ abstract class AbstractFirOverrideScope(
|
||||
return overrideChecker.isOverriddenFunction(overrideCandidate, baseDeclaration)
|
||||
}
|
||||
|
||||
private fun isOverriddenProperty(overrideCandidate: FirCallableMemberDeclaration, baseDeclaration: FirProperty): Boolean {
|
||||
private fun isOverriddenProperty(overrideCandidate: FirCallableDeclaration, baseDeclaration: FirProperty): Boolean {
|
||||
return overrideChecker.isOverriddenProperty(overrideCandidate, baseDeclaration)
|
||||
}
|
||||
|
||||
protected fun similarFunctionsOrBothProperties(
|
||||
overrideCandidate: FirCallableMemberDeclaration,
|
||||
baseDeclaration: FirCallableMemberDeclaration
|
||||
overrideCandidate: FirCallableDeclaration,
|
||||
baseDeclaration: FirCallableDeclaration
|
||||
): Boolean {
|
||||
return when (overrideCandidate) {
|
||||
is FirSimpleFunction -> when (baseDeclaration) {
|
||||
@@ -50,9 +50,9 @@ abstract class AbstractFirOverrideScope(
|
||||
protected open fun FirCallableSymbol<*>.getOverridden(overrideCandidates: Set<FirCallableSymbol<*>>): FirCallableSymbol<*>? {
|
||||
if (overrideByBase.containsKey(this)) return overrideByBase[this]
|
||||
|
||||
val baseDeclaration = (this as FirBasedSymbol<*>).fir as FirCallableMemberDeclaration
|
||||
val baseDeclaration = (this as FirBasedSymbol<*>).fir as FirCallableDeclaration
|
||||
val override = overrideCandidates.firstOrNull {
|
||||
val overrideCandidate = (it as FirBasedSymbol<*>).fir as FirCallableMemberDeclaration
|
||||
val overrideCandidate = (it as FirBasedSymbol<*>).fir as FirCallableDeclaration
|
||||
baseDeclaration.modality != Modality.FINAL && similarFunctionsOrBothProperties(overrideCandidate, baseDeclaration)
|
||||
} // TODO: two or more overrides for one fun?
|
||||
overrideByBase[this] = override
|
||||
|
||||
+5
-5
@@ -6,7 +6,7 @@
|
||||
package org.jetbrains.kotlin.fir.scopes.impl
|
||||
|
||||
import org.jetbrains.kotlin.fir.FirSession
|
||||
import org.jetbrains.kotlin.fir.declarations.FirCallableMemberDeclaration
|
||||
import org.jetbrains.kotlin.fir.declarations.FirCallableDeclaration
|
||||
import org.jetbrains.kotlin.fir.resolve.substitution.ConeSubstitutor
|
||||
import org.jetbrains.kotlin.fir.resolve.substitution.substitutorByMap
|
||||
import org.jetbrains.kotlin.fir.scopes.FirOverrideChecker
|
||||
@@ -15,14 +15,14 @@ import org.jetbrains.kotlin.fir.types.impl.ConeTypeParameterTypeImpl
|
||||
abstract class FirAbstractOverrideChecker : FirOverrideChecker {
|
||||
|
||||
protected abstract fun buildTypeParametersSubstitutorIfCompatible(
|
||||
overrideCandidate: FirCallableMemberDeclaration,
|
||||
baseDeclaration: FirCallableMemberDeclaration
|
||||
overrideCandidate: FirCallableDeclaration,
|
||||
baseDeclaration: FirCallableDeclaration
|
||||
): ConeSubstitutor?
|
||||
}
|
||||
|
||||
fun buildSubstitutorForOverridesCheck(
|
||||
overrideCandidate: FirCallableMemberDeclaration,
|
||||
baseDeclaration: FirCallableMemberDeclaration,
|
||||
overrideCandidate: FirCallableDeclaration,
|
||||
baseDeclaration: FirCallableDeclaration,
|
||||
useSiteSession: FirSession
|
||||
): ConeSubstitutor? {
|
||||
if (overrideCandidate.typeParameters.size != baseDeclaration.typeParameters.size) return null
|
||||
|
||||
+1
-1
@@ -34,7 +34,7 @@ class FirClassDeclaredMemberScope(
|
||||
val result = mutableMapOf<Name, MutableList<FirCallableSymbol<*>>>()
|
||||
loop@ for (declaration in klass.declarations) {
|
||||
when (declaration) {
|
||||
is FirCallableMemberDeclaration -> {
|
||||
is FirCallableDeclaration -> {
|
||||
val name = when (declaration) {
|
||||
is FirConstructor -> CONSTRUCTOR_NAME
|
||||
is FirVariable -> if (declaration.isSynthetic) continue@loop else declaration.name
|
||||
|
||||
+2
-2
@@ -7,7 +7,7 @@ package org.jetbrains.kotlin.fir.scopes.impl
|
||||
|
||||
import org.jetbrains.kotlin.descriptors.Visibilities
|
||||
import org.jetbrains.kotlin.fir.FirSession
|
||||
import org.jetbrains.kotlin.fir.declarations.FirCallableMemberDeclaration
|
||||
import org.jetbrains.kotlin.fir.declarations.FirCallableDeclaration
|
||||
import org.jetbrains.kotlin.fir.declarations.FirTypeParameter
|
||||
import org.jetbrains.kotlin.fir.declarations.FirTypeParameterRef
|
||||
import org.jetbrains.kotlin.fir.declarations.FirTypeParameterRefsOwner
|
||||
@@ -211,7 +211,7 @@ class FirClassSubstitutionScope(
|
||||
val fakeOverrideSubstitution: FakeOverrideSubstitution?
|
||||
)
|
||||
|
||||
private fun createSubstitutedData(member: FirCallableMemberDeclaration): SubstitutedData {
|
||||
private fun createSubstitutedData(member: FirCallableDeclaration): SubstitutedData {
|
||||
val (newTypeParameters, substitutor) = FirFakeOverrideGenerator.createNewTypeParametersAndSubstitutor(
|
||||
session,
|
||||
member as FirTypeParameterRefsOwner,
|
||||
|
||||
+2
-2
@@ -186,7 +186,7 @@ object FirFakeOverrideGenerator {
|
||||
}
|
||||
val symbol = baseFunction.symbol
|
||||
val (copiedReceiverType, possibleReturnType) = substituteReceiverAndReturnType(
|
||||
baseFunction as FirCallableMemberDeclaration, newReceiverType, newReturnType, substitutor
|
||||
baseFunction as FirCallableDeclaration, newReceiverType, newReturnType, substitutor
|
||||
)
|
||||
val (copiedReturnType, newFakeOverrideSubstitution) = when (possibleReturnType) {
|
||||
is Maybe.Value -> possibleReturnType.value to null
|
||||
@@ -348,7 +348,7 @@ object FirFakeOverrideGenerator {
|
||||
}
|
||||
|
||||
private fun substituteReceiverAndReturnType(
|
||||
baseCallable: FirCallableMemberDeclaration,
|
||||
baseCallable: FirCallableDeclaration,
|
||||
newReceiverType: ConeKotlinType?,
|
||||
newReturnType: ConeKotlinType?,
|
||||
substitutor: ConeSubstitutor
|
||||
|
||||
+2
-2
@@ -5,7 +5,7 @@
|
||||
|
||||
package org.jetbrains.kotlin.fir.scopes.impl
|
||||
|
||||
import org.jetbrains.kotlin.fir.declarations.FirCallableMemberDeclaration
|
||||
import org.jetbrains.kotlin.fir.declarations.FirCallableDeclaration
|
||||
import org.jetbrains.kotlin.fir.declarations.FirTypedDeclaration
|
||||
import org.jetbrains.kotlin.fir.isIntersectionOverride
|
||||
import org.jetbrains.kotlin.fir.isSubstitutionOverride
|
||||
@@ -75,7 +75,7 @@ class FirScopeWithFakeOverrideTypeCalculator(
|
||||
}
|
||||
|
||||
private fun updateReturnType(declaration: FirTypedDeclaration) {
|
||||
if (declaration !is FirCallableMemberDeclaration) return
|
||||
if (declaration !is FirCallableDeclaration) return
|
||||
if (declaration.isSubstitutionOverride || declaration.isIntersectionOverride) {
|
||||
fakeOverrideTypeCalculator.computeReturnType(declaration)
|
||||
}
|
||||
|
||||
+3
-3
@@ -105,8 +105,8 @@ class FirStandardOverrideChecker(private val session: FirSession) : FirAbstractO
|
||||
}
|
||||
|
||||
override fun buildTypeParametersSubstitutorIfCompatible(
|
||||
overrideCandidate: FirCallableMemberDeclaration,
|
||||
baseDeclaration: FirCallableMemberDeclaration
|
||||
overrideCandidate: FirCallableDeclaration,
|
||||
baseDeclaration: FirCallableDeclaration
|
||||
): ConeSubstitutor? {
|
||||
val substitutor = buildSubstitutorForOverridesCheck(overrideCandidate, baseDeclaration, session) ?: return null
|
||||
if (
|
||||
@@ -143,7 +143,7 @@ class FirStandardOverrideChecker(private val session: FirSession) : FirAbstractO
|
||||
}
|
||||
|
||||
override fun isOverriddenProperty(
|
||||
overrideCandidate: FirCallableMemberDeclaration,
|
||||
overrideCandidate: FirCallableDeclaration,
|
||||
baseDeclaration: FirProperty
|
||||
): Boolean {
|
||||
if (Visibilities.isPrivate(baseDeclaration.visibility)) return false
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
|
||||
package org.jetbrains.kotlin.fir.scopes.impl
|
||||
|
||||
import org.jetbrains.kotlin.fir.declarations.FirCallableMemberDeclaration
|
||||
import org.jetbrains.kotlin.fir.declarations.FirCallableDeclaration
|
||||
import org.jetbrains.kotlin.fir.declarations.FirSimpleFunction
|
||||
import org.jetbrains.kotlin.fir.declarations.utils.isStatic
|
||||
import org.jetbrains.kotlin.fir.resolve.substitution.ConeSubstitutor
|
||||
@@ -33,7 +33,7 @@ class FirStaticScope(private val delegateScope: FirScope) : FirScope(), FirConta
|
||||
|
||||
override fun processPropertiesByName(name: Name, processor: (FirVariableSymbol<*>) -> Unit) {
|
||||
delegateScope.processPropertiesByName(name) {
|
||||
if ((it.fir as? FirCallableMemberDeclaration)?.isStatic == true) {
|
||||
if ((it.fir as? FirCallableDeclaration)?.isStatic == true) {
|
||||
processor(it)
|
||||
}
|
||||
}
|
||||
|
||||
+4
-5
@@ -402,7 +402,6 @@ class FirTypeIntersectionScope private constructor(
|
||||
): Boolean {
|
||||
val aFir = a.fir
|
||||
val bFir = b.fir
|
||||
if (aFir !is FirCallableMemberDeclaration || bFir !is FirCallableMemberDeclaration) return false
|
||||
|
||||
val substitutor = buildSubstitutorForOverridesCheck(aFir, bFir, session) ?: return false
|
||||
// NB: these lines throw CCE in modularized tests when changed to just .coneType (FirImplicitTypeRef)
|
||||
@@ -439,8 +438,8 @@ class FirTypeIntersectionScope private constructor(
|
||||
}
|
||||
|
||||
val result = Visibilities.compare(
|
||||
(member.member.fir as FirCallableMemberDeclaration).status.visibility,
|
||||
(candidate.member.fir as FirCallableMemberDeclaration).status.visibility
|
||||
member.member.fir.status.visibility,
|
||||
candidate.member.fir.status.visibility
|
||||
)
|
||||
if (result != null && result < 0) {
|
||||
member = candidate
|
||||
@@ -457,7 +456,7 @@ class FirTypeIntersectionScope private constructor(
|
||||
|
||||
val iterator = members.iterator()
|
||||
|
||||
val overrideCandidate = overrider.member.fir as FirCallableMemberDeclaration
|
||||
val overrideCandidate = overrider.member.fir
|
||||
while (iterator.hasNext()) {
|
||||
val next = iterator.next()
|
||||
if (next == overrider) {
|
||||
@@ -465,7 +464,7 @@ class FirTypeIntersectionScope private constructor(
|
||||
continue
|
||||
}
|
||||
|
||||
if (similarFunctionsOrBothProperties(overrideCandidate, next.member.fir as FirCallableMemberDeclaration)) {
|
||||
if (similarFunctionsOrBothProperties(overrideCandidate, next.member.fir)) {
|
||||
result.add(next)
|
||||
iterator.remove()
|
||||
}
|
||||
|
||||
@@ -32,9 +32,9 @@ abstract class FirAnonymousFunction : FirFunction(), FirTypeParametersOwner {
|
||||
abstract override val attributes: FirDeclarationAttributes
|
||||
abstract override val annotations: List<FirAnnotationCall>
|
||||
abstract override val returnTypeRef: FirTypeRef
|
||||
abstract override val status: FirDeclarationStatus
|
||||
abstract override val receiverTypeRef: FirTypeRef?
|
||||
abstract override val deprecation: DeprecationsPerUseSite?
|
||||
abstract override val status: FirDeclarationStatus
|
||||
abstract override val containerSource: DeserializedContainerSource?
|
||||
abstract override val dispatchReceiverType: ConeKotlinType?
|
||||
abstract override val controlFlowGraphReference: FirControlFlowGraphReference?
|
||||
@@ -78,10 +78,10 @@ abstract class FirAnonymousFunction : FirFunction(), FirTypeParametersOwner {
|
||||
|
||||
abstract override fun <D> transformReturnTypeRef(transformer: FirTransformer<D>, data: D): FirAnonymousFunction
|
||||
|
||||
abstract override fun <D> transformReceiverTypeRef(transformer: FirTransformer<D>, data: D): FirAnonymousFunction
|
||||
|
||||
abstract override fun <D> transformStatus(transformer: FirTransformer<D>, data: D): FirAnonymousFunction
|
||||
|
||||
abstract override fun <D> transformReceiverTypeRef(transformer: FirTransformer<D>, data: D): FirAnonymousFunction
|
||||
|
||||
abstract override fun <D> transformValueParameters(transformer: FirTransformer<D>, data: D): FirAnonymousFunction
|
||||
|
||||
abstract override fun <D> transformBody(transformer: FirTransformer<D>, data: D): FirAnonymousFunction
|
||||
|
||||
+11
-1
@@ -10,7 +10,9 @@ import org.jetbrains.kotlin.fir.FirModuleData
|
||||
import org.jetbrains.kotlin.fir.FirSourceElement
|
||||
import org.jetbrains.kotlin.fir.expressions.FirAnnotationCall
|
||||
import org.jetbrains.kotlin.fir.symbols.impl.FirCallableSymbol
|
||||
import org.jetbrains.kotlin.fir.types.ConeKotlinType
|
||||
import org.jetbrains.kotlin.fir.types.FirTypeRef
|
||||
import org.jetbrains.kotlin.serialization.deserialization.descriptors.DeserializedContainerSource
|
||||
import org.jetbrains.kotlin.fir.visitors.*
|
||||
|
||||
/*
|
||||
@@ -18,7 +20,7 @@ import org.jetbrains.kotlin.fir.visitors.*
|
||||
* DO NOT MODIFY IT MANUALLY
|
||||
*/
|
||||
|
||||
sealed class FirCallableDeclaration : FirTypedDeclaration() {
|
||||
sealed class FirCallableDeclaration : FirTypedDeclaration(), FirMemberDeclaration {
|
||||
abstract override val source: FirSourceElement?
|
||||
abstract override val moduleData: FirModuleData
|
||||
abstract override val resolvePhase: FirResolvePhase
|
||||
@@ -26,9 +28,13 @@ sealed class FirCallableDeclaration : FirTypedDeclaration() {
|
||||
abstract override val attributes: FirDeclarationAttributes
|
||||
abstract override val annotations: List<FirAnnotationCall>
|
||||
abstract override val returnTypeRef: FirTypeRef
|
||||
abstract override val typeParameters: List<FirTypeParameterRef>
|
||||
abstract override val status: FirDeclarationStatus
|
||||
abstract val receiverTypeRef: FirTypeRef?
|
||||
abstract val deprecation: DeprecationsPerUseSite?
|
||||
abstract override val symbol: FirCallableSymbol<out FirCallableDeclaration>
|
||||
abstract val containerSource: DeserializedContainerSource?
|
||||
abstract val dispatchReceiverType: ConeKotlinType?
|
||||
|
||||
override fun <R, D> accept(visitor: FirVisitor<R, D>, data: D): R = visitor.visitCallableDeclaration(this, data)
|
||||
|
||||
@@ -48,5 +54,9 @@ sealed class FirCallableDeclaration : FirTypedDeclaration() {
|
||||
|
||||
abstract override fun <D> transformReturnTypeRef(transformer: FirTransformer<D>, data: D): FirCallableDeclaration
|
||||
|
||||
abstract override fun <D> transformTypeParameters(transformer: FirTransformer<D>, data: D): FirCallableDeclaration
|
||||
|
||||
abstract override fun <D> transformStatus(transformer: FirTransformer<D>, data: D): FirCallableDeclaration
|
||||
|
||||
abstract fun <D> transformReceiverTypeRef(transformer: FirTransformer<D>, data: D): FirCallableDeclaration
|
||||
}
|
||||
|
||||
-62
@@ -1,62 +0,0 @@
|
||||
/*
|
||||
* Copyright 2010-2021 JetBrains s.r.o. and Kotlin Programming Language contributors.
|
||||
* Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file.
|
||||
*/
|
||||
|
||||
package org.jetbrains.kotlin.fir.declarations
|
||||
|
||||
import org.jetbrains.kotlin.fir.FirElement
|
||||
import org.jetbrains.kotlin.fir.FirModuleData
|
||||
import org.jetbrains.kotlin.fir.FirSourceElement
|
||||
import org.jetbrains.kotlin.fir.expressions.FirAnnotationCall
|
||||
import org.jetbrains.kotlin.fir.symbols.impl.FirCallableSymbol
|
||||
import org.jetbrains.kotlin.fir.types.ConeKotlinType
|
||||
import org.jetbrains.kotlin.fir.types.FirTypeRef
|
||||
import org.jetbrains.kotlin.serialization.deserialization.descriptors.DeserializedContainerSource
|
||||
import org.jetbrains.kotlin.fir.visitors.*
|
||||
|
||||
/*
|
||||
* This file was generated automatically
|
||||
* DO NOT MODIFY IT MANUALLY
|
||||
*/
|
||||
|
||||
sealed class FirCallableMemberDeclaration : FirCallableDeclaration(), FirMemberDeclaration {
|
||||
abstract override val source: FirSourceElement?
|
||||
abstract override val moduleData: FirModuleData
|
||||
abstract override val resolvePhase: FirResolvePhase
|
||||
abstract override val origin: FirDeclarationOrigin
|
||||
abstract override val attributes: FirDeclarationAttributes
|
||||
abstract override val annotations: List<FirAnnotationCall>
|
||||
abstract override val returnTypeRef: FirTypeRef
|
||||
abstract override val receiverTypeRef: FirTypeRef?
|
||||
abstract override val deprecation: DeprecationsPerUseSite?
|
||||
abstract override val symbol: FirCallableSymbol<out FirCallableDeclaration>
|
||||
abstract override val typeParameters: List<FirTypeParameterRef>
|
||||
abstract override val status: FirDeclarationStatus
|
||||
abstract val containerSource: DeserializedContainerSource?
|
||||
abstract val dispatchReceiverType: ConeKotlinType?
|
||||
|
||||
override fun <R, D> accept(visitor: FirVisitor<R, D>, data: D): R = visitor.visitCallableMemberDeclaration(this, data)
|
||||
|
||||
@Suppress("UNCHECKED_CAST")
|
||||
override fun <E: FirElement, D> transform(transformer: FirTransformer<D>, data: D): E =
|
||||
transformer.transformCallableMemberDeclaration(this, data) as E
|
||||
|
||||
abstract override fun replaceResolvePhase(newResolvePhase: FirResolvePhase)
|
||||
|
||||
abstract override fun replaceReturnTypeRef(newReturnTypeRef: FirTypeRef)
|
||||
|
||||
abstract override fun replaceReceiverTypeRef(newReceiverTypeRef: FirTypeRef?)
|
||||
|
||||
abstract override fun replaceDeprecation(newDeprecation: DeprecationsPerUseSite?)
|
||||
|
||||
abstract override fun <D> transformAnnotations(transformer: FirTransformer<D>, data: D): FirCallableMemberDeclaration
|
||||
|
||||
abstract override fun <D> transformReturnTypeRef(transformer: FirTransformer<D>, data: D): FirCallableMemberDeclaration
|
||||
|
||||
abstract override fun <D> transformReceiverTypeRef(transformer: FirTransformer<D>, data: D): FirCallableMemberDeclaration
|
||||
|
||||
abstract override fun <D> transformTypeParameters(transformer: FirTransformer<D>, data: D): FirCallableMemberDeclaration
|
||||
|
||||
abstract override fun <D> transformStatus(transformer: FirTransformer<D>, data: D): FirCallableMemberDeclaration
|
||||
}
|
||||
@@ -30,10 +30,10 @@ abstract class FirConstructor : FirFunction(), FirTypeParameterRefsOwner {
|
||||
abstract override val origin: FirDeclarationOrigin
|
||||
abstract override val attributes: FirDeclarationAttributes
|
||||
abstract override val returnTypeRef: FirTypeRef
|
||||
abstract override val receiverTypeRef: FirTypeRef?
|
||||
abstract override val deprecation: DeprecationsPerUseSite?
|
||||
abstract override val typeParameters: List<FirTypeParameterRef>
|
||||
abstract override val status: FirDeclarationStatus
|
||||
abstract override val receiverTypeRef: FirTypeRef?
|
||||
abstract override val deprecation: DeprecationsPerUseSite?
|
||||
abstract override val containerSource: DeserializedContainerSource?
|
||||
abstract override val dispatchReceiverType: ConeKotlinType?
|
||||
abstract override val controlFlowGraphReference: FirControlFlowGraphReference?
|
||||
@@ -66,12 +66,12 @@ abstract class FirConstructor : FirFunction(), FirTypeParameterRefsOwner {
|
||||
|
||||
abstract override fun <D> transformReturnTypeRef(transformer: FirTransformer<D>, data: D): FirConstructor
|
||||
|
||||
abstract override fun <D> transformReceiverTypeRef(transformer: FirTransformer<D>, data: D): FirConstructor
|
||||
|
||||
abstract override fun <D> transformTypeParameters(transformer: FirTransformer<D>, data: D): FirConstructor
|
||||
|
||||
abstract override fun <D> transformStatus(transformer: FirTransformer<D>, data: D): FirConstructor
|
||||
|
||||
abstract override fun <D> transformReceiverTypeRef(transformer: FirTransformer<D>, data: D): FirConstructor
|
||||
|
||||
abstract override fun <D> transformValueParameters(transformer: FirTransformer<D>, data: D): FirConstructor
|
||||
|
||||
abstract override fun <D> transformAnnotations(transformer: FirTransformer<D>, data: D): FirConstructor
|
||||
|
||||
@@ -29,10 +29,10 @@ abstract class FirEnumEntry : FirVariable() {
|
||||
abstract override val origin: FirDeclarationOrigin
|
||||
abstract override val attributes: FirDeclarationAttributes
|
||||
abstract override val returnTypeRef: FirTypeRef
|
||||
abstract override val receiverTypeRef: FirTypeRef?
|
||||
abstract override val deprecation: DeprecationsPerUseSite?
|
||||
abstract override val typeParameters: List<FirTypeParameterRef>
|
||||
abstract override val status: FirDeclarationStatus
|
||||
abstract override val receiverTypeRef: FirTypeRef?
|
||||
abstract override val deprecation: DeprecationsPerUseSite?
|
||||
abstract override val containerSource: DeserializedContainerSource?
|
||||
abstract override val dispatchReceiverType: ConeKotlinType?
|
||||
abstract override val name: Name
|
||||
@@ -63,12 +63,12 @@ abstract class FirEnumEntry : FirVariable() {
|
||||
|
||||
abstract override fun <D> transformReturnTypeRef(transformer: FirTransformer<D>, data: D): FirEnumEntry
|
||||
|
||||
abstract override fun <D> transformReceiverTypeRef(transformer: FirTransformer<D>, data: D): FirEnumEntry
|
||||
|
||||
abstract override fun <D> transformTypeParameters(transformer: FirTransformer<D>, data: D): FirEnumEntry
|
||||
|
||||
abstract override fun <D> transformStatus(transformer: FirTransformer<D>, data: D): FirEnumEntry
|
||||
|
||||
abstract override fun <D> transformReceiverTypeRef(transformer: FirTransformer<D>, data: D): FirEnumEntry
|
||||
|
||||
abstract override fun <D> transformInitializer(transformer: FirTransformer<D>, data: D): FirEnumEntry
|
||||
|
||||
abstract override fun <D> transformDelegate(transformer: FirTransformer<D>, data: D): FirEnumEntry
|
||||
|
||||
@@ -32,9 +32,9 @@ abstract class FirErrorFunction : FirFunction(), FirDiagnosticHolder {
|
||||
abstract override val attributes: FirDeclarationAttributes
|
||||
abstract override val annotations: List<FirAnnotationCall>
|
||||
abstract override val returnTypeRef: FirTypeRef
|
||||
abstract override val status: FirDeclarationStatus
|
||||
abstract override val receiverTypeRef: FirTypeRef?
|
||||
abstract override val deprecation: DeprecationsPerUseSite?
|
||||
abstract override val status: FirDeclarationStatus
|
||||
abstract override val containerSource: DeserializedContainerSource?
|
||||
abstract override val dispatchReceiverType: ConeKotlinType?
|
||||
abstract override val controlFlowGraphReference: FirControlFlowGraphReference?
|
||||
@@ -68,10 +68,10 @@ abstract class FirErrorFunction : FirFunction(), FirDiagnosticHolder {
|
||||
|
||||
abstract override fun <D> transformReturnTypeRef(transformer: FirTransformer<D>, data: D): FirErrorFunction
|
||||
|
||||
abstract override fun <D> transformReceiverTypeRef(transformer: FirTransformer<D>, data: D): FirErrorFunction
|
||||
|
||||
abstract override fun <D> transformStatus(transformer: FirTransformer<D>, data: D): FirErrorFunction
|
||||
|
||||
abstract override fun <D> transformReceiverTypeRef(transformer: FirTransformer<D>, data: D): FirErrorFunction
|
||||
|
||||
abstract override fun <D> transformValueParameters(transformer: FirTransformer<D>, data: D): FirErrorFunction
|
||||
|
||||
abstract override fun <D> transformBody(transformer: FirTransformer<D>, data: D): FirErrorFunction
|
||||
|
||||
@@ -31,10 +31,10 @@ abstract class FirErrorProperty : FirVariable(), FirDiagnosticHolder {
|
||||
abstract override val origin: FirDeclarationOrigin
|
||||
abstract override val attributes: FirDeclarationAttributes
|
||||
abstract override val returnTypeRef: FirTypeRef
|
||||
abstract override val receiverTypeRef: FirTypeRef?
|
||||
abstract override val deprecation: DeprecationsPerUseSite?
|
||||
abstract override val typeParameters: List<FirTypeParameterRef>
|
||||
abstract override val status: FirDeclarationStatus
|
||||
abstract override val receiverTypeRef: FirTypeRef?
|
||||
abstract override val deprecation: DeprecationsPerUseSite?
|
||||
abstract override val containerSource: DeserializedContainerSource?
|
||||
abstract override val dispatchReceiverType: ConeKotlinType?
|
||||
abstract override val name: Name
|
||||
@@ -66,12 +66,12 @@ abstract class FirErrorProperty : FirVariable(), FirDiagnosticHolder {
|
||||
|
||||
abstract override fun <D> transformReturnTypeRef(transformer: FirTransformer<D>, data: D): FirErrorProperty
|
||||
|
||||
abstract override fun <D> transformReceiverTypeRef(transformer: FirTransformer<D>, data: D): FirErrorProperty
|
||||
|
||||
abstract override fun <D> transformTypeParameters(transformer: FirTransformer<D>, data: D): FirErrorProperty
|
||||
|
||||
abstract override fun <D> transformStatus(transformer: FirTransformer<D>, data: D): FirErrorProperty
|
||||
|
||||
abstract override fun <D> transformReceiverTypeRef(transformer: FirTransformer<D>, data: D): FirErrorProperty
|
||||
|
||||
abstract override fun <D> transformInitializer(transformer: FirTransformer<D>, data: D): FirErrorProperty
|
||||
|
||||
abstract override fun <D> transformDelegate(transformer: FirTransformer<D>, data: D): FirErrorProperty
|
||||
|
||||
@@ -29,10 +29,10 @@ abstract class FirField : FirVariable() {
|
||||
abstract override val origin: FirDeclarationOrigin
|
||||
abstract override val attributes: FirDeclarationAttributes
|
||||
abstract override val returnTypeRef: FirTypeRef
|
||||
abstract override val receiverTypeRef: FirTypeRef?
|
||||
abstract override val deprecation: DeprecationsPerUseSite?
|
||||
abstract override val typeParameters: List<FirTypeParameterRef>
|
||||
abstract override val status: FirDeclarationStatus
|
||||
abstract override val receiverTypeRef: FirTypeRef?
|
||||
abstract override val deprecation: DeprecationsPerUseSite?
|
||||
abstract override val containerSource: DeserializedContainerSource?
|
||||
abstract override val dispatchReceiverType: ConeKotlinType?
|
||||
abstract override val name: Name
|
||||
@@ -63,12 +63,12 @@ abstract class FirField : FirVariable() {
|
||||
|
||||
abstract override fun <D> transformReturnTypeRef(transformer: FirTransformer<D>, data: D): FirField
|
||||
|
||||
abstract override fun <D> transformReceiverTypeRef(transformer: FirTransformer<D>, data: D): FirField
|
||||
|
||||
abstract override fun <D> transformTypeParameters(transformer: FirTransformer<D>, data: D): FirField
|
||||
|
||||
abstract override fun <D> transformStatus(transformer: FirTransformer<D>, data: D): FirField
|
||||
|
||||
abstract override fun <D> transformReceiverTypeRef(transformer: FirTransformer<D>, data: D): FirField
|
||||
|
||||
abstract override fun <D> transformInitializer(transformer: FirTransformer<D>, data: D): FirField
|
||||
|
||||
abstract override fun <D> transformDelegate(transformer: FirTransformer<D>, data: D): FirField
|
||||
|
||||
@@ -24,7 +24,7 @@ import org.jetbrains.kotlin.fir.visitors.*
|
||||
* DO NOT MODIFY IT MANUALLY
|
||||
*/
|
||||
|
||||
sealed class FirFunction : FirCallableMemberDeclaration(), FirTargetElement, FirControlFlowGraphOwner, FirStatement {
|
||||
sealed class FirFunction : FirCallableDeclaration(), FirTargetElement, FirControlFlowGraphOwner, FirStatement {
|
||||
abstract override val source: FirSourceElement?
|
||||
abstract override val moduleData: FirModuleData
|
||||
abstract override val resolvePhase: FirResolvePhase
|
||||
@@ -32,10 +32,10 @@ sealed class FirFunction : FirCallableMemberDeclaration(), FirTargetElement, Fir
|
||||
abstract override val attributes: FirDeclarationAttributes
|
||||
abstract override val annotations: List<FirAnnotationCall>
|
||||
abstract override val returnTypeRef: FirTypeRef
|
||||
abstract override val receiverTypeRef: FirTypeRef?
|
||||
abstract override val deprecation: DeprecationsPerUseSite?
|
||||
abstract override val typeParameters: List<FirTypeParameterRef>
|
||||
abstract override val status: FirDeclarationStatus
|
||||
abstract override val receiverTypeRef: FirTypeRef?
|
||||
abstract override val deprecation: DeprecationsPerUseSite?
|
||||
abstract override val containerSource: DeserializedContainerSource?
|
||||
abstract override val dispatchReceiverType: ConeKotlinType?
|
||||
abstract override val controlFlowGraphReference: FirControlFlowGraphReference?
|
||||
@@ -67,12 +67,12 @@ sealed class FirFunction : FirCallableMemberDeclaration(), FirTargetElement, Fir
|
||||
|
||||
abstract override fun <D> transformReturnTypeRef(transformer: FirTransformer<D>, data: D): FirFunction
|
||||
|
||||
abstract override fun <D> transformReceiverTypeRef(transformer: FirTransformer<D>, data: D): FirFunction
|
||||
|
||||
abstract override fun <D> transformTypeParameters(transformer: FirTransformer<D>, data: D): FirFunction
|
||||
|
||||
abstract override fun <D> transformStatus(transformer: FirTransformer<D>, data: D): FirFunction
|
||||
|
||||
abstract override fun <D> transformReceiverTypeRef(transformer: FirTransformer<D>, data: D): FirFunction
|
||||
|
||||
abstract fun <D> transformValueParameters(transformer: FirTransformer<D>, data: D): FirFunction
|
||||
|
||||
abstract fun <D> transformBody(transformer: FirTransformer<D>, data: D): FirFunction
|
||||
|
||||
@@ -32,9 +32,9 @@ abstract class FirProperty : FirVariable(), FirTypeParametersOwner, FirControlFl
|
||||
abstract override val origin: FirDeclarationOrigin
|
||||
abstract override val attributes: FirDeclarationAttributes
|
||||
abstract override val returnTypeRef: FirTypeRef
|
||||
abstract override val status: FirDeclarationStatus
|
||||
abstract override val receiverTypeRef: FirTypeRef?
|
||||
abstract override val deprecation: DeprecationsPerUseSite?
|
||||
abstract override val status: FirDeclarationStatus
|
||||
abstract override val containerSource: DeserializedContainerSource?
|
||||
abstract override val dispatchReceiverType: ConeKotlinType?
|
||||
abstract override val name: Name
|
||||
@@ -75,10 +75,10 @@ abstract class FirProperty : FirVariable(), FirTypeParametersOwner, FirControlFl
|
||||
|
||||
abstract override fun <D> transformReturnTypeRef(transformer: FirTransformer<D>, data: D): FirProperty
|
||||
|
||||
abstract override fun <D> transformReceiverTypeRef(transformer: FirTransformer<D>, data: D): FirProperty
|
||||
|
||||
abstract override fun <D> transformStatus(transformer: FirTransformer<D>, data: D): FirProperty
|
||||
|
||||
abstract override fun <D> transformReceiverTypeRef(transformer: FirTransformer<D>, data: D): FirProperty
|
||||
|
||||
abstract override fun <D> transformInitializer(transformer: FirTransformer<D>, data: D): FirProperty
|
||||
|
||||
abstract override fun <D> transformDelegate(transformer: FirTransformer<D>, data: D): FirProperty
|
||||
|
||||
@@ -30,9 +30,9 @@ abstract class FirPropertyAccessor : FirFunction(), FirContractDescriptionOwner,
|
||||
abstract override val origin: FirDeclarationOrigin
|
||||
abstract override val attributes: FirDeclarationAttributes
|
||||
abstract override val returnTypeRef: FirTypeRef
|
||||
abstract override val status: FirDeclarationStatus
|
||||
abstract override val receiverTypeRef: FirTypeRef?
|
||||
abstract override val deprecation: DeprecationsPerUseSite?
|
||||
abstract override val status: FirDeclarationStatus
|
||||
abstract override val containerSource: DeserializedContainerSource?
|
||||
abstract override val dispatchReceiverType: ConeKotlinType?
|
||||
abstract override val controlFlowGraphReference: FirControlFlowGraphReference?
|
||||
@@ -69,10 +69,10 @@ abstract class FirPropertyAccessor : FirFunction(), FirContractDescriptionOwner,
|
||||
|
||||
abstract override fun <D> transformReturnTypeRef(transformer: FirTransformer<D>, data: D): FirPropertyAccessor
|
||||
|
||||
abstract override fun <D> transformReceiverTypeRef(transformer: FirTransformer<D>, data: D): FirPropertyAccessor
|
||||
|
||||
abstract override fun <D> transformStatus(transformer: FirTransformer<D>, data: D): FirPropertyAccessor
|
||||
|
||||
abstract override fun <D> transformReceiverTypeRef(transformer: FirTransformer<D>, data: D): FirPropertyAccessor
|
||||
|
||||
abstract override fun <D> transformValueParameters(transformer: FirTransformer<D>, data: D): FirPropertyAccessor
|
||||
|
||||
abstract override fun <D> transformBody(transformer: FirTransformer<D>, data: D): FirPropertyAccessor
|
||||
|
||||
@@ -31,9 +31,9 @@ abstract class FirSimpleFunction : FirFunction(), FirContractDescriptionOwner, F
|
||||
abstract override val origin: FirDeclarationOrigin
|
||||
abstract override val attributes: FirDeclarationAttributes
|
||||
abstract override val returnTypeRef: FirTypeRef
|
||||
abstract override val status: FirDeclarationStatus
|
||||
abstract override val receiverTypeRef: FirTypeRef?
|
||||
abstract override val deprecation: DeprecationsPerUseSite?
|
||||
abstract override val status: FirDeclarationStatus
|
||||
abstract override val containerSource: DeserializedContainerSource?
|
||||
abstract override val dispatchReceiverType: ConeKotlinType?
|
||||
abstract override val controlFlowGraphReference: FirControlFlowGraphReference?
|
||||
@@ -69,10 +69,10 @@ abstract class FirSimpleFunction : FirFunction(), FirContractDescriptionOwner, F
|
||||
|
||||
abstract override fun <D> transformReturnTypeRef(transformer: FirTransformer<D>, data: D): FirSimpleFunction
|
||||
|
||||
abstract override fun <D> transformReceiverTypeRef(transformer: FirTransformer<D>, data: D): FirSimpleFunction
|
||||
|
||||
abstract override fun <D> transformStatus(transformer: FirTransformer<D>, data: D): FirSimpleFunction
|
||||
|
||||
abstract override fun <D> transformReceiverTypeRef(transformer: FirTransformer<D>, data: D): FirSimpleFunction
|
||||
|
||||
abstract override fun <D> transformValueParameters(transformer: FirTransformer<D>, data: D): FirSimpleFunction
|
||||
|
||||
abstract override fun <D> transformBody(transformer: FirTransformer<D>, data: D): FirSimpleFunction
|
||||
|
||||
@@ -30,10 +30,10 @@ abstract class FirValueParameter : FirVariable(), FirControlFlowGraphOwner {
|
||||
abstract override val origin: FirDeclarationOrigin
|
||||
abstract override val attributes: FirDeclarationAttributes
|
||||
abstract override val returnTypeRef: FirTypeRef
|
||||
abstract override val receiverTypeRef: FirTypeRef?
|
||||
abstract override val deprecation: DeprecationsPerUseSite?
|
||||
abstract override val typeParameters: List<FirTypeParameterRef>
|
||||
abstract override val status: FirDeclarationStatus
|
||||
abstract override val receiverTypeRef: FirTypeRef?
|
||||
abstract override val deprecation: DeprecationsPerUseSite?
|
||||
abstract override val containerSource: DeserializedContainerSource?
|
||||
abstract override val dispatchReceiverType: ConeKotlinType?
|
||||
abstract override val name: Name
|
||||
@@ -71,12 +71,12 @@ abstract class FirValueParameter : FirVariable(), FirControlFlowGraphOwner {
|
||||
|
||||
abstract override fun <D> transformReturnTypeRef(transformer: FirTransformer<D>, data: D): FirValueParameter
|
||||
|
||||
abstract override fun <D> transformReceiverTypeRef(transformer: FirTransformer<D>, data: D): FirValueParameter
|
||||
|
||||
abstract override fun <D> transformTypeParameters(transformer: FirTransformer<D>, data: D): FirValueParameter
|
||||
|
||||
abstract override fun <D> transformStatus(transformer: FirTransformer<D>, data: D): FirValueParameter
|
||||
|
||||
abstract override fun <D> transformReceiverTypeRef(transformer: FirTransformer<D>, data: D): FirValueParameter
|
||||
|
||||
abstract override fun <D> transformInitializer(transformer: FirTransformer<D>, data: D): FirValueParameter
|
||||
|
||||
abstract override fun <D> transformDelegate(transformer: FirTransformer<D>, data: D): FirValueParameter
|
||||
|
||||
@@ -23,17 +23,17 @@ import org.jetbrains.kotlin.fir.visitors.*
|
||||
* DO NOT MODIFY IT MANUALLY
|
||||
*/
|
||||
|
||||
sealed class FirVariable : FirCallableMemberDeclaration(), FirStatement {
|
||||
sealed class FirVariable : FirCallableDeclaration(), FirStatement {
|
||||
abstract override val source: FirSourceElement?
|
||||
abstract override val moduleData: FirModuleData
|
||||
abstract override val resolvePhase: FirResolvePhase
|
||||
abstract override val origin: FirDeclarationOrigin
|
||||
abstract override val attributes: FirDeclarationAttributes
|
||||
abstract override val returnTypeRef: FirTypeRef
|
||||
abstract override val receiverTypeRef: FirTypeRef?
|
||||
abstract override val deprecation: DeprecationsPerUseSite?
|
||||
abstract override val typeParameters: List<FirTypeParameterRef>
|
||||
abstract override val status: FirDeclarationStatus
|
||||
abstract override val receiverTypeRef: FirTypeRef?
|
||||
abstract override val deprecation: DeprecationsPerUseSite?
|
||||
abstract override val containerSource: DeserializedContainerSource?
|
||||
abstract override val dispatchReceiverType: ConeKotlinType?
|
||||
abstract val name: Name
|
||||
@@ -64,12 +64,12 @@ sealed class FirVariable : FirCallableMemberDeclaration(), FirStatement {
|
||||
|
||||
abstract override fun <D> transformReturnTypeRef(transformer: FirTransformer<D>, data: D): FirVariable
|
||||
|
||||
abstract override fun <D> transformReceiverTypeRef(transformer: FirTransformer<D>, data: D): FirVariable
|
||||
|
||||
abstract override fun <D> transformTypeParameters(transformer: FirTransformer<D>, data: D): FirVariable
|
||||
|
||||
abstract override fun <D> transformStatus(transformer: FirTransformer<D>, data: D): FirVariable
|
||||
|
||||
abstract override fun <D> transformReceiverTypeRef(transformer: FirTransformer<D>, data: D): FirVariable
|
||||
|
||||
abstract fun <D> transformInitializer(transformer: FirTransformer<D>, data: D): FirVariable
|
||||
|
||||
abstract fun <D> transformDelegate(transformer: FirTransformer<D>, data: D): FirVariable
|
||||
|
||||
+2
-2
@@ -41,14 +41,14 @@ interface FirAbstractConstructorBuilder : FirFunctionBuilder {
|
||||
abstract override var attributes: FirDeclarationAttributes
|
||||
abstract override val annotations: MutableList<FirAnnotationCall>
|
||||
abstract override var returnTypeRef: FirTypeRef
|
||||
abstract override var deprecation: DeprecationsPerUseSite?
|
||||
abstract override var status: FirDeclarationStatus
|
||||
abstract override var deprecation: DeprecationsPerUseSite?
|
||||
abstract override var containerSource: DeserializedContainerSource?
|
||||
abstract override var dispatchReceiverType: ConeKotlinType?
|
||||
abstract override val valueParameters: MutableList<FirValueParameter>
|
||||
abstract override var body: FirBlock?
|
||||
abstract var receiverTypeRef: FirTypeRef?
|
||||
abstract val typeParameters: MutableList<FirTypeParameterRef>
|
||||
abstract var receiverTypeRef: FirTypeRef?
|
||||
abstract var controlFlowGraphReference: FirControlFlowGraphReference?
|
||||
abstract var symbol: FirConstructorSymbol
|
||||
abstract var delegatedConstructor: FirDelegatedConstructorCall?
|
||||
|
||||
+6
-6
@@ -43,10 +43,10 @@ open class FirConstructorBuilder : FirAbstractConstructorBuilder, FirAnnotationC
|
||||
override lateinit var origin: FirDeclarationOrigin
|
||||
override var attributes: FirDeclarationAttributes = FirDeclarationAttributes()
|
||||
override lateinit var returnTypeRef: FirTypeRef
|
||||
override var receiverTypeRef: FirTypeRef? = null
|
||||
override var deprecation: DeprecationsPerUseSite? = null
|
||||
override val typeParameters: MutableList<FirTypeParameterRef> = mutableListOf()
|
||||
override lateinit var status: FirDeclarationStatus
|
||||
override var receiverTypeRef: FirTypeRef? = null
|
||||
override var deprecation: DeprecationsPerUseSite? = null
|
||||
override var containerSource: DeserializedContainerSource? = null
|
||||
override var dispatchReceiverType: ConeKotlinType? = null
|
||||
override val valueParameters: MutableList<FirValueParameter> = mutableListOf()
|
||||
@@ -63,10 +63,10 @@ open class FirConstructorBuilder : FirAbstractConstructorBuilder, FirAnnotationC
|
||||
origin,
|
||||
attributes,
|
||||
returnTypeRef,
|
||||
receiverTypeRef,
|
||||
deprecation,
|
||||
typeParameters,
|
||||
status,
|
||||
receiverTypeRef,
|
||||
deprecation,
|
||||
containerSource,
|
||||
dispatchReceiverType,
|
||||
valueParameters,
|
||||
@@ -106,10 +106,10 @@ inline fun buildConstructorCopy(original: FirConstructor, init: FirConstructorBu
|
||||
copyBuilder.origin = original.origin
|
||||
copyBuilder.attributes = original.attributes.copy()
|
||||
copyBuilder.returnTypeRef = original.returnTypeRef
|
||||
copyBuilder.receiverTypeRef = original.receiverTypeRef
|
||||
copyBuilder.deprecation = original.deprecation
|
||||
copyBuilder.typeParameters.addAll(original.typeParameters)
|
||||
copyBuilder.status = original.status
|
||||
copyBuilder.receiverTypeRef = original.receiverTypeRef
|
||||
copyBuilder.deprecation = original.deprecation
|
||||
copyBuilder.containerSource = original.containerSource
|
||||
copyBuilder.dispatchReceiverType = original.dispatchReceiverType
|
||||
copyBuilder.valueParameters.addAll(original.valueParameters)
|
||||
|
||||
+2
-2
@@ -41,9 +41,9 @@ class FirEnumEntryBuilder : FirAnnotationContainerBuilder {
|
||||
lateinit var origin: FirDeclarationOrigin
|
||||
var attributes: FirDeclarationAttributes = FirDeclarationAttributes()
|
||||
lateinit var returnTypeRef: FirTypeRef
|
||||
var deprecation: DeprecationsPerUseSite? = null
|
||||
val typeParameters: MutableList<FirTypeParameterRef> = mutableListOf()
|
||||
lateinit var status: FirDeclarationStatus
|
||||
var deprecation: DeprecationsPerUseSite? = null
|
||||
var containerSource: DeserializedContainerSource? = null
|
||||
var dispatchReceiverType: ConeKotlinType? = null
|
||||
lateinit var name: Name
|
||||
@@ -59,9 +59,9 @@ class FirEnumEntryBuilder : FirAnnotationContainerBuilder {
|
||||
origin,
|
||||
attributes,
|
||||
returnTypeRef,
|
||||
deprecation,
|
||||
typeParameters,
|
||||
status,
|
||||
deprecation,
|
||||
containerSource,
|
||||
dispatchReceiverType,
|
||||
name,
|
||||
|
||||
+2
-2
@@ -43,9 +43,9 @@ open class FirFieldBuilder : FirDeclarationBuilder, FirAnnotationContainerBuilde
|
||||
override lateinit var origin: FirDeclarationOrigin
|
||||
override var attributes: FirDeclarationAttributes = FirDeclarationAttributes()
|
||||
open lateinit var returnTypeRef: FirTypeRef
|
||||
open var deprecation: DeprecationsPerUseSite? = null
|
||||
open val typeParameters: MutableList<FirTypeParameterRef> = mutableListOf()
|
||||
open lateinit var status: FirDeclarationStatus
|
||||
open var deprecation: DeprecationsPerUseSite? = null
|
||||
open var containerSource: DeserializedContainerSource? = null
|
||||
open var dispatchReceiverType: ConeKotlinType? = null
|
||||
open lateinit var name: Name
|
||||
@@ -63,9 +63,9 @@ open class FirFieldBuilder : FirDeclarationBuilder, FirAnnotationContainerBuilde
|
||||
origin,
|
||||
attributes,
|
||||
returnTypeRef,
|
||||
deprecation,
|
||||
typeParameters,
|
||||
status,
|
||||
deprecation,
|
||||
containerSource,
|
||||
dispatchReceiverType,
|
||||
name,
|
||||
|
||||
+1
-1
@@ -38,8 +38,8 @@ interface FirFunctionBuilder : FirDeclarationBuilder, FirAnnotationContainerBuil
|
||||
abstract override var attributes: FirDeclarationAttributes
|
||||
abstract override val annotations: MutableList<FirAnnotationCall>
|
||||
abstract var returnTypeRef: FirTypeRef
|
||||
abstract var deprecation: DeprecationsPerUseSite?
|
||||
abstract var status: FirDeclarationStatus
|
||||
abstract var deprecation: DeprecationsPerUseSite?
|
||||
abstract var containerSource: DeserializedContainerSource?
|
||||
abstract var dispatchReceiverType: ConeKotlinType?
|
||||
abstract val valueParameters: MutableList<FirValueParameter>
|
||||
|
||||
+4
-4
@@ -43,10 +43,10 @@ class FirPrimaryConstructorBuilder : FirAbstractConstructorBuilder, FirAnnotatio
|
||||
override lateinit var origin: FirDeclarationOrigin
|
||||
override var attributes: FirDeclarationAttributes = FirDeclarationAttributes()
|
||||
override lateinit var returnTypeRef: FirTypeRef
|
||||
override var receiverTypeRef: FirTypeRef? = null
|
||||
override var deprecation: DeprecationsPerUseSite? = null
|
||||
override val typeParameters: MutableList<FirTypeParameterRef> = mutableListOf()
|
||||
override lateinit var status: FirDeclarationStatus
|
||||
override var receiverTypeRef: FirTypeRef? = null
|
||||
override var deprecation: DeprecationsPerUseSite? = null
|
||||
override var containerSource: DeserializedContainerSource? = null
|
||||
override var dispatchReceiverType: ConeKotlinType? = null
|
||||
override val valueParameters: MutableList<FirValueParameter> = mutableListOf()
|
||||
@@ -63,10 +63,10 @@ class FirPrimaryConstructorBuilder : FirAbstractConstructorBuilder, FirAnnotatio
|
||||
origin,
|
||||
attributes,
|
||||
returnTypeRef,
|
||||
receiverTypeRef,
|
||||
deprecation,
|
||||
typeParameters,
|
||||
status,
|
||||
receiverTypeRef,
|
||||
deprecation,
|
||||
containerSource,
|
||||
dispatchReceiverType,
|
||||
valueParameters,
|
||||
|
||||
+3
-3
@@ -46,8 +46,8 @@ class FirPropertyAccessorBuilder : FirFunctionBuilder, FirAnnotationContainerBui
|
||||
override lateinit var origin: FirDeclarationOrigin
|
||||
override var attributes: FirDeclarationAttributes = FirDeclarationAttributes()
|
||||
override lateinit var returnTypeRef: FirTypeRef
|
||||
override var deprecation: DeprecationsPerUseSite? = null
|
||||
override lateinit var status: FirDeclarationStatus
|
||||
override var deprecation: DeprecationsPerUseSite? = null
|
||||
override var containerSource: DeserializedContainerSource? = null
|
||||
override var dispatchReceiverType: ConeKotlinType? = null
|
||||
override val valueParameters: MutableList<FirValueParameter> = mutableListOf()
|
||||
@@ -67,8 +67,8 @@ class FirPropertyAccessorBuilder : FirFunctionBuilder, FirAnnotationContainerBui
|
||||
origin,
|
||||
attributes,
|
||||
returnTypeRef,
|
||||
deprecation,
|
||||
status,
|
||||
deprecation,
|
||||
containerSource,
|
||||
dispatchReceiverType,
|
||||
valueParameters,
|
||||
@@ -103,8 +103,8 @@ inline fun buildPropertyAccessorCopy(original: FirPropertyAccessor, init: FirPro
|
||||
copyBuilder.origin = original.origin
|
||||
copyBuilder.attributes = original.attributes.copy()
|
||||
copyBuilder.returnTypeRef = original.returnTypeRef
|
||||
copyBuilder.deprecation = original.deprecation
|
||||
copyBuilder.status = original.status
|
||||
copyBuilder.deprecation = original.deprecation
|
||||
copyBuilder.containerSource = original.containerSource
|
||||
copyBuilder.dispatchReceiverType = original.dispatchReceiverType
|
||||
copyBuilder.valueParameters.addAll(original.valueParameters)
|
||||
|
||||
+3
-3
@@ -46,9 +46,9 @@ class FirPropertyBuilder : FirDeclarationBuilder, FirTypeParametersOwnerBuilder,
|
||||
override lateinit var origin: FirDeclarationOrigin
|
||||
override var attributes: FirDeclarationAttributes = FirDeclarationAttributes()
|
||||
lateinit var returnTypeRef: FirTypeRef
|
||||
lateinit var status: FirDeclarationStatus
|
||||
var receiverTypeRef: FirTypeRef? = null
|
||||
var deprecation: DeprecationsPerUseSite? = null
|
||||
lateinit var status: FirDeclarationStatus
|
||||
var containerSource: DeserializedContainerSource? = null
|
||||
var dispatchReceiverType: ConeKotlinType? = null
|
||||
lateinit var name: Name
|
||||
@@ -72,9 +72,9 @@ class FirPropertyBuilder : FirDeclarationBuilder, FirTypeParametersOwnerBuilder,
|
||||
origin,
|
||||
attributes,
|
||||
returnTypeRef,
|
||||
status,
|
||||
receiverTypeRef,
|
||||
deprecation,
|
||||
status,
|
||||
containerSource,
|
||||
dispatchReceiverType,
|
||||
name,
|
||||
@@ -114,9 +114,9 @@ inline fun buildPropertyCopy(original: FirProperty, init: FirPropertyBuilder.()
|
||||
copyBuilder.origin = original.origin
|
||||
copyBuilder.attributes = original.attributes.copy()
|
||||
copyBuilder.returnTypeRef = original.returnTypeRef
|
||||
copyBuilder.status = original.status
|
||||
copyBuilder.receiverTypeRef = original.receiverTypeRef
|
||||
copyBuilder.deprecation = original.deprecation
|
||||
copyBuilder.status = original.status
|
||||
copyBuilder.containerSource = original.containerSource
|
||||
copyBuilder.dispatchReceiverType = original.dispatchReceiverType
|
||||
copyBuilder.name = original.name
|
||||
|
||||
+3
-3
@@ -46,9 +46,9 @@ open class FirSimpleFunctionBuilder : FirFunctionBuilder, FirTypeParametersOwner
|
||||
override lateinit var origin: FirDeclarationOrigin
|
||||
override var attributes: FirDeclarationAttributes = FirDeclarationAttributes()
|
||||
override lateinit var returnTypeRef: FirTypeRef
|
||||
override lateinit var status: FirDeclarationStatus
|
||||
open var receiverTypeRef: FirTypeRef? = null
|
||||
override var deprecation: DeprecationsPerUseSite? = null
|
||||
override lateinit var status: FirDeclarationStatus
|
||||
override var containerSource: DeserializedContainerSource? = null
|
||||
override var dispatchReceiverType: ConeKotlinType? = null
|
||||
override val valueParameters: MutableList<FirValueParameter> = mutableListOf()
|
||||
@@ -67,9 +67,9 @@ open class FirSimpleFunctionBuilder : FirFunctionBuilder, FirTypeParametersOwner
|
||||
origin,
|
||||
attributes,
|
||||
returnTypeRef,
|
||||
status,
|
||||
receiverTypeRef,
|
||||
deprecation,
|
||||
status,
|
||||
containerSource,
|
||||
dispatchReceiverType,
|
||||
valueParameters,
|
||||
@@ -104,9 +104,9 @@ inline fun buildSimpleFunctionCopy(original: FirSimpleFunction, init: FirSimpleF
|
||||
copyBuilder.origin = original.origin
|
||||
copyBuilder.attributes = original.attributes.copy()
|
||||
copyBuilder.returnTypeRef = original.returnTypeRef
|
||||
copyBuilder.status = original.status
|
||||
copyBuilder.receiverTypeRef = original.receiverTypeRef
|
||||
copyBuilder.deprecation = original.deprecation
|
||||
copyBuilder.status = original.status
|
||||
copyBuilder.containerSource = original.containerSource
|
||||
copyBuilder.dispatchReceiverType = original.dispatchReceiverType
|
||||
copyBuilder.valueParameters.addAll(original.valueParameters)
|
||||
|
||||
+6
-6
@@ -65,8 +65,8 @@ internal class FirAnonymousFunctionImpl(
|
||||
override fun <R, D> acceptChildren(visitor: FirVisitor<R, D>, data: D) {
|
||||
annotations.forEach { it.accept(visitor, data) }
|
||||
returnTypeRef.accept(visitor, data)
|
||||
receiverTypeRef?.accept(visitor, data)
|
||||
status.accept(visitor, data)
|
||||
receiverTypeRef?.accept(visitor, data)
|
||||
controlFlowGraphReference?.accept(visitor, data)
|
||||
valueParameters.forEach { it.accept(visitor, data) }
|
||||
body?.accept(visitor, data)
|
||||
@@ -78,8 +78,8 @@ internal class FirAnonymousFunctionImpl(
|
||||
override fun <D> transformChildren(transformer: FirTransformer<D>, data: D): FirAnonymousFunctionImpl {
|
||||
transformAnnotations(transformer, data)
|
||||
transformReturnTypeRef(transformer, data)
|
||||
transformReceiverTypeRef(transformer, data)
|
||||
transformStatus(transformer, data)
|
||||
transformReceiverTypeRef(transformer, data)
|
||||
controlFlowGraphReference = controlFlowGraphReference?.transform(transformer, data)
|
||||
transformValueParameters(transformer, data)
|
||||
transformBody(transformer, data)
|
||||
@@ -99,13 +99,13 @@ internal class FirAnonymousFunctionImpl(
|
||||
return this
|
||||
}
|
||||
|
||||
override fun <D> transformReceiverTypeRef(transformer: FirTransformer<D>, data: D): FirAnonymousFunctionImpl {
|
||||
receiverTypeRef = receiverTypeRef?.transform(transformer, data)
|
||||
override fun <D> transformStatus(transformer: FirTransformer<D>, data: D): FirAnonymousFunctionImpl {
|
||||
status = status.transform(transformer, data)
|
||||
return this
|
||||
}
|
||||
|
||||
override fun <D> transformStatus(transformer: FirTransformer<D>, data: D): FirAnonymousFunctionImpl {
|
||||
status = status.transform(transformer, data)
|
||||
override fun <D> transformReceiverTypeRef(transformer: FirTransformer<D>, data: D): FirAnonymousFunctionImpl {
|
||||
receiverTypeRef = receiverTypeRef?.transform(transformer, data)
|
||||
return this
|
||||
}
|
||||
|
||||
|
||||
+9
-9
@@ -37,10 +37,10 @@ internal class FirConstructorImpl(
|
||||
override val origin: FirDeclarationOrigin,
|
||||
override val attributes: FirDeclarationAttributes,
|
||||
override var returnTypeRef: FirTypeRef,
|
||||
override var receiverTypeRef: FirTypeRef?,
|
||||
override var deprecation: DeprecationsPerUseSite?,
|
||||
override val typeParameters: MutableList<FirTypeParameterRef>,
|
||||
override var status: FirDeclarationStatus,
|
||||
override var receiverTypeRef: FirTypeRef?,
|
||||
override var deprecation: DeprecationsPerUseSite?,
|
||||
override val containerSource: DeserializedContainerSource?,
|
||||
override val dispatchReceiverType: ConeKotlinType?,
|
||||
override val valueParameters: MutableList<FirValueParameter>,
|
||||
@@ -58,9 +58,9 @@ internal class FirConstructorImpl(
|
||||
|
||||
override fun <R, D> acceptChildren(visitor: FirVisitor<R, D>, data: D) {
|
||||
returnTypeRef.accept(visitor, data)
|
||||
receiverTypeRef?.accept(visitor, data)
|
||||
typeParameters.forEach { it.accept(visitor, data) }
|
||||
status.accept(visitor, data)
|
||||
receiverTypeRef?.accept(visitor, data)
|
||||
controlFlowGraphReference?.accept(visitor, data)
|
||||
valueParameters.forEach { it.accept(visitor, data) }
|
||||
annotations.forEach { it.accept(visitor, data) }
|
||||
@@ -70,9 +70,9 @@ internal class FirConstructorImpl(
|
||||
|
||||
override fun <D> transformChildren(transformer: FirTransformer<D>, data: D): FirConstructorImpl {
|
||||
transformReturnTypeRef(transformer, data)
|
||||
transformReceiverTypeRef(transformer, data)
|
||||
transformTypeParameters(transformer, data)
|
||||
transformStatus(transformer, data)
|
||||
transformReceiverTypeRef(transformer, data)
|
||||
controlFlowGraphReference = controlFlowGraphReference?.transform(transformer, data)
|
||||
transformValueParameters(transformer, data)
|
||||
transformAnnotations(transformer, data)
|
||||
@@ -86,11 +86,6 @@ internal class FirConstructorImpl(
|
||||
return this
|
||||
}
|
||||
|
||||
override fun <D> transformReceiverTypeRef(transformer: FirTransformer<D>, data: D): FirConstructorImpl {
|
||||
receiverTypeRef = receiverTypeRef?.transform(transformer, data)
|
||||
return this
|
||||
}
|
||||
|
||||
override fun <D> transformTypeParameters(transformer: FirTransformer<D>, data: D): FirConstructorImpl {
|
||||
typeParameters.transformInplace(transformer, data)
|
||||
return this
|
||||
@@ -101,6 +96,11 @@ internal class FirConstructorImpl(
|
||||
return this
|
||||
}
|
||||
|
||||
override fun <D> transformReceiverTypeRef(transformer: FirTransformer<D>, data: D): FirConstructorImpl {
|
||||
receiverTypeRef = receiverTypeRef?.transform(transformer, data)
|
||||
return this
|
||||
}
|
||||
|
||||
override fun <D> transformValueParameters(transformer: FirTransformer<D>, data: D): FirConstructorImpl {
|
||||
valueParameters.transformInplace(transformer, data)
|
||||
return this
|
||||
|
||||
+7
-7
@@ -66,8 +66,8 @@ internal class FirDefaultSetterValueParameter(
|
||||
|
||||
override fun <R, D> acceptChildren(visitor: FirVisitor<R, D>, data: D) {
|
||||
returnTypeRef.accept(visitor, data)
|
||||
receiverTypeRef?.accept(visitor, data)
|
||||
status.accept(visitor, data)
|
||||
receiverTypeRef?.accept(visitor, data)
|
||||
initializer?.accept(visitor, data)
|
||||
delegate?.accept(visitor, data)
|
||||
getter?.accept(visitor, data)
|
||||
@@ -79,8 +79,8 @@ internal class FirDefaultSetterValueParameter(
|
||||
|
||||
override fun <D> transformChildren(transformer: FirTransformer<D>, data: D): FirDefaultSetterValueParameter {
|
||||
transformReturnTypeRef(transformer, data)
|
||||
transformReceiverTypeRef(transformer, data)
|
||||
transformStatus(transformer, data)
|
||||
transformReceiverTypeRef(transformer, data)
|
||||
transformInitializer(transformer, data)
|
||||
transformDelegate(transformer, data)
|
||||
transformGetter(transformer, data)
|
||||
@@ -94,11 +94,6 @@ internal class FirDefaultSetterValueParameter(
|
||||
return this
|
||||
}
|
||||
|
||||
override fun <D> transformReceiverTypeRef(transformer: FirTransformer<D>, data: D): FirDefaultSetterValueParameter {
|
||||
receiverTypeRef = receiverTypeRef?.transform(transformer, data)
|
||||
return this
|
||||
}
|
||||
|
||||
override fun <D> transformTypeParameters(transformer: FirTransformer<D>, data: D): FirDefaultSetterValueParameter {
|
||||
return this
|
||||
}
|
||||
@@ -108,6 +103,11 @@ internal class FirDefaultSetterValueParameter(
|
||||
return this
|
||||
}
|
||||
|
||||
override fun <D> transformReceiverTypeRef(transformer: FirTransformer<D>, data: D): FirDefaultSetterValueParameter {
|
||||
receiverTypeRef = receiverTypeRef?.transform(transformer, data)
|
||||
return this
|
||||
}
|
||||
|
||||
override fun <D> transformInitializer(transformer: FirTransformer<D>, data: D): FirDefaultSetterValueParameter {
|
||||
initializer = initializer?.transform(transformer, data)
|
||||
return this
|
||||
|
||||
+5
-5
@@ -36,9 +36,9 @@ internal class FirEnumEntryImpl(
|
||||
override val origin: FirDeclarationOrigin,
|
||||
override val attributes: FirDeclarationAttributes,
|
||||
override var returnTypeRef: FirTypeRef,
|
||||
override var deprecation: DeprecationsPerUseSite?,
|
||||
override val typeParameters: MutableList<FirTypeParameterRef>,
|
||||
override var status: FirDeclarationStatus,
|
||||
override var deprecation: DeprecationsPerUseSite?,
|
||||
override val containerSource: DeserializedContainerSource?,
|
||||
override val dispatchReceiverType: ConeKotlinType?,
|
||||
override val name: Name,
|
||||
@@ -79,10 +79,6 @@ internal class FirEnumEntryImpl(
|
||||
return this
|
||||
}
|
||||
|
||||
override fun <D> transformReceiverTypeRef(transformer: FirTransformer<D>, data: D): FirEnumEntryImpl {
|
||||
return this
|
||||
}
|
||||
|
||||
override fun <D> transformTypeParameters(transformer: FirTransformer<D>, data: D): FirEnumEntryImpl {
|
||||
typeParameters.transformInplace(transformer, data)
|
||||
return this
|
||||
@@ -93,6 +89,10 @@ internal class FirEnumEntryImpl(
|
||||
return this
|
||||
}
|
||||
|
||||
override fun <D> transformReceiverTypeRef(transformer: FirTransformer<D>, data: D): FirEnumEntryImpl {
|
||||
return this
|
||||
}
|
||||
|
||||
override fun <D> transformInitializer(transformer: FirTransformer<D>, data: D): FirEnumEntryImpl {
|
||||
initializer = initializer?.transform(transformer, data)
|
||||
return this
|
||||
|
||||
+4
-4
@@ -47,8 +47,8 @@ internal class FirErrorFunctionImpl(
|
||||
override val symbol: FirErrorFunctionSymbol,
|
||||
) : FirErrorFunction() {
|
||||
override var returnTypeRef: FirTypeRef = FirErrorTypeRefImpl(null, null, diagnostic)
|
||||
override val receiverTypeRef: FirTypeRef? get() = null
|
||||
override var status: FirDeclarationStatus = FirResolvedDeclarationStatusImpl.DEFAULT_STATUS_FOR_STATUSLESS_DECLARATIONS
|
||||
override val receiverTypeRef: FirTypeRef? get() = null
|
||||
override var controlFlowGraphReference: FirControlFlowGraphReference? = null
|
||||
override val body: FirBlock? get() = null
|
||||
override val typeParameters: List<FirTypeParameter> get() = emptyList()
|
||||
@@ -84,12 +84,12 @@ internal class FirErrorFunctionImpl(
|
||||
return this
|
||||
}
|
||||
|
||||
override fun <D> transformReceiverTypeRef(transformer: FirTransformer<D>, data: D): FirErrorFunctionImpl {
|
||||
override fun <D> transformStatus(transformer: FirTransformer<D>, data: D): FirErrorFunctionImpl {
|
||||
status = status.transform(transformer, data)
|
||||
return this
|
||||
}
|
||||
|
||||
override fun <D> transformStatus(transformer: FirTransformer<D>, data: D): FirErrorFunctionImpl {
|
||||
status = status.transform(transformer, data)
|
||||
override fun <D> transformReceiverTypeRef(transformer: FirTransformer<D>, data: D): FirErrorFunctionImpl {
|
||||
return this
|
||||
}
|
||||
|
||||
|
||||
+5
-5
@@ -47,9 +47,9 @@ internal class FirErrorPropertyImpl(
|
||||
override val symbol: FirErrorPropertySymbol,
|
||||
) : FirErrorProperty() {
|
||||
override var returnTypeRef: FirTypeRef = FirErrorTypeRefImpl(null, null, diagnostic)
|
||||
override val receiverTypeRef: FirTypeRef? get() = null
|
||||
override val typeParameters: List<FirTypeParameterRef> get() = emptyList()
|
||||
override var status: FirDeclarationStatus = FirResolvedDeclarationStatusImpl.DEFAULT_STATUS_FOR_STATUSLESS_DECLARATIONS
|
||||
override val receiverTypeRef: FirTypeRef? get() = null
|
||||
override val initializer: FirExpression? get() = null
|
||||
override val delegate: FirExpression? get() = null
|
||||
override val isVar: Boolean get() = false
|
||||
@@ -79,10 +79,6 @@ internal class FirErrorPropertyImpl(
|
||||
return this
|
||||
}
|
||||
|
||||
override fun <D> transformReceiverTypeRef(transformer: FirTransformer<D>, data: D): FirErrorPropertyImpl {
|
||||
return this
|
||||
}
|
||||
|
||||
override fun <D> transformTypeParameters(transformer: FirTransformer<D>, data: D): FirErrorPropertyImpl {
|
||||
return this
|
||||
}
|
||||
@@ -92,6 +88,10 @@ internal class FirErrorPropertyImpl(
|
||||
return this
|
||||
}
|
||||
|
||||
override fun <D> transformReceiverTypeRef(transformer: FirTransformer<D>, data: D): FirErrorPropertyImpl {
|
||||
return this
|
||||
}
|
||||
|
||||
override fun <D> transformInitializer(transformer: FirTransformer<D>, data: D): FirErrorPropertyImpl {
|
||||
return this
|
||||
}
|
||||
|
||||
@@ -37,9 +37,9 @@ class FirFieldImpl @FirImplementationDetail constructor(
|
||||
override val origin: FirDeclarationOrigin,
|
||||
override val attributes: FirDeclarationAttributes,
|
||||
override var returnTypeRef: FirTypeRef,
|
||||
override var deprecation: DeprecationsPerUseSite?,
|
||||
override val typeParameters: MutableList<FirTypeParameterRef>,
|
||||
override var status: FirDeclarationStatus,
|
||||
override var deprecation: DeprecationsPerUseSite?,
|
||||
override val containerSource: DeserializedContainerSource?,
|
||||
override val dispatchReceiverType: ConeKotlinType?,
|
||||
override val name: Name,
|
||||
@@ -80,10 +80,6 @@ class FirFieldImpl @FirImplementationDetail constructor(
|
||||
return this
|
||||
}
|
||||
|
||||
override fun <D> transformReceiverTypeRef(transformer: FirTransformer<D>, data: D): FirFieldImpl {
|
||||
return this
|
||||
}
|
||||
|
||||
override fun <D> transformTypeParameters(transformer: FirTransformer<D>, data: D): FirFieldImpl {
|
||||
typeParameters.transformInplace(transformer, data)
|
||||
return this
|
||||
@@ -94,6 +90,10 @@ class FirFieldImpl @FirImplementationDetail constructor(
|
||||
return this
|
||||
}
|
||||
|
||||
override fun <D> transformReceiverTypeRef(transformer: FirTransformer<D>, data: D): FirFieldImpl {
|
||||
return this
|
||||
}
|
||||
|
||||
override fun <D> transformInitializer(transformer: FirTransformer<D>, data: D): FirFieldImpl {
|
||||
initializer = initializer?.transform(transformer, data)
|
||||
return this
|
||||
|
||||
+9
-9
@@ -37,10 +37,10 @@ internal class FirPrimaryConstructor(
|
||||
override val origin: FirDeclarationOrigin,
|
||||
override val attributes: FirDeclarationAttributes,
|
||||
override var returnTypeRef: FirTypeRef,
|
||||
override var receiverTypeRef: FirTypeRef?,
|
||||
override var deprecation: DeprecationsPerUseSite?,
|
||||
override val typeParameters: MutableList<FirTypeParameterRef>,
|
||||
override var status: FirDeclarationStatus,
|
||||
override var receiverTypeRef: FirTypeRef?,
|
||||
override var deprecation: DeprecationsPerUseSite?,
|
||||
override val containerSource: DeserializedContainerSource?,
|
||||
override val dispatchReceiverType: ConeKotlinType?,
|
||||
override val valueParameters: MutableList<FirValueParameter>,
|
||||
@@ -58,9 +58,9 @@ internal class FirPrimaryConstructor(
|
||||
|
||||
override fun <R, D> acceptChildren(visitor: FirVisitor<R, D>, data: D) {
|
||||
returnTypeRef.accept(visitor, data)
|
||||
receiverTypeRef?.accept(visitor, data)
|
||||
typeParameters.forEach { it.accept(visitor, data) }
|
||||
status.accept(visitor, data)
|
||||
receiverTypeRef?.accept(visitor, data)
|
||||
controlFlowGraphReference?.accept(visitor, data)
|
||||
valueParameters.forEach { it.accept(visitor, data) }
|
||||
annotations.forEach { it.accept(visitor, data) }
|
||||
@@ -70,9 +70,9 @@ internal class FirPrimaryConstructor(
|
||||
|
||||
override fun <D> transformChildren(transformer: FirTransformer<D>, data: D): FirPrimaryConstructor {
|
||||
transformReturnTypeRef(transformer, data)
|
||||
transformReceiverTypeRef(transformer, data)
|
||||
transformTypeParameters(transformer, data)
|
||||
transformStatus(transformer, data)
|
||||
transformReceiverTypeRef(transformer, data)
|
||||
controlFlowGraphReference = controlFlowGraphReference?.transform(transformer, data)
|
||||
transformValueParameters(transformer, data)
|
||||
transformAnnotations(transformer, data)
|
||||
@@ -86,11 +86,6 @@ internal class FirPrimaryConstructor(
|
||||
return this
|
||||
}
|
||||
|
||||
override fun <D> transformReceiverTypeRef(transformer: FirTransformer<D>, data: D): FirPrimaryConstructor {
|
||||
receiverTypeRef = receiverTypeRef?.transform(transformer, data)
|
||||
return this
|
||||
}
|
||||
|
||||
override fun <D> transformTypeParameters(transformer: FirTransformer<D>, data: D): FirPrimaryConstructor {
|
||||
typeParameters.transformInplace(transformer, data)
|
||||
return this
|
||||
@@ -101,6 +96,11 @@ internal class FirPrimaryConstructor(
|
||||
return this
|
||||
}
|
||||
|
||||
override fun <D> transformReceiverTypeRef(transformer: FirTransformer<D>, data: D): FirPrimaryConstructor {
|
||||
receiverTypeRef = receiverTypeRef?.transform(transformer, data)
|
||||
return this
|
||||
}
|
||||
|
||||
override fun <D> transformValueParameters(transformer: FirTransformer<D>, data: D): FirPrimaryConstructor {
|
||||
valueParameters.transformInplace(transformer, data)
|
||||
return this
|
||||
|
||||
+4
-4
@@ -39,8 +39,8 @@ open class FirPropertyAccessorImpl @FirImplementationDetail constructor(
|
||||
override val origin: FirDeclarationOrigin,
|
||||
override val attributes: FirDeclarationAttributes,
|
||||
override var returnTypeRef: FirTypeRef,
|
||||
override var deprecation: DeprecationsPerUseSite?,
|
||||
override var status: FirDeclarationStatus,
|
||||
override var deprecation: DeprecationsPerUseSite?,
|
||||
override val containerSource: DeserializedContainerSource?,
|
||||
override val dispatchReceiverType: ConeKotlinType?,
|
||||
override val valueParameters: MutableList<FirValueParameter>,
|
||||
@@ -87,12 +87,12 @@ open class FirPropertyAccessorImpl @FirImplementationDetail constructor(
|
||||
return this
|
||||
}
|
||||
|
||||
override fun <D> transformReceiverTypeRef(transformer: FirTransformer<D>, data: D): FirPropertyAccessorImpl {
|
||||
override fun <D> transformStatus(transformer: FirTransformer<D>, data: D): FirPropertyAccessorImpl {
|
||||
status = status.transform(transformer, data)
|
||||
return this
|
||||
}
|
||||
|
||||
override fun <D> transformStatus(transformer: FirTransformer<D>, data: D): FirPropertyAccessorImpl {
|
||||
status = status.transform(transformer, data)
|
||||
override fun <D> transformReceiverTypeRef(transformer: FirTransformer<D>, data: D): FirPropertyAccessorImpl {
|
||||
return this
|
||||
}
|
||||
|
||||
|
||||
@@ -39,9 +39,9 @@ internal class FirPropertyImpl(
|
||||
override val origin: FirDeclarationOrigin,
|
||||
override val attributes: FirDeclarationAttributes,
|
||||
override var returnTypeRef: FirTypeRef,
|
||||
override var status: FirDeclarationStatus,
|
||||
override var receiverTypeRef: FirTypeRef?,
|
||||
override var deprecation: DeprecationsPerUseSite?,
|
||||
override var status: FirDeclarationStatus,
|
||||
override val containerSource: DeserializedContainerSource?,
|
||||
override val dispatchReceiverType: ConeKotlinType?,
|
||||
override val name: Name,
|
||||
@@ -69,8 +69,8 @@ internal class FirPropertyImpl(
|
||||
|
||||
override fun <R, D> acceptChildren(visitor: FirVisitor<R, D>, data: D) {
|
||||
returnTypeRef.accept(visitor, data)
|
||||
receiverTypeRef?.accept(visitor, data)
|
||||
status.accept(visitor, data)
|
||||
receiverTypeRef?.accept(visitor, data)
|
||||
initializer?.accept(visitor, data)
|
||||
delegate?.accept(visitor, data)
|
||||
getter?.accept(visitor, data)
|
||||
@@ -82,8 +82,8 @@ internal class FirPropertyImpl(
|
||||
|
||||
override fun <D> transformChildren(transformer: FirTransformer<D>, data: D): FirPropertyImpl {
|
||||
transformReturnTypeRef(transformer, data)
|
||||
transformReceiverTypeRef(transformer, data)
|
||||
transformStatus(transformer, data)
|
||||
transformReceiverTypeRef(transformer, data)
|
||||
transformInitializer(transformer, data)
|
||||
transformDelegate(transformer, data)
|
||||
transformGetter(transformer, data)
|
||||
@@ -98,13 +98,13 @@ internal class FirPropertyImpl(
|
||||
return this
|
||||
}
|
||||
|
||||
override fun <D> transformReceiverTypeRef(transformer: FirTransformer<D>, data: D): FirPropertyImpl {
|
||||
receiverTypeRef = receiverTypeRef?.transform(transformer, data)
|
||||
override fun <D> transformStatus(transformer: FirTransformer<D>, data: D): FirPropertyImpl {
|
||||
status = status.transform(transformer, data)
|
||||
return this
|
||||
}
|
||||
|
||||
override fun <D> transformStatus(transformer: FirTransformer<D>, data: D): FirPropertyImpl {
|
||||
status = status.transform(transformer, data)
|
||||
override fun <D> transformReceiverTypeRef(transformer: FirTransformer<D>, data: D): FirPropertyImpl {
|
||||
receiverTypeRef = receiverTypeRef?.transform(transformer, data)
|
||||
return this
|
||||
}
|
||||
|
||||
|
||||
+7
-7
@@ -38,9 +38,9 @@ internal class FirSimpleFunctionImpl(
|
||||
override val origin: FirDeclarationOrigin,
|
||||
override val attributes: FirDeclarationAttributes,
|
||||
override var returnTypeRef: FirTypeRef,
|
||||
override var status: FirDeclarationStatus,
|
||||
override var receiverTypeRef: FirTypeRef?,
|
||||
override var deprecation: DeprecationsPerUseSite?,
|
||||
override var status: FirDeclarationStatus,
|
||||
override val containerSource: DeserializedContainerSource?,
|
||||
override val dispatchReceiverType: ConeKotlinType?,
|
||||
override val valueParameters: MutableList<FirValueParameter>,
|
||||
@@ -59,8 +59,8 @@ internal class FirSimpleFunctionImpl(
|
||||
|
||||
override fun <R, D> acceptChildren(visitor: FirVisitor<R, D>, data: D) {
|
||||
returnTypeRef.accept(visitor, data)
|
||||
receiverTypeRef?.accept(visitor, data)
|
||||
status.accept(visitor, data)
|
||||
receiverTypeRef?.accept(visitor, data)
|
||||
controlFlowGraphReference?.accept(visitor, data)
|
||||
valueParameters.forEach { it.accept(visitor, data) }
|
||||
body?.accept(visitor, data)
|
||||
@@ -71,8 +71,8 @@ internal class FirSimpleFunctionImpl(
|
||||
|
||||
override fun <D> transformChildren(transformer: FirTransformer<D>, data: D): FirSimpleFunctionImpl {
|
||||
transformReturnTypeRef(transformer, data)
|
||||
transformReceiverTypeRef(transformer, data)
|
||||
transformStatus(transformer, data)
|
||||
transformReceiverTypeRef(transformer, data)
|
||||
controlFlowGraphReference = controlFlowGraphReference?.transform(transformer, data)
|
||||
transformValueParameters(transformer, data)
|
||||
transformBody(transformer, data)
|
||||
@@ -87,13 +87,13 @@ internal class FirSimpleFunctionImpl(
|
||||
return this
|
||||
}
|
||||
|
||||
override fun <D> transformReceiverTypeRef(transformer: FirTransformer<D>, data: D): FirSimpleFunctionImpl {
|
||||
receiverTypeRef = receiverTypeRef?.transform(transformer, data)
|
||||
override fun <D> transformStatus(transformer: FirTransformer<D>, data: D): FirSimpleFunctionImpl {
|
||||
status = status.transform(transformer, data)
|
||||
return this
|
||||
}
|
||||
|
||||
override fun <D> transformStatus(transformer: FirTransformer<D>, data: D): FirSimpleFunctionImpl {
|
||||
status = status.transform(transformer, data)
|
||||
override fun <D> transformReceiverTypeRef(transformer: FirTransformer<D>, data: D): FirSimpleFunctionImpl {
|
||||
receiverTypeRef = receiverTypeRef?.transform(transformer, data)
|
||||
return this
|
||||
}
|
||||
|
||||
|
||||
+5
-5
@@ -49,9 +49,9 @@ internal class FirValueParameterImpl(
|
||||
override val isNoinline: Boolean,
|
||||
override val isVararg: Boolean,
|
||||
) : FirValueParameter() {
|
||||
override val receiverTypeRef: FirTypeRef? get() = null
|
||||
override val typeParameters: List<FirTypeParameterRef> get() = emptyList()
|
||||
override var status: FirDeclarationStatus = FirResolvedDeclarationStatusImpl.DEFAULT_STATUS_FOR_STATUSLESS_DECLARATIONS
|
||||
override val receiverTypeRef: FirTypeRef? get() = null
|
||||
override val initializer: FirExpression? get() = null
|
||||
override val delegate: FirExpression? get() = null
|
||||
override val isVar: Boolean get() = false
|
||||
@@ -84,10 +84,6 @@ internal class FirValueParameterImpl(
|
||||
return this
|
||||
}
|
||||
|
||||
override fun <D> transformReceiverTypeRef(transformer: FirTransformer<D>, data: D): FirValueParameterImpl {
|
||||
return this
|
||||
}
|
||||
|
||||
override fun <D> transformTypeParameters(transformer: FirTransformer<D>, data: D): FirValueParameterImpl {
|
||||
return this
|
||||
}
|
||||
@@ -97,6 +93,10 @@ internal class FirValueParameterImpl(
|
||||
return this
|
||||
}
|
||||
|
||||
override fun <D> transformReceiverTypeRef(transformer: FirTransformer<D>, data: D): FirValueParameterImpl {
|
||||
return this
|
||||
}
|
||||
|
||||
override fun <D> transformInitializer(transformer: FirTransformer<D>, data: D): FirValueParameterImpl {
|
||||
return this
|
||||
}
|
||||
|
||||
@@ -21,13 +21,12 @@ import org.jetbrains.kotlin.fir.declarations.FirDeclaration
|
||||
import org.jetbrains.kotlin.fir.declarations.FirAnnotatedDeclaration
|
||||
import org.jetbrains.kotlin.fir.declarations.FirAnonymousInitializer
|
||||
import org.jetbrains.kotlin.fir.declarations.FirTypedDeclaration
|
||||
import org.jetbrains.kotlin.fir.declarations.FirCallableDeclaration
|
||||
import org.jetbrains.kotlin.fir.declarations.FirTypeParameterRef
|
||||
import org.jetbrains.kotlin.fir.declarations.FirTypeParameter
|
||||
import org.jetbrains.kotlin.fir.declarations.FirTypeParameterRefsOwner
|
||||
import org.jetbrains.kotlin.fir.declarations.FirTypeParametersOwner
|
||||
import org.jetbrains.kotlin.fir.declarations.FirMemberDeclaration
|
||||
import org.jetbrains.kotlin.fir.declarations.FirCallableMemberDeclaration
|
||||
import org.jetbrains.kotlin.fir.declarations.FirCallableDeclaration
|
||||
import org.jetbrains.kotlin.fir.declarations.FirTypeParameterRef
|
||||
import org.jetbrains.kotlin.fir.declarations.FirTypeParameter
|
||||
import org.jetbrains.kotlin.fir.declarations.FirVariable
|
||||
import org.jetbrains.kotlin.fir.declarations.FirValueParameter
|
||||
import org.jetbrains.kotlin.fir.declarations.FirProperty
|
||||
@@ -204,18 +203,6 @@ abstract class FirTransformer<in D> : FirVisitor<FirElement, D>() {
|
||||
return transformElement(typedDeclaration, data)
|
||||
}
|
||||
|
||||
open fun transformCallableDeclaration(callableDeclaration: FirCallableDeclaration, data: D): FirCallableDeclaration {
|
||||
return transformElement(callableDeclaration, data)
|
||||
}
|
||||
|
||||
open fun transformTypeParameterRef(typeParameterRef: FirTypeParameterRef, data: D): FirTypeParameterRef {
|
||||
return transformElement(typeParameterRef, data)
|
||||
}
|
||||
|
||||
open fun transformTypeParameter(typeParameter: FirTypeParameter, data: D): FirTypeParameterRef {
|
||||
return transformElement(typeParameter, data)
|
||||
}
|
||||
|
||||
open fun transformTypeParameterRefsOwner(typeParameterRefsOwner: FirTypeParameterRefsOwner, data: D): FirTypeParameterRefsOwner {
|
||||
return transformElement(typeParameterRefsOwner, data)
|
||||
}
|
||||
@@ -228,8 +215,16 @@ abstract class FirTransformer<in D> : FirVisitor<FirElement, D>() {
|
||||
return transformElement(memberDeclaration, data)
|
||||
}
|
||||
|
||||
open fun transformCallableMemberDeclaration(callableMemberDeclaration: FirCallableMemberDeclaration, data: D): FirCallableMemberDeclaration {
|
||||
return transformElement(callableMemberDeclaration, data)
|
||||
open fun transformCallableDeclaration(callableDeclaration: FirCallableDeclaration, data: D): FirCallableDeclaration {
|
||||
return transformElement(callableDeclaration, data)
|
||||
}
|
||||
|
||||
open fun transformTypeParameterRef(typeParameterRef: FirTypeParameterRef, data: D): FirTypeParameterRef {
|
||||
return transformElement(typeParameterRef, data)
|
||||
}
|
||||
|
||||
open fun transformTypeParameter(typeParameter: FirTypeParameter, data: D): FirTypeParameterRef {
|
||||
return transformElement(typeParameter, data)
|
||||
}
|
||||
|
||||
open fun transformVariable(variable: FirVariable, data: D): FirStatement {
|
||||
@@ -720,18 +715,6 @@ abstract class FirTransformer<in D> : FirVisitor<FirElement, D>() {
|
||||
return transformTypedDeclaration(typedDeclaration, data)
|
||||
}
|
||||
|
||||
final override fun visitCallableDeclaration(callableDeclaration: FirCallableDeclaration, data: D): FirCallableDeclaration {
|
||||
return transformCallableDeclaration(callableDeclaration, data)
|
||||
}
|
||||
|
||||
final override fun visitTypeParameterRef(typeParameterRef: FirTypeParameterRef, data: D): FirTypeParameterRef {
|
||||
return transformTypeParameterRef(typeParameterRef, data)
|
||||
}
|
||||
|
||||
final override fun visitTypeParameter(typeParameter: FirTypeParameter, data: D): FirTypeParameterRef {
|
||||
return transformTypeParameter(typeParameter, data)
|
||||
}
|
||||
|
||||
final override fun visitTypeParameterRefsOwner(typeParameterRefsOwner: FirTypeParameterRefsOwner, data: D): FirTypeParameterRefsOwner {
|
||||
return transformTypeParameterRefsOwner(typeParameterRefsOwner, data)
|
||||
}
|
||||
@@ -744,8 +727,16 @@ abstract class FirTransformer<in D> : FirVisitor<FirElement, D>() {
|
||||
return transformMemberDeclaration(memberDeclaration, data)
|
||||
}
|
||||
|
||||
final override fun visitCallableMemberDeclaration(callableMemberDeclaration: FirCallableMemberDeclaration, data: D): FirCallableMemberDeclaration {
|
||||
return transformCallableMemberDeclaration(callableMemberDeclaration, data)
|
||||
final override fun visitCallableDeclaration(callableDeclaration: FirCallableDeclaration, data: D): FirCallableDeclaration {
|
||||
return transformCallableDeclaration(callableDeclaration, data)
|
||||
}
|
||||
|
||||
final override fun visitTypeParameterRef(typeParameterRef: FirTypeParameterRef, data: D): FirTypeParameterRef {
|
||||
return transformTypeParameterRef(typeParameterRef, data)
|
||||
}
|
||||
|
||||
final override fun visitTypeParameter(typeParameter: FirTypeParameter, data: D): FirTypeParameterRef {
|
||||
return transformTypeParameter(typeParameter, data)
|
||||
}
|
||||
|
||||
final override fun visitVariable(variable: FirVariable, data: D): FirStatement {
|
||||
|
||||
@@ -21,13 +21,12 @@ import org.jetbrains.kotlin.fir.declarations.FirDeclaration
|
||||
import org.jetbrains.kotlin.fir.declarations.FirAnnotatedDeclaration
|
||||
import org.jetbrains.kotlin.fir.declarations.FirAnonymousInitializer
|
||||
import org.jetbrains.kotlin.fir.declarations.FirTypedDeclaration
|
||||
import org.jetbrains.kotlin.fir.declarations.FirCallableDeclaration
|
||||
import org.jetbrains.kotlin.fir.declarations.FirTypeParameterRef
|
||||
import org.jetbrains.kotlin.fir.declarations.FirTypeParameter
|
||||
import org.jetbrains.kotlin.fir.declarations.FirTypeParameterRefsOwner
|
||||
import org.jetbrains.kotlin.fir.declarations.FirTypeParametersOwner
|
||||
import org.jetbrains.kotlin.fir.declarations.FirMemberDeclaration
|
||||
import org.jetbrains.kotlin.fir.declarations.FirCallableMemberDeclaration
|
||||
import org.jetbrains.kotlin.fir.declarations.FirCallableDeclaration
|
||||
import org.jetbrains.kotlin.fir.declarations.FirTypeParameterRef
|
||||
import org.jetbrains.kotlin.fir.declarations.FirTypeParameter
|
||||
import org.jetbrains.kotlin.fir.declarations.FirVariable
|
||||
import org.jetbrains.kotlin.fir.declarations.FirValueParameter
|
||||
import org.jetbrains.kotlin.fir.declarations.FirProperty
|
||||
@@ -173,19 +172,17 @@ abstract class FirVisitor<out R, in D> {
|
||||
|
||||
open fun visitTypedDeclaration(typedDeclaration: FirTypedDeclaration, data: D): R = visitElement(typedDeclaration, data)
|
||||
|
||||
open fun visitCallableDeclaration(callableDeclaration: FirCallableDeclaration, data: D): R = visitElement(callableDeclaration, data)
|
||||
|
||||
open fun visitTypeParameterRef(typeParameterRef: FirTypeParameterRef, data: D): R = visitElement(typeParameterRef, data)
|
||||
|
||||
open fun visitTypeParameter(typeParameter: FirTypeParameter, data: D): R = visitElement(typeParameter, data)
|
||||
|
||||
open fun visitTypeParameterRefsOwner(typeParameterRefsOwner: FirTypeParameterRefsOwner, data: D): R = visitElement(typeParameterRefsOwner, data)
|
||||
|
||||
open fun visitTypeParametersOwner(typeParametersOwner: FirTypeParametersOwner, data: D): R = visitElement(typeParametersOwner, data)
|
||||
|
||||
open fun visitMemberDeclaration(memberDeclaration: FirMemberDeclaration, data: D): R = visitElement(memberDeclaration, data)
|
||||
|
||||
open fun visitCallableMemberDeclaration(callableMemberDeclaration: FirCallableMemberDeclaration, data: D): R = visitElement(callableMemberDeclaration, data)
|
||||
open fun visitCallableDeclaration(callableDeclaration: FirCallableDeclaration, data: D): R = visitElement(callableDeclaration, data)
|
||||
|
||||
open fun visitTypeParameterRef(typeParameterRef: FirTypeParameterRef, data: D): R = visitElement(typeParameterRef, data)
|
||||
|
||||
open fun visitTypeParameter(typeParameter: FirTypeParameter, data: D): R = visitElement(typeParameter, data)
|
||||
|
||||
open fun visitVariable(variable: FirVariable, data: D): R = visitElement(variable, data)
|
||||
|
||||
|
||||
@@ -21,13 +21,12 @@ import org.jetbrains.kotlin.fir.declarations.FirDeclaration
|
||||
import org.jetbrains.kotlin.fir.declarations.FirAnnotatedDeclaration
|
||||
import org.jetbrains.kotlin.fir.declarations.FirAnonymousInitializer
|
||||
import org.jetbrains.kotlin.fir.declarations.FirTypedDeclaration
|
||||
import org.jetbrains.kotlin.fir.declarations.FirCallableDeclaration
|
||||
import org.jetbrains.kotlin.fir.declarations.FirTypeParameterRef
|
||||
import org.jetbrains.kotlin.fir.declarations.FirTypeParameter
|
||||
import org.jetbrains.kotlin.fir.declarations.FirTypeParameterRefsOwner
|
||||
import org.jetbrains.kotlin.fir.declarations.FirTypeParametersOwner
|
||||
import org.jetbrains.kotlin.fir.declarations.FirMemberDeclaration
|
||||
import org.jetbrains.kotlin.fir.declarations.FirCallableMemberDeclaration
|
||||
import org.jetbrains.kotlin.fir.declarations.FirCallableDeclaration
|
||||
import org.jetbrains.kotlin.fir.declarations.FirTypeParameterRef
|
||||
import org.jetbrains.kotlin.fir.declarations.FirTypeParameter
|
||||
import org.jetbrains.kotlin.fir.declarations.FirVariable
|
||||
import org.jetbrains.kotlin.fir.declarations.FirValueParameter
|
||||
import org.jetbrains.kotlin.fir.declarations.FirProperty
|
||||
@@ -203,18 +202,6 @@ abstract class FirVisitorVoid : FirVisitor<Unit, Nothing?>() {
|
||||
visitElement(typedDeclaration)
|
||||
}
|
||||
|
||||
open fun visitCallableDeclaration(callableDeclaration: FirCallableDeclaration) {
|
||||
visitElement(callableDeclaration)
|
||||
}
|
||||
|
||||
open fun visitTypeParameterRef(typeParameterRef: FirTypeParameterRef) {
|
||||
visitElement(typeParameterRef)
|
||||
}
|
||||
|
||||
open fun visitTypeParameter(typeParameter: FirTypeParameter) {
|
||||
visitElement(typeParameter)
|
||||
}
|
||||
|
||||
open fun visitTypeParameterRefsOwner(typeParameterRefsOwner: FirTypeParameterRefsOwner) {
|
||||
visitElement(typeParameterRefsOwner)
|
||||
}
|
||||
@@ -227,8 +214,16 @@ abstract class FirVisitorVoid : FirVisitor<Unit, Nothing?>() {
|
||||
visitElement(memberDeclaration)
|
||||
}
|
||||
|
||||
open fun visitCallableMemberDeclaration(callableMemberDeclaration: FirCallableMemberDeclaration) {
|
||||
visitElement(callableMemberDeclaration)
|
||||
open fun visitCallableDeclaration(callableDeclaration: FirCallableDeclaration) {
|
||||
visitElement(callableDeclaration)
|
||||
}
|
||||
|
||||
open fun visitTypeParameterRef(typeParameterRef: FirTypeParameterRef) {
|
||||
visitElement(typeParameterRef)
|
||||
}
|
||||
|
||||
open fun visitTypeParameter(typeParameter: FirTypeParameter) {
|
||||
visitElement(typeParameter)
|
||||
}
|
||||
|
||||
open fun visitVariable(variable: FirVariable) {
|
||||
@@ -719,18 +714,6 @@ abstract class FirVisitorVoid : FirVisitor<Unit, Nothing?>() {
|
||||
visitTypedDeclaration(typedDeclaration)
|
||||
}
|
||||
|
||||
final override fun visitCallableDeclaration(callableDeclaration: FirCallableDeclaration, data: Nothing?) {
|
||||
visitCallableDeclaration(callableDeclaration)
|
||||
}
|
||||
|
||||
final override fun visitTypeParameterRef(typeParameterRef: FirTypeParameterRef, data: Nothing?) {
|
||||
visitTypeParameterRef(typeParameterRef)
|
||||
}
|
||||
|
||||
final override fun visitTypeParameter(typeParameter: FirTypeParameter, data: Nothing?) {
|
||||
visitTypeParameter(typeParameter)
|
||||
}
|
||||
|
||||
final override fun visitTypeParameterRefsOwner(typeParameterRefsOwner: FirTypeParameterRefsOwner, data: Nothing?) {
|
||||
visitTypeParameterRefsOwner(typeParameterRefsOwner)
|
||||
}
|
||||
@@ -743,8 +726,16 @@ abstract class FirVisitorVoid : FirVisitor<Unit, Nothing?>() {
|
||||
visitMemberDeclaration(memberDeclaration)
|
||||
}
|
||||
|
||||
final override fun visitCallableMemberDeclaration(callableMemberDeclaration: FirCallableMemberDeclaration, data: Nothing?) {
|
||||
visitCallableMemberDeclaration(callableMemberDeclaration)
|
||||
final override fun visitCallableDeclaration(callableDeclaration: FirCallableDeclaration, data: Nothing?) {
|
||||
visitCallableDeclaration(callableDeclaration)
|
||||
}
|
||||
|
||||
final override fun visitTypeParameterRef(typeParameterRef: FirTypeParameterRef, data: Nothing?) {
|
||||
visitTypeParameterRef(typeParameterRef)
|
||||
}
|
||||
|
||||
final override fun visitTypeParameter(typeParameter: FirTypeParameter, data: Nothing?) {
|
||||
visitTypeParameter(typeParameter)
|
||||
}
|
||||
|
||||
final override fun visitVariable(variable: FirVariable, data: Nothing?) {
|
||||
|
||||
@@ -16,15 +16,12 @@ import org.jetbrains.kotlin.fir.types.ConeIntersectionType
|
||||
import org.jetbrains.kotlin.fir.types.ConeKotlinType
|
||||
|
||||
fun FirCallableSymbol<*>.dispatchReceiverTypeOrNull(): ConeKotlinType? =
|
||||
(fir as? FirCallableMemberDeclaration)?.dispatchReceiverType
|
||||
fir.dispatchReceiverType
|
||||
|
||||
fun FirCallableSymbol<*>.dispatchReceiverClassOrNull(): ConeClassLikeLookupTag? =
|
||||
(fir as? FirCallableMemberDeclaration)?.dispatchReceiverClassOrNull()
|
||||
fir.dispatchReceiverClassOrNull()
|
||||
|
||||
fun FirCallableDeclaration.dispatchReceiverClassOrNull(): ConeClassLikeLookupTag? =
|
||||
(this as? FirCallableMemberDeclaration)?.dispatchReceiverClassOrNull()
|
||||
|
||||
fun FirCallableMemberDeclaration.dispatchReceiverClassOrNull(): ConeClassLikeLookupTag? {
|
||||
fun FirCallableDeclaration.dispatchReceiverClassOrNull(): ConeClassLikeLookupTag? {
|
||||
if (dispatchReceiverType is ConeIntersectionType && isIntersectionOverride) return symbol.baseForIntersectionOverride!!.fir.dispatchReceiverClassOrNull()
|
||||
|
||||
return (dispatchReceiverType as? ConeClassLikeType)?.lookupTag
|
||||
@@ -35,9 +32,6 @@ fun FirCallableDeclaration.containingClass(): ConeClassLikeLookupTag? {
|
||||
return (containingClassAttr ?: dispatchReceiverClassOrNull())
|
||||
}
|
||||
|
||||
fun FirCallableMemberDeclaration.containingClass(): ConeClassLikeLookupTag? {
|
||||
return (containingClassAttr ?: dispatchReceiverClassOrNull())
|
||||
}
|
||||
fun FirRegularClass.containingClassForLocal(): ConeClassLikeLookupTag? =
|
||||
if (isLocal) containingClassForLocalAttr else null
|
||||
|
||||
|
||||
@@ -217,11 +217,7 @@ class FirRenderer(builder: StringBuilder, private val mode: RenderMode = RenderM
|
||||
|
||||
override fun visitCallableDeclaration(callableDeclaration: FirCallableDeclaration) {
|
||||
callableDeclaration.annotations.renderAnnotations()
|
||||
if (callableDeclaration is FirMemberDeclaration) {
|
||||
visitMemberDeclaration(callableDeclaration)
|
||||
} else {
|
||||
visitTypedDeclaration(callableDeclaration)
|
||||
}
|
||||
visitMemberDeclaration(callableDeclaration)
|
||||
val receiverType = callableDeclaration.receiverTypeRef
|
||||
print(" ")
|
||||
if (receiverType != null) {
|
||||
@@ -275,7 +271,7 @@ class FirRenderer(builder: StringBuilder, private val mode: RenderMode = RenderM
|
||||
|
||||
private fun FirMemberDeclaration.modalityAsString(): String {
|
||||
return modality?.name?.toLowerCaseAsciiOnly() ?: run {
|
||||
if (this is FirCallableMemberDeclaration && this.isOverride) {
|
||||
if (this is FirCallableDeclaration && this.isOverride) {
|
||||
"open?"
|
||||
} else {
|
||||
"final?"
|
||||
@@ -1088,7 +1084,7 @@ class FirRenderer(builder: StringBuilder, private val mode: RenderMode = RenderM
|
||||
override fun visitResolvedNamedReference(resolvedNamedReference: FirResolvedNamedReference) {
|
||||
print("R|")
|
||||
val symbol = resolvedNamedReference.resolvedSymbol
|
||||
val isSubstitutionOverride = (symbol.fir as? FirCallableMemberDeclaration)?.isSubstitutionOverride == true
|
||||
val isSubstitutionOverride = (symbol.fir as? FirCallableDeclaration)?.isSubstitutionOverride == true
|
||||
|
||||
if (isSubstitutionOverride) {
|
||||
print("SubstitutionOverride<")
|
||||
|
||||
+3
-3
@@ -5,13 +5,13 @@
|
||||
|
||||
package org.jetbrains.kotlin.fir.declarations.comparators
|
||||
|
||||
import org.jetbrains.kotlin.fir.declarations.FirCallableMemberDeclaration
|
||||
import org.jetbrains.kotlin.fir.declarations.FirCallableDeclaration
|
||||
import org.jetbrains.kotlin.fir.declarations.FirFunction
|
||||
import org.jetbrains.kotlin.fir.render
|
||||
import org.jetbrains.kotlin.fir.types.FirTypeRefComparator
|
||||
|
||||
object FirCallableMemberDeclarationComparator : Comparator<FirCallableMemberDeclaration> {
|
||||
override fun compare(a: FirCallableMemberDeclaration, b: FirCallableMemberDeclaration): Int {
|
||||
object FirCallableDeclarationComparator : Comparator<FirCallableDeclaration> {
|
||||
override fun compare(a: FirCallableDeclaration, b: FirCallableDeclaration): Int {
|
||||
val typeAndNameDiff = FirMemberDeclarationComparator.TypeAndNameComparator.compare(a, b)
|
||||
if (typeAndNameDiff != 0) {
|
||||
return typeAndNameDiff
|
||||
+3
-3
@@ -29,7 +29,7 @@ object FirMemberDeclarationComparator : Comparator<FirMemberDeclaration> {
|
||||
|
||||
private val FirMemberDeclaration.name: Name
|
||||
get() = when (this) {
|
||||
is FirCallableMemberDeclaration ->
|
||||
is FirCallableDeclaration ->
|
||||
this.symbol.callableId.callableName
|
||||
is FirClass ->
|
||||
this.classId.shortClassName
|
||||
@@ -55,8 +55,8 @@ object FirMemberDeclarationComparator : Comparator<FirMemberDeclaration> {
|
||||
}
|
||||
|
||||
override fun compare(a: FirMemberDeclaration, b: FirMemberDeclaration): Int {
|
||||
if (a is FirCallableMemberDeclaration && b is FirCallableMemberDeclaration) {
|
||||
return FirCallableMemberDeclarationComparator.compare(a, b)
|
||||
if (a is FirCallableDeclaration && b is FirCallableDeclaration) {
|
||||
return FirCallableDeclarationComparator.compare(a, b)
|
||||
}
|
||||
|
||||
val typeAndNameDiff = TypeAndNameComparator.compare(a, b)
|
||||
|
||||
+1
-1
@@ -39,11 +39,11 @@ abstract class FirDefaultPropertyAccessor(
|
||||
origin,
|
||||
FirDeclarationAttributes(),
|
||||
propertyTypeRef,
|
||||
deprecation = null,
|
||||
status = if (effectiveVisibility == null)
|
||||
FirDeclarationStatusImpl(visibility, Modality.FINAL)
|
||||
else
|
||||
FirResolvedDeclarationStatusImpl(visibility, Modality.FINAL, effectiveVisibility),
|
||||
deprecation = null,
|
||||
containerSource = null,
|
||||
dispatchReceiverType = null,
|
||||
valueParameters,
|
||||
|
||||
+1
-1
@@ -37,7 +37,7 @@ var <T> T.danglingTypeConstraints: List<DanglingTypeConstraint>?
|
||||
|
||||
val FirMemberDeclaration.containerSource: SourceElement?
|
||||
get() = when (this) {
|
||||
is FirCallableMemberDeclaration -> containerSource
|
||||
is FirCallableDeclaration -> containerSource
|
||||
is FirRegularClass -> sourceElement
|
||||
is FirTypeAlias -> sourceElement
|
||||
}
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
|
||||
package org.jetbrains.kotlin.fir.scopes
|
||||
|
||||
import org.jetbrains.kotlin.fir.declarations.FirCallableMemberDeclaration
|
||||
import org.jetbrains.kotlin.fir.declarations.FirCallableDeclaration
|
||||
import org.jetbrains.kotlin.fir.isIntersectionOverride
|
||||
import org.jetbrains.kotlin.fir.originalForSubstitutionOverride
|
||||
import org.jetbrains.kotlin.fir.symbols.impl.FirCallableSymbol
|
||||
@@ -146,7 +146,7 @@ inline fun FirTypeScope.processDirectlyOverriddenProperties(
|
||||
fun FirTypeScope.getDirectOverriddenMembers(
|
||||
member: FirCallableSymbol<*>,
|
||||
unwrapIntersectionAndSubstitutionOverride: Boolean = false,
|
||||
): List<FirCallableSymbol<out FirCallableMemberDeclaration>> =
|
||||
): List<FirCallableSymbol<out FirCallableDeclaration>> =
|
||||
when (member) {
|
||||
is FirNamedFunctionSymbol -> getDirectOverriddenFunctions(member, unwrapIntersectionAndSubstitutionOverride)
|
||||
is FirPropertySymbol -> getDirectOverriddenProperties(member, unwrapIntersectionAndSubstitutionOverride)
|
||||
|
||||
+5
-6
@@ -30,15 +30,14 @@ object FirTreeBuilder : AbstractFirTreeBuilder() {
|
||||
val annotatedDeclaration = sealedElement("AnnotatedDeclaration", Declaration, declaration, annotationContainer)
|
||||
val anonymousInitializer = element("AnonymousInitializer", Declaration, declaration, controlFlowGraphOwner)
|
||||
val typedDeclaration = sealedElement("TypedDeclaration", Declaration, annotatedDeclaration)
|
||||
val callableDeclaration = sealedElement("CallableDeclaration", Declaration, typedDeclaration)
|
||||
val typeParameterRef = element("TypeParameterRef", Declaration)
|
||||
val typeParameter = element("TypeParameter", Declaration, typeParameterRef, annotatedDeclaration)
|
||||
val typeParameterRefsOwner = sealedElement("TypeParameterRefsOwner", Declaration)
|
||||
val typeParametersOwner = sealedElement("TypeParametersOwner", Declaration, typeParameterRefsOwner)
|
||||
val memberDeclaration = sealedElement("MemberDeclaration", Declaration, typeParameterRefsOwner)
|
||||
val callableMemberDeclaration = sealedElement("CallableMemberDeclaration", Declaration, callableDeclaration, memberDeclaration)
|
||||
val callableDeclaration = sealedElement("CallableDeclaration", Declaration, typedDeclaration, memberDeclaration)
|
||||
val typeParameterRef = element("TypeParameterRef", Declaration)
|
||||
val typeParameter = element("TypeParameter", Declaration, typeParameterRef, annotatedDeclaration)
|
||||
|
||||
val variable = sealedElement("Variable", Declaration, callableMemberDeclaration, statement)
|
||||
val variable = sealedElement("Variable", Declaration, callableDeclaration, statement)
|
||||
val valueParameter = element("ValueParameter", Declaration, variable, controlFlowGraphOwner)
|
||||
val property = element("Property", Declaration, variable, typeParametersOwner, controlFlowGraphOwner)
|
||||
val field = element("Field", Declaration, variable)
|
||||
@@ -49,7 +48,7 @@ object FirTreeBuilder : AbstractFirTreeBuilder() {
|
||||
val regularClass = element("RegularClass", Declaration, klass, memberDeclaration, controlFlowGraphOwner)
|
||||
val typeAlias = element("TypeAlias", Declaration, classLikeDeclaration, memberDeclaration, typeParametersOwner)
|
||||
|
||||
val function = sealedElement("Function", Declaration, callableMemberDeclaration, targetElement, controlFlowGraphOwner, statement)
|
||||
val function = sealedElement("Function", Declaration, callableDeclaration, targetElement, controlFlowGraphOwner, statement)
|
||||
|
||||
val contractDescriptionOwner = sealedElement("ContractDescriptionOwner", Declaration)
|
||||
val simpleFunction = element("SimpleFunction", Declaration, function, contractDescriptionOwner, typeParametersOwner)
|
||||
|
||||
-2
@@ -87,9 +87,7 @@ object NodeConfigurator : AbstractFieldConfigurator<FirTreeBuilder>(FirTreeBuild
|
||||
+field("receiverTypeRef", typeRef, nullable = true, withReplace = true).withTransform()
|
||||
+field("deprecation", deprecationsPerUseSiteType, nullable = true).withReplace().apply { isMutable = true }
|
||||
+symbol("FirCallableSymbol", "out FirCallableDeclaration")
|
||||
}
|
||||
|
||||
callableMemberDeclaration.configure {
|
||||
+field("containerSource", type(DeserializedContainerSource::class), nullable = true)
|
||||
+field("dispatchReceiverType", coneKotlinTypeType, nullable = true)
|
||||
}
|
||||
|
||||
+2
-2
@@ -7,7 +7,7 @@ package org.jetbrains.kotlin.test.frontend.fir.handlers
|
||||
|
||||
import org.jetbrains.kotlin.fir.FirRenderer
|
||||
import org.jetbrains.kotlin.fir.FirSession
|
||||
import org.jetbrains.kotlin.fir.declarations.FirCallableMemberDeclaration
|
||||
import org.jetbrains.kotlin.fir.declarations.FirCallableDeclaration
|
||||
import org.jetbrains.kotlin.fir.declarations.FirRegularClass
|
||||
import org.jetbrains.kotlin.fir.render
|
||||
import org.jetbrains.kotlin.fir.resolve.ScopeSession
|
||||
@@ -111,7 +111,7 @@ class FirScopeDumpHandler(testServices: TestServices) : FirAnalysisHandler(testS
|
||||
}
|
||||
}
|
||||
|
||||
private fun SmartPrinter.printInfo(declaration: FirCallableMemberDeclaration, counter: SymbolCounter) {
|
||||
private fun SmartPrinter.printInfo(declaration: FirCallableDeclaration, counter: SymbolCounter) {
|
||||
print("[${declaration.origin}]: ")
|
||||
print(declaration.render(FirRenderer.RenderMode.NoBodies).trim())
|
||||
print(" from ${declaration.dispatchReceiverType?.render()}")
|
||||
|
||||
+1
-1
@@ -469,7 +469,7 @@ class FirVisualizer(private val firFile: FirFile) : BaseRenderer() {
|
||||
}
|
||||
|
||||
private fun renderImplicitReceiver(symbol: FirBasedSymbol<*>, psi: PsiElement?) {
|
||||
val receiverType = (symbol.fir as? FirCallableMemberDeclaration)?.dispatchReceiverType ?: return
|
||||
val receiverType = (symbol.fir as? FirCallableDeclaration)?.dispatchReceiverType ?: return
|
||||
val implicitReceiverIndex = implicitReceivers.indexOf(receiverType)
|
||||
if (implicitReceiverIndex != -1) addAnnotation("this@$implicitReceiverIndex", psi)
|
||||
}
|
||||
|
||||
+1
-1
@@ -58,7 +58,7 @@ private fun collectDesignationPath(declaration: FirDeclaration): List<FirDeclara
|
||||
val containingClass = when (declaration) {
|
||||
is FirCallableDeclaration -> {
|
||||
if (declaration.symbol.callableId.isLocal) return null
|
||||
if ((declaration as? FirCallableMemberDeclaration)?.status?.visibility == Visibilities.Local) return null
|
||||
if ((declaration as? FirCallableDeclaration)?.status?.visibility == Visibilities.Local) return null
|
||||
when (declaration) {
|
||||
is FirSimpleFunction, is FirProperty, is FirField, is FirConstructor -> {
|
||||
val klass = declaration.containingClass() ?: return emptyList()
|
||||
|
||||
+3
-3
@@ -115,7 +115,7 @@ internal class FirIdeRenderer private constructor(
|
||||
return if (classKind == ClassKind.INTERFACE) Modality.ABSTRACT else Modality.FINAL
|
||||
}
|
||||
val containingFirClass = containingDeclaration as? FirRegularClass ?: return Modality.FINAL
|
||||
if (this !is FirCallableMemberDeclaration) return Modality.FINAL
|
||||
if (this !is FirCallableDeclaration) return Modality.FINAL
|
||||
if (isOverride) {
|
||||
if (containingFirClass.modality != Modality.FINAL) return Modality.OPEN
|
||||
}
|
||||
@@ -126,7 +126,7 @@ internal class FirIdeRenderer private constructor(
|
||||
}
|
||||
|
||||
private fun StringBuilder.renderModalityForCallable(
|
||||
callable: FirCallableMemberDeclaration,
|
||||
callable: FirCallableDeclaration,
|
||||
containingDeclaration: FirDeclaration?
|
||||
) {
|
||||
val modality = callable.modality ?: return
|
||||
@@ -137,7 +137,7 @@ internal class FirIdeRenderer private constructor(
|
||||
}
|
||||
}
|
||||
|
||||
private fun StringBuilder.renderOverride(callableMember: FirCallableMemberDeclaration) {
|
||||
private fun StringBuilder.renderOverride(callableMember: FirCallableDeclaration) {
|
||||
if (RendererModifier.OVERRIDE !in options.modifiers) return
|
||||
renderModifier(callableMember.isOverride || options.forceRenderingOverrideModifier, "override")
|
||||
}
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user