[FIR] Support some approximation of effective visibility
This commit is contained in:
+2
@@ -75,6 +75,8 @@ object FieldSets {
|
||||
|
||||
val visibility = field(visibilityType)
|
||||
|
||||
val effectiveVisibility = field("effectiveVisibility", effectiveVisibilityType)
|
||||
|
||||
val modality = field(modalityType, nullable = true)
|
||||
|
||||
val scopeProvider = field("scopeProvider", firScopeProviderType)
|
||||
|
||||
+3
@@ -5,12 +5,14 @@
|
||||
|
||||
package org.jetbrains.kotlin.fir.tree.generator
|
||||
|
||||
import org.jetbrains.kotlin.descriptors.effectiveVisibility
|
||||
import org.jetbrains.kotlin.fir.tree.generator.FieldSets.annotations
|
||||
import org.jetbrains.kotlin.fir.tree.generator.FieldSets.arguments
|
||||
import org.jetbrains.kotlin.fir.tree.generator.FieldSets.body
|
||||
import org.jetbrains.kotlin.fir.tree.generator.FieldSets.classKind
|
||||
import org.jetbrains.kotlin.fir.tree.generator.FieldSets.controlFlowGraphReferenceField
|
||||
import org.jetbrains.kotlin.fir.tree.generator.FieldSets.declarations
|
||||
import org.jetbrains.kotlin.fir.tree.generator.FieldSets.effectiveVisibility
|
||||
import org.jetbrains.kotlin.fir.tree.generator.FieldSets.initializer
|
||||
import org.jetbrains.kotlin.fir.tree.generator.FieldSets.modality
|
||||
import org.jetbrains.kotlin.fir.tree.generator.FieldSets.name
|
||||
@@ -303,6 +305,7 @@ object NodeConfigurator : AbstractFieldConfigurator<FirTreeBuilder>(FirTreeBuild
|
||||
|
||||
declarationStatus.configure {
|
||||
+visibility
|
||||
+effectiveVisibility
|
||||
+modality
|
||||
generateBooleanFields(
|
||||
"expect", "actual", "override", "operator", "infix", "inline", "tailRec",
|
||||
|
||||
+2
-4
@@ -6,10 +6,7 @@
|
||||
package org.jetbrains.kotlin.fir.tree.generator
|
||||
|
||||
import org.jetbrains.kotlin.contracts.description.InvocationKind
|
||||
import org.jetbrains.kotlin.descriptors.ClassKind
|
||||
import org.jetbrains.kotlin.descriptors.Modality
|
||||
import org.jetbrains.kotlin.descriptors.Visibilities
|
||||
import org.jetbrains.kotlin.descriptors.Visibility
|
||||
import org.jetbrains.kotlin.descriptors.*
|
||||
import org.jetbrains.kotlin.descriptors.annotations.AnnotationUseSiteTarget
|
||||
import org.jetbrains.kotlin.fir.tree.generator.context.generatedType
|
||||
import org.jetbrains.kotlin.fir.tree.generator.context.type
|
||||
@@ -29,6 +26,7 @@ val invocationKindType = type(InvocationKind::class)
|
||||
val varianceType = type(Variance::class)
|
||||
val nameType = type(Name::class)
|
||||
val visibilityType = type(Visibility::class)
|
||||
val effectiveVisibilityType = type("fir", "FirEffectiveVisibility")
|
||||
val visibilitiesType = type(Visibilities::class)
|
||||
val modalityType = type(Modality::class)
|
||||
val fqNameType = type(FqName::class)
|
||||
|
||||
Reference in New Issue
Block a user