[FIR] Rename FirStatusOwner back to FirMemberDeclaration
This commit is contained in:
+1
-1
@@ -20,7 +20,7 @@ import org.jetbrains.kotlin.fir.visitors.*
|
||||
* DO NOT MODIFY IT MANUALLY
|
||||
*/
|
||||
|
||||
sealed class FirCallableMemberDeclaration : FirCallableDeclaration(), FirStatusOwner {
|
||||
sealed class FirCallableMemberDeclaration : FirCallableDeclaration(), FirMemberDeclaration {
|
||||
abstract override val source: FirSourceElement?
|
||||
abstract override val moduleData: FirModuleData
|
||||
abstract override val resolvePhase: FirResolvePhase
|
||||
|
||||
+5
-5
@@ -14,18 +14,18 @@ import org.jetbrains.kotlin.fir.visitors.*
|
||||
* DO NOT MODIFY IT MANUALLY
|
||||
*/
|
||||
|
||||
sealed interface FirStatusOwner : FirTypeParameterRefsOwner {
|
||||
sealed interface FirMemberDeclaration : FirTypeParameterRefsOwner {
|
||||
override val source: FirSourceElement?
|
||||
override val typeParameters: List<FirTypeParameterRef>
|
||||
val status: FirDeclarationStatus
|
||||
|
||||
override fun <R, D> accept(visitor: FirVisitor<R, D>, data: D): R = visitor.visitStatusOwner(this, data)
|
||||
override fun <R, D> accept(visitor: FirVisitor<R, D>, data: D): R = visitor.visitMemberDeclaration(this, data)
|
||||
|
||||
@Suppress("UNCHECKED_CAST")
|
||||
override fun <E: FirElement, D> transform(transformer: FirTransformer<D>, data: D): E =
|
||||
transformer.transformStatusOwner(this, data) as E
|
||||
transformer.transformMemberDeclaration(this, data) as E
|
||||
|
||||
override fun <D> transformTypeParameters(transformer: FirTransformer<D>, data: D): FirStatusOwner
|
||||
override fun <D> transformTypeParameters(transformer: FirTransformer<D>, data: D): FirMemberDeclaration
|
||||
|
||||
fun <D> transformStatus(transformer: FirTransformer<D>, data: D): FirStatusOwner
|
||||
fun <D> transformStatus(transformer: FirTransformer<D>, data: D): FirMemberDeclaration
|
||||
}
|
||||
@@ -22,7 +22,7 @@ import org.jetbrains.kotlin.fir.visitors.*
|
||||
* DO NOT MODIFY IT MANUALLY
|
||||
*/
|
||||
|
||||
abstract class FirRegularClass : FirClass(), FirStatusOwner, FirControlFlowGraphOwner {
|
||||
abstract class FirRegularClass : FirClass(), FirMemberDeclaration, FirControlFlowGraphOwner {
|
||||
abstract override val source: FirSourceElement?
|
||||
abstract override val moduleData: FirModuleData
|
||||
abstract override val resolvePhase: FirResolvePhase
|
||||
|
||||
@@ -19,7 +19,7 @@ import org.jetbrains.kotlin.fir.visitors.*
|
||||
* DO NOT MODIFY IT MANUALLY
|
||||
*/
|
||||
|
||||
abstract class FirTypeAlias : FirClassLikeDeclaration(), FirStatusOwner, FirTypeParametersOwner {
|
||||
abstract class FirTypeAlias : FirClassLikeDeclaration(), FirMemberDeclaration, FirTypeParametersOwner {
|
||||
abstract override val source: FirSourceElement?
|
||||
abstract override val moduleData: FirModuleData
|
||||
abstract override val resolvePhase: FirResolvePhase
|
||||
|
||||
@@ -26,7 +26,7 @@ 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.FirStatusOwner
|
||||
import org.jetbrains.kotlin.fir.declarations.FirMemberDeclaration
|
||||
import org.jetbrains.kotlin.fir.declarations.FirCallableMemberDeclaration
|
||||
import org.jetbrains.kotlin.fir.declarations.FirVariable
|
||||
import org.jetbrains.kotlin.fir.declarations.FirValueParameter
|
||||
@@ -223,8 +223,8 @@ abstract class FirTransformer<in D> : FirVisitor<FirElement, D>() {
|
||||
return transformElement(typeParametersOwner, data)
|
||||
}
|
||||
|
||||
open fun transformStatusOwner(statusOwner: FirStatusOwner, data: D): FirStatusOwner {
|
||||
return transformElement(statusOwner, data)
|
||||
open fun transformMemberDeclaration(memberDeclaration: FirMemberDeclaration, data: D): FirMemberDeclaration {
|
||||
return transformElement(memberDeclaration, data)
|
||||
}
|
||||
|
||||
open fun transformCallableMemberDeclaration(callableMemberDeclaration: FirCallableMemberDeclaration, data: D): FirCallableMemberDeclaration {
|
||||
@@ -735,8 +735,8 @@ abstract class FirTransformer<in D> : FirVisitor<FirElement, D>() {
|
||||
return transformTypeParametersOwner(typeParametersOwner, data)
|
||||
}
|
||||
|
||||
final override fun visitStatusOwner(statusOwner: FirStatusOwner, data: D): FirStatusOwner {
|
||||
return transformStatusOwner(statusOwner, data)
|
||||
final override fun visitMemberDeclaration(memberDeclaration: FirMemberDeclaration, data: D): FirMemberDeclaration {
|
||||
return transformMemberDeclaration(memberDeclaration, data)
|
||||
}
|
||||
|
||||
final override fun visitCallableMemberDeclaration(callableMemberDeclaration: FirCallableMemberDeclaration, data: D): FirCallableMemberDeclaration {
|
||||
|
||||
@@ -26,7 +26,7 @@ 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.FirStatusOwner
|
||||
import org.jetbrains.kotlin.fir.declarations.FirMemberDeclaration
|
||||
import org.jetbrains.kotlin.fir.declarations.FirCallableMemberDeclaration
|
||||
import org.jetbrains.kotlin.fir.declarations.FirVariable
|
||||
import org.jetbrains.kotlin.fir.declarations.FirValueParameter
|
||||
@@ -182,7 +182,7 @@ abstract class FirVisitor<out R, in D> {
|
||||
|
||||
open fun visitTypeParametersOwner(typeParametersOwner: FirTypeParametersOwner, data: D): R = visitElement(typeParametersOwner, data)
|
||||
|
||||
open fun visitStatusOwner(statusOwner: FirStatusOwner, data: D): R = visitElement(statusOwner, data)
|
||||
open fun visitMemberDeclaration(memberDeclaration: FirMemberDeclaration, data: D): R = visitElement(memberDeclaration, data)
|
||||
|
||||
open fun visitCallableMemberDeclaration(callableMemberDeclaration: FirCallableMemberDeclaration, data: D): R = visitElement(callableMemberDeclaration, data)
|
||||
|
||||
|
||||
@@ -26,7 +26,7 @@ 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.FirStatusOwner
|
||||
import org.jetbrains.kotlin.fir.declarations.FirMemberDeclaration
|
||||
import org.jetbrains.kotlin.fir.declarations.FirCallableMemberDeclaration
|
||||
import org.jetbrains.kotlin.fir.declarations.FirVariable
|
||||
import org.jetbrains.kotlin.fir.declarations.FirValueParameter
|
||||
@@ -222,8 +222,8 @@ abstract class FirVisitorVoid : FirVisitor<Unit, Nothing?>() {
|
||||
visitElement(typeParametersOwner)
|
||||
}
|
||||
|
||||
open fun visitStatusOwner(statusOwner: FirStatusOwner) {
|
||||
visitElement(statusOwner)
|
||||
open fun visitMemberDeclaration(memberDeclaration: FirMemberDeclaration) {
|
||||
visitElement(memberDeclaration)
|
||||
}
|
||||
|
||||
open fun visitCallableMemberDeclaration(callableMemberDeclaration: FirCallableMemberDeclaration) {
|
||||
@@ -734,8 +734,8 @@ abstract class FirVisitorVoid : FirVisitor<Unit, Nothing?>() {
|
||||
visitTypeParametersOwner(typeParametersOwner)
|
||||
}
|
||||
|
||||
final override fun visitStatusOwner(statusOwner: FirStatusOwner, data: Nothing?) {
|
||||
visitStatusOwner(statusOwner)
|
||||
final override fun visitMemberDeclaration(memberDeclaration: FirMemberDeclaration, data: Nothing?) {
|
||||
visitMemberDeclaration(memberDeclaration)
|
||||
}
|
||||
|
||||
final override fun visitCallableMemberDeclaration(callableMemberDeclaration: FirCallableMemberDeclaration, data: Nothing?) {
|
||||
|
||||
@@ -217,8 +217,8 @@ class FirRenderer(builder: StringBuilder, private val mode: RenderMode = RenderM
|
||||
|
||||
override fun visitCallableDeclaration(callableDeclaration: FirCallableDeclaration) {
|
||||
callableDeclaration.annotations.renderAnnotations()
|
||||
if (callableDeclaration is FirStatusOwner) {
|
||||
visitStatusOwner(callableDeclaration)
|
||||
if (callableDeclaration is FirMemberDeclaration) {
|
||||
visitMemberDeclaration(callableDeclaration)
|
||||
} else {
|
||||
visitTypedDeclaration(callableDeclaration)
|
||||
}
|
||||
@@ -273,7 +273,7 @@ class FirRenderer(builder: StringBuilder, private val mode: RenderMode = RenderM
|
||||
return itself + "[${effectiveVisibility.name}]"
|
||||
}
|
||||
|
||||
private fun FirStatusOwner.modalityAsString(): String {
|
||||
private fun FirMemberDeclaration.modalityAsString(): String {
|
||||
return modality?.name?.toLowerCaseAsciiOnly() ?: run {
|
||||
if (this is FirCallableMemberDeclaration && this.isOverride) {
|
||||
"open?"
|
||||
@@ -303,86 +303,86 @@ class FirRenderer(builder: StringBuilder, private val mode: RenderMode = RenderM
|
||||
typeParameterRef.symbol.fir.accept(this)
|
||||
}
|
||||
|
||||
override fun visitStatusOwner(statusOwner: FirStatusOwner) {
|
||||
if (statusOwner !is FirProperty || !statusOwner.isLocal) {
|
||||
override fun visitMemberDeclaration(memberDeclaration: FirMemberDeclaration) {
|
||||
if (memberDeclaration !is FirProperty || !memberDeclaration.isLocal) {
|
||||
// we can't access session.effectiveVisibilityResolver from here!
|
||||
// print(memberDeclaration.visibility.asString(memberDeclaration.getEffectiveVisibility(...)) + " ")
|
||||
print(statusOwner.visibility.asString() + " ")
|
||||
print(statusOwner.modalityAsString() + " ")
|
||||
print(memberDeclaration.visibility.asString() + " ")
|
||||
print(memberDeclaration.modalityAsString() + " ")
|
||||
}
|
||||
if (statusOwner.isExpect) {
|
||||
if (memberDeclaration.isExpect) {
|
||||
print("expect ")
|
||||
}
|
||||
if (statusOwner.isActual) {
|
||||
if (memberDeclaration.isActual) {
|
||||
print("actual ")
|
||||
}
|
||||
if (statusOwner.isExternal) {
|
||||
if (memberDeclaration.isExternal) {
|
||||
print("external ")
|
||||
}
|
||||
if (statusOwner.isOverride) {
|
||||
if (memberDeclaration.isOverride) {
|
||||
print("override ")
|
||||
}
|
||||
if (statusOwner.isStatic) {
|
||||
if (memberDeclaration.isStatic) {
|
||||
print("static ")
|
||||
}
|
||||
if (statusOwner.isInner) {
|
||||
if (memberDeclaration.isInner) {
|
||||
print("inner ")
|
||||
}
|
||||
|
||||
// `companion/data/fun` modifiers are only valid for FirRegularClass, but we render them to make sure they are not
|
||||
// incorrectly loaded for other declarations during deserialization.
|
||||
if (statusOwner.status.isCompanion) {
|
||||
if (memberDeclaration.status.isCompanion) {
|
||||
print("companion ")
|
||||
}
|
||||
if (statusOwner.status.isData) {
|
||||
if (memberDeclaration.status.isData) {
|
||||
print("data ")
|
||||
}
|
||||
// All Java interfaces are considered `fun` (functional interfaces) for resolution purposes
|
||||
// (see JavaSymbolProvider.createFirJavaClass). Don't render `fun` for Java interfaces; it's not a modifier in Java.
|
||||
val isJavaInterface =
|
||||
statusOwner is FirRegularClass && statusOwner.classKind == ClassKind.INTERFACE && statusOwner.isJava
|
||||
if (statusOwner.status.isFun && !isJavaInterface) {
|
||||
memberDeclaration is FirRegularClass && memberDeclaration.classKind == ClassKind.INTERFACE && memberDeclaration.isJava
|
||||
if (memberDeclaration.status.isFun && !isJavaInterface) {
|
||||
print("fun ")
|
||||
}
|
||||
|
||||
if (statusOwner.isInline) {
|
||||
if (memberDeclaration.isInline) {
|
||||
print("inline ")
|
||||
}
|
||||
if (statusOwner.isOperator) {
|
||||
if (memberDeclaration.isOperator) {
|
||||
print("operator ")
|
||||
}
|
||||
if (statusOwner.isInfix) {
|
||||
if (memberDeclaration.isInfix) {
|
||||
print("infix ")
|
||||
}
|
||||
if (statusOwner.isTailRec) {
|
||||
if (memberDeclaration.isTailRec) {
|
||||
print("tailrec ")
|
||||
}
|
||||
if (statusOwner.isSuspend) {
|
||||
if (memberDeclaration.isSuspend) {
|
||||
print("suspend ")
|
||||
}
|
||||
if (statusOwner.isConst) {
|
||||
if (memberDeclaration.isConst) {
|
||||
print("const ")
|
||||
}
|
||||
if (statusOwner.isLateInit) {
|
||||
if (memberDeclaration.isLateInit) {
|
||||
print("lateinit ")
|
||||
}
|
||||
|
||||
visitDeclaration(statusOwner as FirDeclaration)
|
||||
when (statusOwner) {
|
||||
visitDeclaration(memberDeclaration as FirDeclaration)
|
||||
when (memberDeclaration) {
|
||||
is FirClassLikeDeclaration -> {
|
||||
if (statusOwner is FirRegularClass) {
|
||||
print(" " + statusOwner.name)
|
||||
if (memberDeclaration is FirRegularClass) {
|
||||
print(" " + memberDeclaration.name)
|
||||
}
|
||||
if (statusOwner is FirTypeAlias) {
|
||||
print(" " + statusOwner.name)
|
||||
if (memberDeclaration is FirTypeAlias) {
|
||||
print(" " + memberDeclaration.name)
|
||||
}
|
||||
statusOwner.typeParameters.renderTypeParameters()
|
||||
memberDeclaration.typeParameters.renderTypeParameters()
|
||||
}
|
||||
is FirCallableDeclaration -> {
|
||||
// Name is handled by visitCallableDeclaration
|
||||
if (statusOwner.typeParameters.isNotEmpty()) {
|
||||
if (memberDeclaration.typeParameters.isNotEmpty()) {
|
||||
print(" ")
|
||||
statusOwner.typeParameters.renderTypeParameters()
|
||||
memberDeclaration.typeParameters.renderTypeParameters()
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -471,7 +471,7 @@ class FirRenderer(builder: StringBuilder, private val mode: RenderMode = RenderM
|
||||
|
||||
override fun visitRegularClass(regularClass: FirRegularClass) {
|
||||
regularClass.annotations.renderAnnotations()
|
||||
visitStatusOwner(regularClass)
|
||||
visitMemberDeclaration(regularClass)
|
||||
renderSupertypes(regularClass)
|
||||
regularClass.declarations.renderDeclarations()
|
||||
}
|
||||
@@ -648,7 +648,7 @@ class FirRenderer(builder: StringBuilder, private val mode: RenderMode = RenderM
|
||||
|
||||
override fun visitTypeAlias(typeAlias: FirTypeAlias) {
|
||||
typeAlias.annotations.renderAnnotations()
|
||||
visitStatusOwner(typeAlias)
|
||||
visitMemberDeclaration(typeAlias)
|
||||
print(" = ")
|
||||
typeAlias.expandedTypeRef.accept(this)
|
||||
println()
|
||||
|
||||
+6
-6
@@ -11,10 +11,10 @@ import org.jetbrains.kotlin.fir.render
|
||||
import org.jetbrains.kotlin.fir.types.FirTypeRefComparator
|
||||
import org.jetbrains.kotlin.name.Name
|
||||
|
||||
object FirMemberDeclarationComparator : Comparator<FirStatusOwner> {
|
||||
object FirMemberDeclarationComparator : Comparator<FirMemberDeclaration> {
|
||||
// Comparing different kinds of callable members by assigning distinct priorities to those members.
|
||||
object TypeAndNameComparator : Comparator<FirStatusOwner> {
|
||||
private val FirStatusOwner.priority: Int
|
||||
object TypeAndNameComparator : Comparator<FirMemberDeclaration> {
|
||||
private val FirMemberDeclaration.priority: Int
|
||||
get() = when (this) {
|
||||
is FirEnumEntry -> 7
|
||||
is FirConstructor -> 6
|
||||
@@ -27,7 +27,7 @@ object FirMemberDeclarationComparator : Comparator<FirStatusOwner> {
|
||||
is FirValueParameter -> 0
|
||||
}
|
||||
|
||||
private val FirStatusOwner.name: Name
|
||||
private val FirMemberDeclaration.name: Name
|
||||
get() = when (this) {
|
||||
is FirCallableMemberDeclaration ->
|
||||
this.symbol.callableId.callableName
|
||||
@@ -37,7 +37,7 @@ object FirMemberDeclarationComparator : Comparator<FirStatusOwner> {
|
||||
this.name
|
||||
}
|
||||
|
||||
override fun compare(a: FirStatusOwner, b: FirStatusOwner): Int {
|
||||
override fun compare(a: FirMemberDeclaration, b: FirMemberDeclaration): Int {
|
||||
val priorityDiff = a.priority - b.priority
|
||||
if (priorityDiff != 0) {
|
||||
return priorityDiff
|
||||
@@ -54,7 +54,7 @@ object FirMemberDeclarationComparator : Comparator<FirStatusOwner> {
|
||||
}
|
||||
}
|
||||
|
||||
override fun compare(a: FirStatusOwner, b: FirStatusOwner): Int {
|
||||
override fun compare(a: FirMemberDeclaration, b: FirMemberDeclaration): Int {
|
||||
if (a is FirCallableMemberDeclaration && b is FirCallableMemberDeclaration) {
|
||||
return FirCallableMemberDeclarationComparator.compare(a, b)
|
||||
}
|
||||
|
||||
+23
-23
@@ -10,40 +10,40 @@ import org.jetbrains.kotlin.fir.FirRenderer
|
||||
import org.jetbrains.kotlin.fir.declarations.*
|
||||
import org.jetbrains.kotlin.fir.render
|
||||
|
||||
inline val FirStatusOwner.modality: Modality? get() = status.modality
|
||||
inline val FirStatusOwner.isAbstract: Boolean get() = status.modality == Modality.ABSTRACT
|
||||
inline val FirStatusOwner.isOpen: Boolean get() = status.modality == Modality.OPEN
|
||||
inline val FirStatusOwner.isFinal: Boolean
|
||||
inline val FirMemberDeclaration.modality: Modality? get() = status.modality
|
||||
inline val FirMemberDeclaration.isAbstract: Boolean get() = status.modality == Modality.ABSTRACT
|
||||
inline val FirMemberDeclaration.isOpen: Boolean get() = status.modality == Modality.OPEN
|
||||
inline val FirMemberDeclaration.isFinal: Boolean
|
||||
get() {
|
||||
// member with unspecified modality is final
|
||||
val modality = status.modality ?: return true
|
||||
return modality == Modality.FINAL
|
||||
}
|
||||
|
||||
inline val FirStatusOwner.visibility: Visibility get() = status.visibility
|
||||
inline val FirStatusOwner.effectiveVisibility: EffectiveVisibility
|
||||
inline val FirMemberDeclaration.visibility: Visibility get() = status.visibility
|
||||
inline val FirMemberDeclaration.effectiveVisibility: EffectiveVisibility
|
||||
get() = (status as? FirResolvedDeclarationStatus)?.effectiveVisibility
|
||||
?: error("Effective visibility for ${render(FirRenderer.RenderMode.NoBodies)} must be resolved")
|
||||
|
||||
inline val FirStatusOwner.allowsToHaveFakeOverride: Boolean
|
||||
inline val FirMemberDeclaration.allowsToHaveFakeOverride: Boolean
|
||||
get() = !Visibilities.isPrivate(visibility) && visibility != Visibilities.InvisibleFake
|
||||
|
||||
inline val FirStatusOwner.isActual: Boolean get() = status.isActual
|
||||
inline val FirStatusOwner.isExpect: Boolean get() = status.isExpect
|
||||
inline val FirStatusOwner.isInner: Boolean get() = status.isInner
|
||||
inline val FirStatusOwner.isStatic: Boolean get() = status.isStatic
|
||||
inline val FirStatusOwner.isOverride: Boolean get() = status.isOverride
|
||||
inline val FirStatusOwner.isOperator: Boolean get() = status.isOperator
|
||||
inline val FirStatusOwner.isInfix: Boolean get() = status.isInfix
|
||||
inline val FirStatusOwner.isInline: Boolean get() = status.isInline
|
||||
inline val FirStatusOwner.isTailRec: Boolean get() = status.isTailRec
|
||||
inline val FirStatusOwner.isExternal: Boolean get() = status.isExternal
|
||||
inline val FirStatusOwner.isSuspend: Boolean get() = status.isSuspend
|
||||
inline val FirStatusOwner.isConst: Boolean get() = status.isConst
|
||||
inline val FirStatusOwner.isLateInit: Boolean get() = status.isLateInit
|
||||
inline val FirStatusOwner.isFromSealedClass: Boolean get() = status.isFromSealedClass
|
||||
inline val FirStatusOwner.isFromEnumClass: Boolean get() = status.isFromEnumClass
|
||||
inline val FirStatusOwner.isFun: Boolean get() = status.isFun
|
||||
inline val FirMemberDeclaration.isActual: Boolean get() = status.isActual
|
||||
inline val FirMemberDeclaration.isExpect: Boolean get() = status.isExpect
|
||||
inline val FirMemberDeclaration.isInner: Boolean get() = status.isInner
|
||||
inline val FirMemberDeclaration.isStatic: Boolean get() = status.isStatic
|
||||
inline val FirMemberDeclaration.isOverride: Boolean get() = status.isOverride
|
||||
inline val FirMemberDeclaration.isOperator: Boolean get() = status.isOperator
|
||||
inline val FirMemberDeclaration.isInfix: Boolean get() = status.isInfix
|
||||
inline val FirMemberDeclaration.isInline: Boolean get() = status.isInline
|
||||
inline val FirMemberDeclaration.isTailRec: Boolean get() = status.isTailRec
|
||||
inline val FirMemberDeclaration.isExternal: Boolean get() = status.isExternal
|
||||
inline val FirMemberDeclaration.isSuspend: Boolean get() = status.isSuspend
|
||||
inline val FirMemberDeclaration.isConst: Boolean get() = status.isConst
|
||||
inline val FirMemberDeclaration.isLateInit: Boolean get() = status.isLateInit
|
||||
inline val FirMemberDeclaration.isFromSealedClass: Boolean get() = status.isFromSealedClass
|
||||
inline val FirMemberDeclaration.isFromEnumClass: Boolean get() = status.isFromEnumClass
|
||||
inline val FirMemberDeclaration.isFun: Boolean get() = status.isFun
|
||||
|
||||
inline val FirClassLikeDeclaration.isLocal: Boolean get() = symbol.classId.isLocal
|
||||
|
||||
|
||||
+1
-1
@@ -35,7 +35,7 @@ var <T> T.danglingTypeConstraints: List<DanglingTypeConstraint>?
|
||||
|
||||
// ----------------------------------- Utils -----------------------------------
|
||||
|
||||
val FirStatusOwner.containerSource: SourceElement?
|
||||
val FirMemberDeclaration.containerSource: SourceElement?
|
||||
get() = when (this) {
|
||||
is FirCallableMemberDeclaration -> containerSource
|
||||
is FirRegularClass -> sourceElement
|
||||
|
||||
@@ -8,7 +8,7 @@ package org.jetbrains.kotlin.fir.symbols.impl
|
||||
import org.jetbrains.kotlin.fir.declarations.FirCallableDeclaration
|
||||
import org.jetbrains.kotlin.fir.declarations.FirFunction
|
||||
import org.jetbrains.kotlin.fir.declarations.FirProperty
|
||||
import org.jetbrains.kotlin.fir.declarations.FirStatusOwner
|
||||
import org.jetbrains.kotlin.fir.declarations.FirMemberDeclaration
|
||||
import org.jetbrains.kotlin.fir.symbols.FirBasedSymbol
|
||||
import org.jetbrains.kotlin.name.CallableId
|
||||
|
||||
@@ -18,7 +18,7 @@ abstract class FirCallableSymbol<D : FirCallableDeclaration> : FirBasedSymbol<D>
|
||||
override fun toString(): String = "${this::class.simpleName} $callableId"
|
||||
}
|
||||
|
||||
val FirCallableSymbol<*>.isStatic: Boolean get() = (fir as? FirStatusOwner)?.status?.isStatic == true
|
||||
val FirCallableSymbol<*>.isStatic: Boolean get() = (fir as? FirMemberDeclaration)?.status?.isStatic == true
|
||||
|
||||
val FirCallableSymbol<*>.isExtension: Boolean
|
||||
get() = when (fir) {
|
||||
|
||||
+4
-4
@@ -35,8 +35,8 @@ object FirTreeBuilder : AbstractFirTreeBuilder() {
|
||||
val typeParameter = element("TypeParameter", Declaration, typeParameterRef, annotatedDeclaration)
|
||||
val typeParameterRefsOwner = sealedElement("TypeParameterRefsOwner", Declaration)
|
||||
val typeParametersOwner = sealedElement("TypeParametersOwner", Declaration, typeParameterRefsOwner)
|
||||
val statusOwner = sealedElement("StatusOwner", Declaration, typeParameterRefsOwner)
|
||||
val callableMemberDeclaration = sealedElement("CallableMemberDeclaration", Declaration, callableDeclaration, statusOwner)
|
||||
val memberDeclaration = sealedElement("MemberDeclaration", Declaration, typeParameterRefsOwner)
|
||||
val callableMemberDeclaration = sealedElement("CallableMemberDeclaration", Declaration, callableDeclaration, memberDeclaration)
|
||||
|
||||
val variable = sealedElement("Variable", Declaration, callableMemberDeclaration, statement)
|
||||
val valueParameter = element("ValueParameter", Declaration, variable, controlFlowGraphOwner)
|
||||
@@ -46,8 +46,8 @@ object FirTreeBuilder : AbstractFirTreeBuilder() {
|
||||
|
||||
val classLikeDeclaration = sealedElement("ClassLikeDeclaration", Declaration, annotatedDeclaration, statement)
|
||||
val klass = sealedElement("Class", Declaration, classLikeDeclaration, statement, typeParameterRefsOwner)
|
||||
val regularClass = element("RegularClass", Declaration, klass, statusOwner, controlFlowGraphOwner)
|
||||
val typeAlias = element("TypeAlias", Declaration, classLikeDeclaration, statusOwner, typeParametersOwner)
|
||||
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)
|
||||
|
||||
|
||||
+1
-1
@@ -104,7 +104,7 @@ object NodeConfigurator : AbstractFieldConfigurator<FirTreeBuilder>(FirTreeBuild
|
||||
+typeParameters
|
||||
}
|
||||
|
||||
statusOwner.configure {
|
||||
memberDeclaration.configure {
|
||||
+status.withTransform()
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user