FIR: introduce FirDeclarationBuilder as a base class for all FIR declaration builders
This commit is contained in:
committed by
TeamCityServer
parent
da6c5e13d5
commit
a76c5d66eb
@@ -195,7 +195,7 @@ class FirJavaMethodBuilder : FirFunctionBuilder, FirTypeParametersOwnerBuilder,
|
|||||||
lateinit var visibility: Visibility
|
lateinit var visibility: Visibility
|
||||||
var modality: Modality? = null
|
var modality: Modality? = null
|
||||||
var isStatic: Boolean by Delegates.notNull()
|
var isStatic: Boolean by Delegates.notNull()
|
||||||
var resolvePhase: FirResolvePhase = FirResolvePhase.ANALYZED_DEPENDENCIES
|
override var resolvePhase: FirResolvePhase = FirResolvePhase.ANALYZED_DEPENDENCIES
|
||||||
lateinit var annotationBuilder: () -> List<FirAnnotationCall>
|
lateinit var annotationBuilder: () -> List<FirAnnotationCall>
|
||||||
|
|
||||||
@Deprecated("Modification of 'origin' has no impact for FirJavaFunctionBuilder", level = DeprecationLevel.HIDDEN)
|
@Deprecated("Modification of 'origin' has no impact for FirJavaFunctionBuilder", level = DeprecationLevel.HIDDEN)
|
||||||
|
|||||||
+2
-2
@@ -34,14 +34,14 @@ import org.jetbrains.kotlin.serialization.deserialization.descriptors.Deserializ
|
|||||||
@FirBuilderDsl
|
@FirBuilderDsl
|
||||||
interface FirAbstractConstructorBuilder : FirFunctionBuilder {
|
interface FirAbstractConstructorBuilder : FirFunctionBuilder {
|
||||||
abstract override var source: FirSourceElement?
|
abstract override var source: FirSourceElement?
|
||||||
abstract override val annotations: MutableList<FirAnnotationCall>
|
|
||||||
abstract override var session: FirSession
|
abstract override var session: FirSession
|
||||||
|
abstract override var resolvePhase: FirResolvePhase
|
||||||
abstract override var origin: FirDeclarationOrigin
|
abstract override var origin: FirDeclarationOrigin
|
||||||
abstract override var attributes: FirDeclarationAttributes
|
abstract override var attributes: FirDeclarationAttributes
|
||||||
|
abstract override val annotations: MutableList<FirAnnotationCall>
|
||||||
abstract override var returnTypeRef: FirTypeRef
|
abstract override var returnTypeRef: FirTypeRef
|
||||||
abstract override val valueParameters: MutableList<FirValueParameter>
|
abstract override val valueParameters: MutableList<FirValueParameter>
|
||||||
abstract override var body: FirBlock?
|
abstract override var body: FirBlock?
|
||||||
abstract var resolvePhase: FirResolvePhase
|
|
||||||
abstract var receiverTypeRef: FirTypeRef?
|
abstract var receiverTypeRef: FirTypeRef?
|
||||||
abstract val typeParameters: MutableList<FirTypeParameterRef>
|
abstract val typeParameters: MutableList<FirTypeParameterRef>
|
||||||
abstract var controlFlowGraphReference: FirControlFlowGraphReference?
|
abstract var controlFlowGraphReference: FirControlFlowGraphReference?
|
||||||
|
|||||||
+7
@@ -77,6 +77,13 @@ class FirAnonymousFunctionBuilder : FirFunctionBuilder, FirAnnotationContainerBu
|
|||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@Deprecated("Modification of 'resolvePhase' has no impact for FirAnonymousFunctionBuilder", level = DeprecationLevel.HIDDEN)
|
||||||
|
override var resolvePhase: FirResolvePhase
|
||||||
|
get() = throw IllegalStateException()
|
||||||
|
set(_) {
|
||||||
|
throw IllegalStateException()
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@OptIn(ExperimentalContracts::class)
|
@OptIn(ExperimentalContracts::class)
|
||||||
|
|||||||
+8
-7
@@ -13,6 +13,7 @@ import org.jetbrains.kotlin.fir.declarations.FirAnonymousInitializer
|
|||||||
import org.jetbrains.kotlin.fir.declarations.FirDeclarationAttributes
|
import org.jetbrains.kotlin.fir.declarations.FirDeclarationAttributes
|
||||||
import org.jetbrains.kotlin.fir.declarations.FirDeclarationOrigin
|
import org.jetbrains.kotlin.fir.declarations.FirDeclarationOrigin
|
||||||
import org.jetbrains.kotlin.fir.declarations.FirResolvePhase
|
import org.jetbrains.kotlin.fir.declarations.FirResolvePhase
|
||||||
|
import org.jetbrains.kotlin.fir.declarations.builder.FirDeclarationBuilder
|
||||||
import org.jetbrains.kotlin.fir.declarations.impl.FirAnonymousInitializerImpl
|
import org.jetbrains.kotlin.fir.declarations.impl.FirAnonymousInitializerImpl
|
||||||
import org.jetbrains.kotlin.fir.expressions.FirBlock
|
import org.jetbrains.kotlin.fir.expressions.FirBlock
|
||||||
import org.jetbrains.kotlin.fir.references.FirControlFlowGraphReference
|
import org.jetbrains.kotlin.fir.references.FirControlFlowGraphReference
|
||||||
@@ -25,16 +26,16 @@ import org.jetbrains.kotlin.fir.visitors.*
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
@FirBuilderDsl
|
@FirBuilderDsl
|
||||||
class FirAnonymousInitializerBuilder {
|
class FirAnonymousInitializerBuilder : FirDeclarationBuilder {
|
||||||
var source: FirSourceElement? = null
|
override var source: FirSourceElement? = null
|
||||||
lateinit var session: FirSession
|
override lateinit var session: FirSession
|
||||||
var resolvePhase: FirResolvePhase = FirResolvePhase.RAW_FIR
|
override var resolvePhase: FirResolvePhase = FirResolvePhase.RAW_FIR
|
||||||
lateinit var origin: FirDeclarationOrigin
|
override lateinit var origin: FirDeclarationOrigin
|
||||||
var attributes: FirDeclarationAttributes = FirDeclarationAttributes()
|
override var attributes: FirDeclarationAttributes = FirDeclarationAttributes()
|
||||||
var body: FirBlock? = null
|
var body: FirBlock? = null
|
||||||
var symbol: FirAnonymousInitializerSymbol = FirAnonymousInitializerSymbol()
|
var symbol: FirAnonymousInitializerSymbol = FirAnonymousInitializerSymbol()
|
||||||
|
|
||||||
fun build(): FirAnonymousInitializer {
|
override fun build(): FirAnonymousInitializer {
|
||||||
return FirAnonymousInitializerImpl(
|
return FirAnonymousInitializerImpl(
|
||||||
source,
|
source,
|
||||||
session,
|
session,
|
||||||
|
|||||||
+3
-2
@@ -18,6 +18,7 @@ import org.jetbrains.kotlin.fir.declarations.FirDeclarationOrigin
|
|||||||
import org.jetbrains.kotlin.fir.declarations.FirResolvePhase
|
import org.jetbrains.kotlin.fir.declarations.FirResolvePhase
|
||||||
import org.jetbrains.kotlin.fir.declarations.FirTypeParameterRef
|
import org.jetbrains.kotlin.fir.declarations.FirTypeParameterRef
|
||||||
import org.jetbrains.kotlin.fir.declarations.builder.FirClassBuilder
|
import org.jetbrains.kotlin.fir.declarations.builder.FirClassBuilder
|
||||||
|
import org.jetbrains.kotlin.fir.declarations.builder.FirDeclarationBuilder
|
||||||
import org.jetbrains.kotlin.fir.declarations.impl.FirAnonymousObjectImpl
|
import org.jetbrains.kotlin.fir.declarations.impl.FirAnonymousObjectImpl
|
||||||
import org.jetbrains.kotlin.fir.expressions.FirAnnotationCall
|
import org.jetbrains.kotlin.fir.expressions.FirAnnotationCall
|
||||||
import org.jetbrains.kotlin.fir.expressions.builder.FirExpressionBuilder
|
import org.jetbrains.kotlin.fir.expressions.builder.FirExpressionBuilder
|
||||||
@@ -34,10 +35,10 @@ import org.jetbrains.kotlin.fir.visitors.*
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
@FirBuilderDsl
|
@FirBuilderDsl
|
||||||
class FirAnonymousObjectBuilder : FirClassBuilder, FirAnnotationContainerBuilder, FirExpressionBuilder {
|
class FirAnonymousObjectBuilder : FirDeclarationBuilder, FirClassBuilder, FirAnnotationContainerBuilder, FirExpressionBuilder {
|
||||||
override var source: FirSourceElement? = null
|
override var source: FirSourceElement? = null
|
||||||
override lateinit var session: FirSession
|
override lateinit var session: FirSession
|
||||||
var resolvePhase: FirResolvePhase = FirResolvePhase.RAW_FIR
|
override var resolvePhase: FirResolvePhase = FirResolvePhase.RAW_FIR
|
||||||
override lateinit var origin: FirDeclarationOrigin
|
override lateinit var origin: FirDeclarationOrigin
|
||||||
override var attributes: FirDeclarationAttributes = FirDeclarationAttributes()
|
override var attributes: FirDeclarationAttributes = FirDeclarationAttributes()
|
||||||
override val typeParameters: MutableList<FirTypeParameterRef> = mutableListOf()
|
override val typeParameters: MutableList<FirTypeParameterRef> = mutableListOf()
|
||||||
|
|||||||
+7
-4
@@ -14,7 +14,9 @@ import org.jetbrains.kotlin.fir.declarations.FirClass
|
|||||||
import org.jetbrains.kotlin.fir.declarations.FirDeclaration
|
import org.jetbrains.kotlin.fir.declarations.FirDeclaration
|
||||||
import org.jetbrains.kotlin.fir.declarations.FirDeclarationAttributes
|
import org.jetbrains.kotlin.fir.declarations.FirDeclarationAttributes
|
||||||
import org.jetbrains.kotlin.fir.declarations.FirDeclarationOrigin
|
import org.jetbrains.kotlin.fir.declarations.FirDeclarationOrigin
|
||||||
|
import org.jetbrains.kotlin.fir.declarations.FirResolvePhase
|
||||||
import org.jetbrains.kotlin.fir.declarations.FirTypeParameterRef
|
import org.jetbrains.kotlin.fir.declarations.FirTypeParameterRef
|
||||||
|
import org.jetbrains.kotlin.fir.declarations.builder.FirDeclarationBuilder
|
||||||
import org.jetbrains.kotlin.fir.expressions.FirAnnotationCall
|
import org.jetbrains.kotlin.fir.expressions.FirAnnotationCall
|
||||||
import org.jetbrains.kotlin.fir.scopes.FirScopeProvider
|
import org.jetbrains.kotlin.fir.scopes.FirScopeProvider
|
||||||
import org.jetbrains.kotlin.fir.types.FirTypeRef
|
import org.jetbrains.kotlin.fir.types.FirTypeRef
|
||||||
@@ -26,12 +28,13 @@ import org.jetbrains.kotlin.fir.visitors.*
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
@FirBuilderDsl
|
@FirBuilderDsl
|
||||||
interface FirClassBuilder : FirAnnotationContainerBuilder {
|
interface FirClassBuilder : FirDeclarationBuilder, FirAnnotationContainerBuilder {
|
||||||
abstract override var source: FirSourceElement?
|
abstract override var source: FirSourceElement?
|
||||||
|
abstract override var session: FirSession
|
||||||
|
abstract override var resolvePhase: FirResolvePhase
|
||||||
|
abstract override var origin: FirDeclarationOrigin
|
||||||
|
abstract override var attributes: FirDeclarationAttributes
|
||||||
abstract override val annotations: MutableList<FirAnnotationCall>
|
abstract override val annotations: MutableList<FirAnnotationCall>
|
||||||
abstract var session: FirSession
|
|
||||||
abstract var origin: FirDeclarationOrigin
|
|
||||||
abstract var attributes: FirDeclarationAttributes
|
|
||||||
abstract val typeParameters: MutableList<FirTypeParameterRef>
|
abstract val typeParameters: MutableList<FirTypeParameterRef>
|
||||||
abstract var classKind: ClassKind
|
abstract var classKind: ClassKind
|
||||||
abstract val superTypeRefs: MutableList<FirTypeRef>
|
abstract val superTypeRefs: MutableList<FirTypeRef>
|
||||||
|
|||||||
+30
@@ -0,0 +1,30 @@
|
|||||||
|
/*
|
||||||
|
* 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.builder
|
||||||
|
|
||||||
|
import org.jetbrains.kotlin.fir.FirSession
|
||||||
|
import org.jetbrains.kotlin.fir.FirSourceElement
|
||||||
|
import org.jetbrains.kotlin.fir.builder.FirBuilderDsl
|
||||||
|
import org.jetbrains.kotlin.fir.declarations.FirDeclaration
|
||||||
|
import org.jetbrains.kotlin.fir.declarations.FirDeclarationAttributes
|
||||||
|
import org.jetbrains.kotlin.fir.declarations.FirDeclarationOrigin
|
||||||
|
import org.jetbrains.kotlin.fir.declarations.FirResolvePhase
|
||||||
|
import org.jetbrains.kotlin.fir.visitors.*
|
||||||
|
|
||||||
|
/*
|
||||||
|
* This file was generated automatically
|
||||||
|
* DO NOT MODIFY IT MANUALLY
|
||||||
|
*/
|
||||||
|
|
||||||
|
@FirBuilderDsl
|
||||||
|
interface FirDeclarationBuilder {
|
||||||
|
abstract var source: FirSourceElement?
|
||||||
|
abstract var session: FirSession
|
||||||
|
abstract var resolvePhase: FirResolvePhase
|
||||||
|
abstract var origin: FirDeclarationOrigin
|
||||||
|
abstract var attributes: FirDeclarationAttributes
|
||||||
|
fun build(): FirDeclaration
|
||||||
|
}
|
||||||
+6
-5
@@ -18,6 +18,7 @@ import org.jetbrains.kotlin.fir.declarations.FirField
|
|||||||
import org.jetbrains.kotlin.fir.declarations.FirPropertyAccessor
|
import org.jetbrains.kotlin.fir.declarations.FirPropertyAccessor
|
||||||
import org.jetbrains.kotlin.fir.declarations.FirResolvePhase
|
import org.jetbrains.kotlin.fir.declarations.FirResolvePhase
|
||||||
import org.jetbrains.kotlin.fir.declarations.FirTypeParameter
|
import org.jetbrains.kotlin.fir.declarations.FirTypeParameter
|
||||||
|
import org.jetbrains.kotlin.fir.declarations.builder.FirDeclarationBuilder
|
||||||
import org.jetbrains.kotlin.fir.declarations.impl.FirFieldImpl
|
import org.jetbrains.kotlin.fir.declarations.impl.FirFieldImpl
|
||||||
import org.jetbrains.kotlin.fir.expressions.FirAnnotationCall
|
import org.jetbrains.kotlin.fir.expressions.FirAnnotationCall
|
||||||
import org.jetbrains.kotlin.fir.expressions.FirExpression
|
import org.jetbrains.kotlin.fir.expressions.FirExpression
|
||||||
@@ -35,12 +36,12 @@ import org.jetbrains.kotlin.serialization.deserialization.descriptors.Deserializ
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
@FirBuilderDsl
|
@FirBuilderDsl
|
||||||
open class FirFieldBuilder : FirAnnotationContainerBuilder {
|
open class FirFieldBuilder : FirDeclarationBuilder, FirAnnotationContainerBuilder {
|
||||||
override var source: FirSourceElement? = null
|
override var source: FirSourceElement? = null
|
||||||
open lateinit var session: FirSession
|
override lateinit var session: FirSession
|
||||||
open var resolvePhase: FirResolvePhase = FirResolvePhase.RAW_FIR
|
override var resolvePhase: FirResolvePhase = FirResolvePhase.RAW_FIR
|
||||||
open lateinit var origin: FirDeclarationOrigin
|
override lateinit var origin: FirDeclarationOrigin
|
||||||
open var attributes: FirDeclarationAttributes = FirDeclarationAttributes()
|
override var attributes: FirDeclarationAttributes = FirDeclarationAttributes()
|
||||||
open lateinit var returnTypeRef: FirTypeRef
|
open lateinit var returnTypeRef: FirTypeRef
|
||||||
open lateinit var name: Name
|
open lateinit var name: Name
|
||||||
open lateinit var symbol: FirVariableSymbol<FirField>
|
open lateinit var symbol: FirVariableSymbol<FirField>
|
||||||
|
|||||||
+7
-4
@@ -12,7 +12,9 @@ import org.jetbrains.kotlin.fir.builder.FirBuilderDsl
|
|||||||
import org.jetbrains.kotlin.fir.declarations.FirDeclarationAttributes
|
import org.jetbrains.kotlin.fir.declarations.FirDeclarationAttributes
|
||||||
import org.jetbrains.kotlin.fir.declarations.FirDeclarationOrigin
|
import org.jetbrains.kotlin.fir.declarations.FirDeclarationOrigin
|
||||||
import org.jetbrains.kotlin.fir.declarations.FirFunction
|
import org.jetbrains.kotlin.fir.declarations.FirFunction
|
||||||
|
import org.jetbrains.kotlin.fir.declarations.FirResolvePhase
|
||||||
import org.jetbrains.kotlin.fir.declarations.FirValueParameter
|
import org.jetbrains.kotlin.fir.declarations.FirValueParameter
|
||||||
|
import org.jetbrains.kotlin.fir.declarations.builder.FirDeclarationBuilder
|
||||||
import org.jetbrains.kotlin.fir.expressions.FirAnnotationCall
|
import org.jetbrains.kotlin.fir.expressions.FirAnnotationCall
|
||||||
import org.jetbrains.kotlin.fir.expressions.FirBlock
|
import org.jetbrains.kotlin.fir.expressions.FirBlock
|
||||||
import org.jetbrains.kotlin.fir.types.FirTypeRef
|
import org.jetbrains.kotlin.fir.types.FirTypeRef
|
||||||
@@ -24,12 +26,13 @@ import org.jetbrains.kotlin.fir.visitors.*
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
@FirBuilderDsl
|
@FirBuilderDsl
|
||||||
interface FirFunctionBuilder : FirAnnotationContainerBuilder {
|
interface FirFunctionBuilder : FirDeclarationBuilder, FirAnnotationContainerBuilder {
|
||||||
abstract override var source: FirSourceElement?
|
abstract override var source: FirSourceElement?
|
||||||
|
abstract override var session: FirSession
|
||||||
|
abstract override var resolvePhase: FirResolvePhase
|
||||||
|
abstract override var origin: FirDeclarationOrigin
|
||||||
|
abstract override var attributes: FirDeclarationAttributes
|
||||||
abstract override val annotations: MutableList<FirAnnotationCall>
|
abstract override val annotations: MutableList<FirAnnotationCall>
|
||||||
abstract var session: FirSession
|
|
||||||
abstract var origin: FirDeclarationOrigin
|
|
||||||
abstract var attributes: FirDeclarationAttributes
|
|
||||||
abstract var returnTypeRef: FirTypeRef
|
abstract var returnTypeRef: FirTypeRef
|
||||||
abstract val valueParameters: MutableList<FirValueParameter>
|
abstract val valueParameters: MutableList<FirValueParameter>
|
||||||
abstract var body: FirBlock?
|
abstract var body: FirBlock?
|
||||||
|
|||||||
+1
-1
@@ -41,7 +41,7 @@ import org.jetbrains.kotlin.serialization.deserialization.descriptors.Deserializ
|
|||||||
class FirPropertyAccessorBuilder : FirFunctionBuilder, FirAnnotationContainerBuilder {
|
class FirPropertyAccessorBuilder : FirFunctionBuilder, FirAnnotationContainerBuilder {
|
||||||
override var source: FirSourceElement? = null
|
override var source: FirSourceElement? = null
|
||||||
override lateinit var session: FirSession
|
override lateinit var session: FirSession
|
||||||
var resolvePhase: FirResolvePhase = FirResolvePhase.RAW_FIR
|
override var resolvePhase: FirResolvePhase = FirResolvePhase.RAW_FIR
|
||||||
override lateinit var origin: FirDeclarationOrigin
|
override lateinit var origin: FirDeclarationOrigin
|
||||||
override var attributes: FirDeclarationAttributes = FirDeclarationAttributes()
|
override var attributes: FirDeclarationAttributes = FirDeclarationAttributes()
|
||||||
override lateinit var returnTypeRef: FirTypeRef
|
override lateinit var returnTypeRef: FirTypeRef
|
||||||
|
|||||||
+6
-5
@@ -17,6 +17,7 @@ import org.jetbrains.kotlin.fir.declarations.FirProperty
|
|||||||
import org.jetbrains.kotlin.fir.declarations.FirPropertyAccessor
|
import org.jetbrains.kotlin.fir.declarations.FirPropertyAccessor
|
||||||
import org.jetbrains.kotlin.fir.declarations.FirResolvePhase
|
import org.jetbrains.kotlin.fir.declarations.FirResolvePhase
|
||||||
import org.jetbrains.kotlin.fir.declarations.FirTypeParameter
|
import org.jetbrains.kotlin.fir.declarations.FirTypeParameter
|
||||||
|
import org.jetbrains.kotlin.fir.declarations.builder.FirDeclarationBuilder
|
||||||
import org.jetbrains.kotlin.fir.declarations.builder.FirTypeParametersOwnerBuilder
|
import org.jetbrains.kotlin.fir.declarations.builder.FirTypeParametersOwnerBuilder
|
||||||
import org.jetbrains.kotlin.fir.declarations.impl.FirPropertyImpl
|
import org.jetbrains.kotlin.fir.declarations.impl.FirPropertyImpl
|
||||||
import org.jetbrains.kotlin.fir.expressions.FirAnnotationCall
|
import org.jetbrains.kotlin.fir.expressions.FirAnnotationCall
|
||||||
@@ -37,12 +38,12 @@ import org.jetbrains.kotlin.serialization.deserialization.descriptors.Deserializ
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
@FirBuilderDsl
|
@FirBuilderDsl
|
||||||
class FirPropertyBuilder : FirTypeParametersOwnerBuilder, FirAnnotationContainerBuilder {
|
class FirPropertyBuilder : FirDeclarationBuilder, FirTypeParametersOwnerBuilder, FirAnnotationContainerBuilder {
|
||||||
override var source: FirSourceElement? = null
|
override var source: FirSourceElement? = null
|
||||||
lateinit var session: FirSession
|
override lateinit var session: FirSession
|
||||||
var resolvePhase: FirResolvePhase = FirResolvePhase.RAW_FIR
|
override var resolvePhase: FirResolvePhase = FirResolvePhase.RAW_FIR
|
||||||
lateinit var origin: FirDeclarationOrigin
|
override lateinit var origin: FirDeclarationOrigin
|
||||||
var attributes: FirDeclarationAttributes = FirDeclarationAttributes()
|
override var attributes: FirDeclarationAttributes = FirDeclarationAttributes()
|
||||||
lateinit var returnTypeRef: FirTypeRef
|
lateinit var returnTypeRef: FirTypeRef
|
||||||
var receiverTypeRef: FirTypeRef? = null
|
var receiverTypeRef: FirTypeRef? = null
|
||||||
lateinit var name: Name
|
lateinit var name: Name
|
||||||
|
|||||||
+1
-1
@@ -38,7 +38,7 @@ import org.jetbrains.kotlin.name.Name
|
|||||||
open class FirRegularClassBuilder : FirClassBuilder, FirTypeParameterRefsOwnerBuilder, FirAnnotationContainerBuilder {
|
open class FirRegularClassBuilder : FirClassBuilder, FirTypeParameterRefsOwnerBuilder, FirAnnotationContainerBuilder {
|
||||||
override var source: FirSourceElement? = null
|
override var source: FirSourceElement? = null
|
||||||
override lateinit var session: FirSession
|
override lateinit var session: FirSession
|
||||||
open var resolvePhase: FirResolvePhase = FirResolvePhase.RAW_FIR
|
override var resolvePhase: FirResolvePhase = FirResolvePhase.RAW_FIR
|
||||||
override lateinit var origin: FirDeclarationOrigin
|
override lateinit var origin: FirDeclarationOrigin
|
||||||
override var attributes: FirDeclarationAttributes = FirDeclarationAttributes()
|
override var attributes: FirDeclarationAttributes = FirDeclarationAttributes()
|
||||||
override val annotations: MutableList<FirAnnotationCall> = mutableListOf()
|
override val annotations: MutableList<FirAnnotationCall> = mutableListOf()
|
||||||
|
|||||||
+1
-1
@@ -41,7 +41,7 @@ import org.jetbrains.kotlin.serialization.deserialization.descriptors.Deserializ
|
|||||||
open class FirSimpleFunctionBuilder : FirFunctionBuilder, FirTypeParametersOwnerBuilder, FirAnnotationContainerBuilder {
|
open class FirSimpleFunctionBuilder : FirFunctionBuilder, FirTypeParametersOwnerBuilder, FirAnnotationContainerBuilder {
|
||||||
override var source: FirSourceElement? = null
|
override var source: FirSourceElement? = null
|
||||||
override lateinit var session: FirSession
|
override lateinit var session: FirSession
|
||||||
open var resolvePhase: FirResolvePhase = FirResolvePhase.RAW_FIR
|
override var resolvePhase: FirResolvePhase = FirResolvePhase.RAW_FIR
|
||||||
override lateinit var origin: FirDeclarationOrigin
|
override lateinit var origin: FirDeclarationOrigin
|
||||||
override var attributes: FirDeclarationAttributes = FirDeclarationAttributes()
|
override var attributes: FirDeclarationAttributes = FirDeclarationAttributes()
|
||||||
override lateinit var returnTypeRef: FirTypeRef
|
override lateinit var returnTypeRef: FirTypeRef
|
||||||
|
|||||||
+6
-5
@@ -16,6 +16,7 @@ import org.jetbrains.kotlin.fir.declarations.FirDeclarationStatus
|
|||||||
import org.jetbrains.kotlin.fir.declarations.FirResolvePhase
|
import org.jetbrains.kotlin.fir.declarations.FirResolvePhase
|
||||||
import org.jetbrains.kotlin.fir.declarations.FirTypeAlias
|
import org.jetbrains.kotlin.fir.declarations.FirTypeAlias
|
||||||
import org.jetbrains.kotlin.fir.declarations.FirTypeParameter
|
import org.jetbrains.kotlin.fir.declarations.FirTypeParameter
|
||||||
|
import org.jetbrains.kotlin.fir.declarations.builder.FirDeclarationBuilder
|
||||||
import org.jetbrains.kotlin.fir.declarations.builder.FirTypeParametersOwnerBuilder
|
import org.jetbrains.kotlin.fir.declarations.builder.FirTypeParametersOwnerBuilder
|
||||||
import org.jetbrains.kotlin.fir.declarations.impl.FirTypeAliasImpl
|
import org.jetbrains.kotlin.fir.declarations.impl.FirTypeAliasImpl
|
||||||
import org.jetbrains.kotlin.fir.expressions.FirAnnotationCall
|
import org.jetbrains.kotlin.fir.expressions.FirAnnotationCall
|
||||||
@@ -30,12 +31,12 @@ import org.jetbrains.kotlin.name.Name
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
@FirBuilderDsl
|
@FirBuilderDsl
|
||||||
class FirTypeAliasBuilder : FirTypeParametersOwnerBuilder, FirAnnotationContainerBuilder {
|
class FirTypeAliasBuilder : FirDeclarationBuilder, FirTypeParametersOwnerBuilder, FirAnnotationContainerBuilder {
|
||||||
override var source: FirSourceElement? = null
|
override var source: FirSourceElement? = null
|
||||||
lateinit var session: FirSession
|
override lateinit var session: FirSession
|
||||||
var resolvePhase: FirResolvePhase = FirResolvePhase.RAW_FIR
|
override var resolvePhase: FirResolvePhase = FirResolvePhase.RAW_FIR
|
||||||
lateinit var origin: FirDeclarationOrigin
|
override lateinit var origin: FirDeclarationOrigin
|
||||||
var attributes: FirDeclarationAttributes = FirDeclarationAttributes()
|
override var attributes: FirDeclarationAttributes = FirDeclarationAttributes()
|
||||||
lateinit var status: FirDeclarationStatus
|
lateinit var status: FirDeclarationStatus
|
||||||
override val typeParameters: MutableList<FirTypeParameter> = mutableListOf()
|
override val typeParameters: MutableList<FirTypeParameter> = mutableListOf()
|
||||||
lateinit var name: Name
|
lateinit var name: Name
|
||||||
|
|||||||
+11
@@ -11,6 +11,10 @@ import org.jetbrains.kotlin.fir.tree.generator.util.traverseParents
|
|||||||
|
|
||||||
object BuilderConfigurator : AbstractBuilderConfigurator<FirTreeBuilder>(FirTreeBuilder) {
|
object BuilderConfigurator : AbstractBuilderConfigurator<FirTreeBuilder>(FirTreeBuilder) {
|
||||||
fun configureBuilders() = with(firTreeBuilder) {
|
fun configureBuilders() = with(firTreeBuilder) {
|
||||||
|
val declarationBuilder by builder {
|
||||||
|
fields from declaration
|
||||||
|
}
|
||||||
|
|
||||||
val annotationContainerBuilder by builder {
|
val annotationContainerBuilder by builder {
|
||||||
fields from annotationContainer
|
fields from annotationContainer
|
||||||
}
|
}
|
||||||
@@ -28,6 +32,7 @@ object BuilderConfigurator : AbstractBuilderConfigurator<FirTreeBuilder>(FirTree
|
|||||||
}
|
}
|
||||||
|
|
||||||
val classBuilder by builder {
|
val classBuilder by builder {
|
||||||
|
parents += declarationBuilder
|
||||||
parents += annotationContainerBuilder
|
parents += annotationContainerBuilder
|
||||||
fields from klass without listOf("symbol", "resolvePhase")
|
fields from klass without listOf("symbol", "resolvePhase")
|
||||||
}
|
}
|
||||||
@@ -53,6 +58,7 @@ object BuilderConfigurator : AbstractBuilderConfigurator<FirTreeBuilder>(FirTree
|
|||||||
}
|
}
|
||||||
|
|
||||||
val functionBuilder by builder {
|
val functionBuilder by builder {
|
||||||
|
parents += declarationBuilder
|
||||||
parents += annotationContainerBuilder
|
parents += annotationContainerBuilder
|
||||||
fields from function without listOf("symbol", "resolvePhase", "controlFlowGraphReference", "receiverTypeRef", "typeParameters")
|
fields from function without listOf("symbol", "resolvePhase", "controlFlowGraphReference", "receiverTypeRef", "typeParameters")
|
||||||
}
|
}
|
||||||
@@ -86,15 +92,18 @@ object BuilderConfigurator : AbstractBuilderConfigurator<FirTreeBuilder>(FirTree
|
|||||||
}
|
}
|
||||||
|
|
||||||
builder(field) {
|
builder(field) {
|
||||||
|
parents += declarationBuilder
|
||||||
default("resolvePhase", "FirResolvePhase.DECLARATIONS")
|
default("resolvePhase", "FirResolvePhase.DECLARATIONS")
|
||||||
openBuilder()
|
openBuilder()
|
||||||
}
|
}
|
||||||
|
|
||||||
builder(anonymousObject) {
|
builder(anonymousObject) {
|
||||||
|
parents += declarationBuilder
|
||||||
parents += classBuilder
|
parents += classBuilder
|
||||||
}
|
}
|
||||||
|
|
||||||
builder(typeAlias) {
|
builder(typeAlias) {
|
||||||
|
parents += declarationBuilder
|
||||||
parents += typeParametersOwnerBuilder
|
parents += typeParametersOwnerBuilder
|
||||||
withCopy()
|
withCopy()
|
||||||
}
|
}
|
||||||
@@ -180,6 +189,7 @@ object BuilderConfigurator : AbstractBuilderConfigurator<FirTreeBuilder>(FirTree
|
|||||||
}
|
}
|
||||||
|
|
||||||
builder(property) {
|
builder(property) {
|
||||||
|
parents += declarationBuilder
|
||||||
parents += typeParametersOwnerBuilder
|
parents += typeParametersOwnerBuilder
|
||||||
defaultNull("getter", "setter", "containerSource", "delegateFieldSymbol")
|
defaultNull("getter", "setter", "containerSource", "delegateFieldSymbol")
|
||||||
default("resolvePhase", "FirResolvePhase.RAW_FIR")
|
default("resolvePhase", "FirResolvePhase.RAW_FIR")
|
||||||
@@ -289,6 +299,7 @@ object BuilderConfigurator : AbstractBuilderConfigurator<FirTreeBuilder>(FirTree
|
|||||||
}
|
}
|
||||||
|
|
||||||
builder(anonymousInitializer) {
|
builder(anonymousInitializer) {
|
||||||
|
parents += declarationBuilder
|
||||||
default("symbol", "FirAnonymousInitializerSymbol()")
|
default("symbol", "FirAnonymousInitializerSymbol()")
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user