[FIR] Fix determination of which type is FIR type in tree generator
^KT-52832 Fixed
This commit is contained in:
committed by
teamcity
parent
a7bae6f4c4
commit
80223bd555
+2
@@ -38,6 +38,7 @@ internal class FirCallableReferenceAccessImpl(
|
|||||||
override fun <R, D> acceptChildren(visitor: FirVisitor<R, D>, data: D) {
|
override fun <R, D> acceptChildren(visitor: FirVisitor<R, D>, data: D) {
|
||||||
typeRef.accept(visitor, data)
|
typeRef.accept(visitor, data)
|
||||||
annotations.forEach { it.accept(visitor, data) }
|
annotations.forEach { it.accept(visitor, data) }
|
||||||
|
contextReceiverArguments.forEach { it.accept(visitor, data) }
|
||||||
typeArguments.forEach { it.accept(visitor, data) }
|
typeArguments.forEach { it.accept(visitor, data) }
|
||||||
explicitReceiver?.accept(visitor, data)
|
explicitReceiver?.accept(visitor, data)
|
||||||
if (dispatchReceiver !== explicitReceiver) {
|
if (dispatchReceiver !== explicitReceiver) {
|
||||||
@@ -52,6 +53,7 @@ internal class FirCallableReferenceAccessImpl(
|
|||||||
override fun <D> transformChildren(transformer: FirTransformer<D>, data: D): FirCallableReferenceAccessImpl {
|
override fun <D> transformChildren(transformer: FirTransformer<D>, data: D): FirCallableReferenceAccessImpl {
|
||||||
typeRef = typeRef.transform(transformer, data)
|
typeRef = typeRef.transform(transformer, data)
|
||||||
transformAnnotations(transformer, data)
|
transformAnnotations(transformer, data)
|
||||||
|
contextReceiverArguments.transformInplace(transformer, data)
|
||||||
transformTypeArguments(transformer, data)
|
transformTypeArguments(transformer, data)
|
||||||
explicitReceiver = explicitReceiver?.transform(transformer, data)
|
explicitReceiver = explicitReceiver?.transform(transformer, data)
|
||||||
if (dispatchReceiver !== explicitReceiver) {
|
if (dispatchReceiver !== explicitReceiver) {
|
||||||
|
|||||||
+2
@@ -47,6 +47,7 @@ internal class FirComponentCallImpl(
|
|||||||
override fun <R, D> acceptChildren(visitor: FirVisitor<R, D>, data: D) {
|
override fun <R, D> acceptChildren(visitor: FirVisitor<R, D>, data: D) {
|
||||||
typeRef.accept(visitor, data)
|
typeRef.accept(visitor, data)
|
||||||
annotations.forEach { it.accept(visitor, data) }
|
annotations.forEach { it.accept(visitor, data) }
|
||||||
|
contextReceiverArguments.forEach { it.accept(visitor, data) }
|
||||||
typeArguments.forEach { it.accept(visitor, data) }
|
typeArguments.forEach { it.accept(visitor, data) }
|
||||||
argumentList.accept(visitor, data)
|
argumentList.accept(visitor, data)
|
||||||
calleeReference.accept(visitor, data)
|
calleeReference.accept(visitor, data)
|
||||||
@@ -62,6 +63,7 @@ internal class FirComponentCallImpl(
|
|||||||
override fun <D> transformChildren(transformer: FirTransformer<D>, data: D): FirComponentCallImpl {
|
override fun <D> transformChildren(transformer: FirTransformer<D>, data: D): FirComponentCallImpl {
|
||||||
typeRef = typeRef.transform(transformer, data)
|
typeRef = typeRef.transform(transformer, data)
|
||||||
transformAnnotations(transformer, data)
|
transformAnnotations(transformer, data)
|
||||||
|
contextReceiverArguments.transformInplace(transformer, data)
|
||||||
transformTypeArguments(transformer, data)
|
transformTypeArguments(transformer, data)
|
||||||
argumentList = argumentList.transform(transformer, data)
|
argumentList = argumentList.transform(transformer, data)
|
||||||
transformCalleeReference(transformer, data)
|
transformCalleeReference(transformer, data)
|
||||||
|
|||||||
+2
@@ -38,6 +38,7 @@ internal class FirDelegatedConstructorCallImpl(
|
|||||||
override fun <R, D> acceptChildren(visitor: FirVisitor<R, D>, data: D) {
|
override fun <R, D> acceptChildren(visitor: FirVisitor<R, D>, data: D) {
|
||||||
annotations.forEach { it.accept(visitor, data) }
|
annotations.forEach { it.accept(visitor, data) }
|
||||||
argumentList.accept(visitor, data)
|
argumentList.accept(visitor, data)
|
||||||
|
contextReceiverArguments.forEach { it.accept(visitor, data) }
|
||||||
constructedTypeRef.accept(visitor, data)
|
constructedTypeRef.accept(visitor, data)
|
||||||
calleeReference.accept(visitor, data)
|
calleeReference.accept(visitor, data)
|
||||||
}
|
}
|
||||||
@@ -45,6 +46,7 @@ internal class FirDelegatedConstructorCallImpl(
|
|||||||
override fun <D> transformChildren(transformer: FirTransformer<D>, data: D): FirDelegatedConstructorCallImpl {
|
override fun <D> transformChildren(transformer: FirTransformer<D>, data: D): FirDelegatedConstructorCallImpl {
|
||||||
transformAnnotations(transformer, data)
|
transformAnnotations(transformer, data)
|
||||||
argumentList = argumentList.transform(transformer, data)
|
argumentList = argumentList.transform(transformer, data)
|
||||||
|
contextReceiverArguments.transformInplace(transformer, data)
|
||||||
constructedTypeRef = constructedTypeRef.transform(transformer, data)
|
constructedTypeRef = constructedTypeRef.transform(transformer, data)
|
||||||
transformCalleeReference(transformer, data)
|
transformCalleeReference(transformer, data)
|
||||||
return this
|
return this
|
||||||
|
|||||||
@@ -41,6 +41,7 @@ open class FirFunctionCallImpl @FirImplementationDetail constructor(
|
|||||||
override fun <R, D> acceptChildren(visitor: FirVisitor<R, D>, data: D) {
|
override fun <R, D> acceptChildren(visitor: FirVisitor<R, D>, data: D) {
|
||||||
typeRef.accept(visitor, data)
|
typeRef.accept(visitor, data)
|
||||||
annotations.forEach { it.accept(visitor, data) }
|
annotations.forEach { it.accept(visitor, data) }
|
||||||
|
contextReceiverArguments.forEach { it.accept(visitor, data) }
|
||||||
typeArguments.forEach { it.accept(visitor, data) }
|
typeArguments.forEach { it.accept(visitor, data) }
|
||||||
explicitReceiver?.accept(visitor, data)
|
explicitReceiver?.accept(visitor, data)
|
||||||
if (dispatchReceiver !== explicitReceiver) {
|
if (dispatchReceiver !== explicitReceiver) {
|
||||||
@@ -56,6 +57,7 @@ open class FirFunctionCallImpl @FirImplementationDetail constructor(
|
|||||||
override fun <D> transformChildren(transformer: FirTransformer<D>, data: D): FirFunctionCallImpl {
|
override fun <D> transformChildren(transformer: FirTransformer<D>, data: D): FirFunctionCallImpl {
|
||||||
typeRef = typeRef.transform(transformer, data)
|
typeRef = typeRef.transform(transformer, data)
|
||||||
transformAnnotations(transformer, data)
|
transformAnnotations(transformer, data)
|
||||||
|
contextReceiverArguments.transformInplace(transformer, data)
|
||||||
transformTypeArguments(transformer, data)
|
transformTypeArguments(transformer, data)
|
||||||
explicitReceiver = explicitReceiver?.transform(transformer, data)
|
explicitReceiver = explicitReceiver?.transform(transformer, data)
|
||||||
if (dispatchReceiver !== explicitReceiver) {
|
if (dispatchReceiver !== explicitReceiver) {
|
||||||
|
|||||||
+2
@@ -43,6 +43,7 @@ internal class FirImplicitInvokeCallImpl(
|
|||||||
override fun <R, D> acceptChildren(visitor: FirVisitor<R, D>, data: D) {
|
override fun <R, D> acceptChildren(visitor: FirVisitor<R, D>, data: D) {
|
||||||
typeRef.accept(visitor, data)
|
typeRef.accept(visitor, data)
|
||||||
annotations.forEach { it.accept(visitor, data) }
|
annotations.forEach { it.accept(visitor, data) }
|
||||||
|
contextReceiverArguments.forEach { it.accept(visitor, data) }
|
||||||
typeArguments.forEach { it.accept(visitor, data) }
|
typeArguments.forEach { it.accept(visitor, data) }
|
||||||
explicitReceiver?.accept(visitor, data)
|
explicitReceiver?.accept(visitor, data)
|
||||||
if (dispatchReceiver !== explicitReceiver) {
|
if (dispatchReceiver !== explicitReceiver) {
|
||||||
@@ -58,6 +59,7 @@ internal class FirImplicitInvokeCallImpl(
|
|||||||
override fun <D> transformChildren(transformer: FirTransformer<D>, data: D): FirImplicitInvokeCallImpl {
|
override fun <D> transformChildren(transformer: FirTransformer<D>, data: D): FirImplicitInvokeCallImpl {
|
||||||
typeRef = typeRef.transform(transformer, data)
|
typeRef = typeRef.transform(transformer, data)
|
||||||
transformAnnotations(transformer, data)
|
transformAnnotations(transformer, data)
|
||||||
|
contextReceiverArguments.transformInplace(transformer, data)
|
||||||
transformTypeArguments(transformer, data)
|
transformTypeArguments(transformer, data)
|
||||||
explicitReceiver = explicitReceiver?.transform(transformer, data)
|
explicitReceiver = explicitReceiver?.transform(transformer, data)
|
||||||
if (dispatchReceiver !== explicitReceiver) {
|
if (dispatchReceiver !== explicitReceiver) {
|
||||||
|
|||||||
+2
@@ -41,6 +41,7 @@ internal class FirIntegerLiteralOperatorCallImpl(
|
|||||||
override fun <R, D> acceptChildren(visitor: FirVisitor<R, D>, data: D) {
|
override fun <R, D> acceptChildren(visitor: FirVisitor<R, D>, data: D) {
|
||||||
typeRef.accept(visitor, data)
|
typeRef.accept(visitor, data)
|
||||||
annotations.forEach { it.accept(visitor, data) }
|
annotations.forEach { it.accept(visitor, data) }
|
||||||
|
contextReceiverArguments.forEach { it.accept(visitor, data) }
|
||||||
typeArguments.forEach { it.accept(visitor, data) }
|
typeArguments.forEach { it.accept(visitor, data) }
|
||||||
explicitReceiver?.accept(visitor, data)
|
explicitReceiver?.accept(visitor, data)
|
||||||
if (dispatchReceiver !== explicitReceiver) {
|
if (dispatchReceiver !== explicitReceiver) {
|
||||||
@@ -56,6 +57,7 @@ internal class FirIntegerLiteralOperatorCallImpl(
|
|||||||
override fun <D> transformChildren(transformer: FirTransformer<D>, data: D): FirIntegerLiteralOperatorCallImpl {
|
override fun <D> transformChildren(transformer: FirTransformer<D>, data: D): FirIntegerLiteralOperatorCallImpl {
|
||||||
typeRef = typeRef.transform(transformer, data)
|
typeRef = typeRef.transform(transformer, data)
|
||||||
transformAnnotations(transformer, data)
|
transformAnnotations(transformer, data)
|
||||||
|
contextReceiverArguments.transformInplace(transformer, data)
|
||||||
transformTypeArguments(transformer, data)
|
transformTypeArguments(transformer, data)
|
||||||
explicitReceiver = explicitReceiver?.transform(transformer, data)
|
explicitReceiver = explicitReceiver?.transform(transformer, data)
|
||||||
if (dispatchReceiver !== explicitReceiver) {
|
if (dispatchReceiver !== explicitReceiver) {
|
||||||
|
|||||||
+2
@@ -39,6 +39,7 @@ class FirPropertyAccessExpressionImpl @FirImplementationDetail constructor(
|
|||||||
typeRef.accept(visitor, data)
|
typeRef.accept(visitor, data)
|
||||||
annotations.forEach { it.accept(visitor, data) }
|
annotations.forEach { it.accept(visitor, data) }
|
||||||
calleeReference.accept(visitor, data)
|
calleeReference.accept(visitor, data)
|
||||||
|
contextReceiverArguments.forEach { it.accept(visitor, data) }
|
||||||
typeArguments.forEach { it.accept(visitor, data) }
|
typeArguments.forEach { it.accept(visitor, data) }
|
||||||
explicitReceiver?.accept(visitor, data)
|
explicitReceiver?.accept(visitor, data)
|
||||||
if (dispatchReceiver !== explicitReceiver) {
|
if (dispatchReceiver !== explicitReceiver) {
|
||||||
@@ -53,6 +54,7 @@ class FirPropertyAccessExpressionImpl @FirImplementationDetail constructor(
|
|||||||
typeRef = typeRef.transform(transformer, data)
|
typeRef = typeRef.transform(transformer, data)
|
||||||
transformAnnotations(transformer, data)
|
transformAnnotations(transformer, data)
|
||||||
transformCalleeReference(transformer, data)
|
transformCalleeReference(transformer, data)
|
||||||
|
contextReceiverArguments.transformInplace(transformer, data)
|
||||||
transformTypeArguments(transformer, data)
|
transformTypeArguments(transformer, data)
|
||||||
explicitReceiver = explicitReceiver?.transform(transformer, data)
|
explicitReceiver = explicitReceiver?.transform(transformer, data)
|
||||||
if (dispatchReceiver !== explicitReceiver) {
|
if (dispatchReceiver !== explicitReceiver) {
|
||||||
|
|||||||
+2
@@ -40,6 +40,7 @@ internal class FirThisReceiverExpressionImpl(
|
|||||||
override fun <R, D> acceptChildren(visitor: FirVisitor<R, D>, data: D) {
|
override fun <R, D> acceptChildren(visitor: FirVisitor<R, D>, data: D) {
|
||||||
typeRef.accept(visitor, data)
|
typeRef.accept(visitor, data)
|
||||||
annotations.forEach { it.accept(visitor, data) }
|
annotations.forEach { it.accept(visitor, data) }
|
||||||
|
contextReceiverArguments.forEach { it.accept(visitor, data) }
|
||||||
typeArguments.forEach { it.accept(visitor, data) }
|
typeArguments.forEach { it.accept(visitor, data) }
|
||||||
explicitReceiver?.accept(visitor, data)
|
explicitReceiver?.accept(visitor, data)
|
||||||
if (dispatchReceiver !== explicitReceiver) {
|
if (dispatchReceiver !== explicitReceiver) {
|
||||||
@@ -54,6 +55,7 @@ internal class FirThisReceiverExpressionImpl(
|
|||||||
override fun <D> transformChildren(transformer: FirTransformer<D>, data: D): FirThisReceiverExpressionImpl {
|
override fun <D> transformChildren(transformer: FirTransformer<D>, data: D): FirThisReceiverExpressionImpl {
|
||||||
typeRef = typeRef.transform(transformer, data)
|
typeRef = typeRef.transform(transformer, data)
|
||||||
transformAnnotations(transformer, data)
|
transformAnnotations(transformer, data)
|
||||||
|
contextReceiverArguments.transformInplace(transformer, data)
|
||||||
transformTypeArguments(transformer, data)
|
transformTypeArguments(transformer, data)
|
||||||
explicitReceiver = explicitReceiver?.transform(transformer, data)
|
explicitReceiver = explicitReceiver?.transform(transformer, data)
|
||||||
if (dispatchReceiver !== explicitReceiver) {
|
if (dispatchReceiver !== explicitReceiver) {
|
||||||
|
|||||||
+2
@@ -44,6 +44,7 @@ internal class FirVariableAssignmentImpl(
|
|||||||
override fun <R, D> acceptChildren(visitor: FirVisitor<R, D>, data: D) {
|
override fun <R, D> acceptChildren(visitor: FirVisitor<R, D>, data: D) {
|
||||||
calleeReference.accept(visitor, data)
|
calleeReference.accept(visitor, data)
|
||||||
annotations.forEach { it.accept(visitor, data) }
|
annotations.forEach { it.accept(visitor, data) }
|
||||||
|
contextReceiverArguments.forEach { it.accept(visitor, data) }
|
||||||
typeArguments.forEach { it.accept(visitor, data) }
|
typeArguments.forEach { it.accept(visitor, data) }
|
||||||
explicitReceiver?.accept(visitor, data)
|
explicitReceiver?.accept(visitor, data)
|
||||||
if (dispatchReceiver !== explicitReceiver) {
|
if (dispatchReceiver !== explicitReceiver) {
|
||||||
@@ -59,6 +60,7 @@ internal class FirVariableAssignmentImpl(
|
|||||||
override fun <D> transformChildren(transformer: FirTransformer<D>, data: D): FirVariableAssignmentImpl {
|
override fun <D> transformChildren(transformer: FirTransformer<D>, data: D): FirVariableAssignmentImpl {
|
||||||
transformCalleeReference(transformer, data)
|
transformCalleeReference(transformer, data)
|
||||||
transformAnnotations(transformer, data)
|
transformAnnotations(transformer, data)
|
||||||
|
contextReceiverArguments.transformInplace(transformer, data)
|
||||||
transformTypeArguments(transformer, data)
|
transformTypeArguments(transformer, data)
|
||||||
explicitReceiver = explicitReceiver?.transform(transformer, data)
|
explicitReceiver = explicitReceiver?.transform(transformer, data)
|
||||||
if (dispatchReceiver !== explicitReceiver) {
|
if (dispatchReceiver !== explicitReceiver) {
|
||||||
|
|||||||
+3
-3
@@ -351,7 +351,7 @@ object ImplementationConfigurator : AbstractFirTreeImplementationConfigurator()
|
|||||||
value = "whenRef.value.subject!!.typeRef"
|
value = "whenRef.value.subject!!.typeRef"
|
||||||
withGetter = true
|
withGetter = true
|
||||||
}
|
}
|
||||||
useTypes(whenExpressionType)
|
useTypes(whenExpression)
|
||||||
}
|
}
|
||||||
|
|
||||||
impl(wrappedDelegateExpression) {
|
impl(wrappedDelegateExpression) {
|
||||||
@@ -471,11 +471,11 @@ object ImplementationConfigurator : AbstractFirTreeImplementationConfigurator()
|
|||||||
impl(simpleFunction)
|
impl(simpleFunction)
|
||||||
|
|
||||||
impl(safeCallExpression) {
|
impl(safeCallExpression) {
|
||||||
useTypes(safeCallCheckedSubjectType)
|
useTypes(checkedSafeCallSubject)
|
||||||
}
|
}
|
||||||
|
|
||||||
impl(checkedSafeCallSubject) {
|
impl(checkedSafeCallSubject) {
|
||||||
useTypes(expressionType)
|
useTypes(expression)
|
||||||
}
|
}
|
||||||
|
|
||||||
impl(resolvedQualifier) {
|
impl(resolvedQualifier) {
|
||||||
|
|||||||
+1
-1
@@ -192,7 +192,7 @@ object NodeConfigurator : AbstractFieldConfigurator<FirTreeBuilder>(FirTreeBuild
|
|||||||
}
|
}
|
||||||
|
|
||||||
contextReceiverArgumentListOwner.configure {
|
contextReceiverArgumentListOwner.configure {
|
||||||
+fieldList("contextReceiverArguments", expressionType, withReplace = true)
|
+fieldList("contextReceiverArguments", expression, withReplace = true)
|
||||||
}
|
}
|
||||||
|
|
||||||
qualifiedAccess.configure {
|
qualifiedAccess.configure {
|
||||||
|
|||||||
+10
-16
@@ -46,30 +46,24 @@ val operationKindType = type("fir.expressions", "LogicOperationKind")
|
|||||||
val coneKotlinTypeType = type(ConeKotlinType::class)
|
val coneKotlinTypeType = type(ConeKotlinType::class)
|
||||||
val coneSimpleKotlinTypeType = type(ConeSimpleKotlinType::class)
|
val coneSimpleKotlinTypeType = type(ConeSimpleKotlinType::class)
|
||||||
|
|
||||||
val whenExpressionType = generatedType("expressions", "FirWhenExpression")
|
|
||||||
val expressionType = generatedType("expressions", "FirExpression")
|
|
||||||
val safeCallCheckedSubjectType = generatedType("expressions", "FirCheckedSafeCallSubject")
|
|
||||||
|
|
||||||
val whenRefType = generatedType("", "FirExpressionRef<FirWhenExpression>")
|
val whenRefType = generatedType("", "FirExpressionRef<FirWhenExpression>")
|
||||||
val safeCallOriginalReceiverReferenceType = generatedType("", "FirExpressionRef<FirExpression>")
|
val safeCallOriginalReceiverReferenceType = generatedType("", "FirExpressionRef<FirExpression>")
|
||||||
val safeCallCheckedSubjectReferenceType = generatedType("", "FirExpressionRef<FirCheckedSafeCallSubject>")
|
val safeCallCheckedSubjectReferenceType = generatedType("", "FirExpressionRef<FirCheckedSafeCallSubject>")
|
||||||
|
|
||||||
val firModuleDataType = type("fir", "FirModuleData")
|
val firModuleDataType = type("fir", "FirModuleData")
|
||||||
val emptyCfgReferenceType = generatedType("references.impl", "FirEmptyControlFlowGraphReference")
|
val noReceiverExpressionType = generatedType("expressions.impl", "FirNoReceiverExpression", firType = true)
|
||||||
val noReceiverExpressionType = generatedType("expressions.impl", "FirNoReceiverExpression")
|
val implicitTypeRefType = generatedType("types.impl", "FirImplicitTypeRefImpl", firType = true)
|
||||||
val implicitTypeRefType = generatedType("types.impl", "FirImplicitTypeRefImpl")
|
|
||||||
val firQualifierPartType = type("fir.types", "FirQualifierPart")
|
val firQualifierPartType = type("fir.types", "FirQualifierPart")
|
||||||
val ConeErrorTypeType = type(ConeErrorType::class)
|
|
||||||
val simpleNamedReferenceType = generatedType("references.impl", "FirSimpleNamedReference")
|
val simpleNamedReferenceType = generatedType("references.impl", "FirSimpleNamedReference")
|
||||||
val explicitThisReferenceType = generatedType("references.impl", "FirExplicitThisReference")
|
val explicitThisReferenceType = generatedType("references.impl", "FirExplicitThisReference", firType = true)
|
||||||
val explicitSuperReferenceType = generatedType("references.impl", "FirExplicitSuperReference")
|
val explicitSuperReferenceType = generatedType("references.impl", "FirExplicitSuperReference", firType = true)
|
||||||
val implicitBooleanTypeRefType = generatedType("types.impl", "FirImplicitBooleanTypeRef")
|
val implicitBooleanTypeRefType = generatedType("types.impl", "FirImplicitBooleanTypeRef", firType = true)
|
||||||
val implicitNothingTypeRefType = generatedType("types.impl", "FirImplicitNothingTypeRef")
|
val implicitNothingTypeRefType = generatedType("types.impl", "FirImplicitNothingTypeRef", firType = true)
|
||||||
val implicitStringTypeRefType = generatedType("types.impl", "FirImplicitStringTypeRef")
|
val implicitStringTypeRefType = generatedType("types.impl", "FirImplicitStringTypeRef", firType = true)
|
||||||
val implicitUnitTypeRefType = generatedType("types.impl", "FirImplicitUnitTypeRef")
|
val implicitUnitTypeRefType = generatedType("types.impl", "FirImplicitUnitTypeRef", firType = true)
|
||||||
val resolvePhaseType = type("fir.declarations", "FirResolvePhase")
|
val resolvePhaseType = type("fir.declarations", "FirResolvePhase")
|
||||||
val propertyBodyResolveStateType = type("fir.declarations", "FirPropertyBodyResolveState")
|
val propertyBodyResolveStateType = type("fir.declarations", "FirPropertyBodyResolveState")
|
||||||
val stubReferenceType = generatedType("references.impl", "FirStubReference")
|
val stubReferenceType = generatedType("references.impl", "FirStubReference", firType = true)
|
||||||
|
|
||||||
val firBasedSymbolType = type("fir.symbols", "FirBasedSymbol")
|
val firBasedSymbolType = type("fir.symbols", "FirBasedSymbol")
|
||||||
val backingFieldSymbolType = type("fir.symbols.impl", "FirBackingFieldSymbol")
|
val backingFieldSymbolType = type("fir.symbols.impl", "FirBackingFieldSymbol")
|
||||||
@@ -104,5 +98,5 @@ val deprecationsPerUseSiteType = type("fir.declarations", "DeprecationsPerUseSit
|
|||||||
val emptyAnnotationArgumentMappingType = type("fir.expressions.impl", "FirEmptyAnnotationArgumentMapping")
|
val emptyAnnotationArgumentMappingType = type("fir.expressions.impl", "FirEmptyAnnotationArgumentMapping")
|
||||||
|
|
||||||
val firPropertySymbolType = type("fir.symbols.impl", "FirPropertySymbol")
|
val firPropertySymbolType = type("fir.symbols.impl", "FirPropertySymbol")
|
||||||
val errorTypeRefImplType = type("fir.types.impl", "FirErrorTypeRefImpl")
|
val errorTypeRefImplType = type("fir.types.impl", "FirErrorTypeRefImpl", firType = true)
|
||||||
|
|
||||||
|
|||||||
+5
-5
@@ -93,16 +93,16 @@ abstract class AbstractFirTreeBuilder {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
fun generatedType(type: String): Type = generatedType("", type)
|
fun generatedType(type: String, firType: Boolean = false): Type = generatedType("", type, firType)
|
||||||
|
|
||||||
fun generatedType(packageName: String, type: String): Type {
|
fun generatedType(packageName: String, type: String, firType: Boolean = false): Type {
|
||||||
val realPackage = BASE_PACKAGE + if (packageName.isNotBlank()) ".$packageName" else ""
|
val realPackage = BASE_PACKAGE + if (packageName.isNotBlank()) ".$packageName" else ""
|
||||||
return type(realPackage, type, exactPackage = true)
|
return type(realPackage, type, exactPackage = true, firType)
|
||||||
}
|
}
|
||||||
|
|
||||||
fun type(packageName: String?, type: String, exactPackage: Boolean = false): Type {
|
fun type(packageName: String?, type: String, exactPackage: Boolean = false, firType: Boolean = false): Type {
|
||||||
val realPackage = if (exactPackage) packageName else packageName?.let { "org.jetbrains.kotlin.$it" }
|
val realPackage = if (exactPackage) packageName else packageName?.let { "org.jetbrains.kotlin.$it" }
|
||||||
return Type(realPackage, type)
|
return Type(realPackage, type, firType)
|
||||||
}
|
}
|
||||||
|
|
||||||
fun type(type: String): Type = type(null, type)
|
fun type(type: String): Type = type(null, type)
|
||||||
|
|||||||
+1
-1
@@ -219,5 +219,5 @@ class FieldList(
|
|||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
override val isFirType: Boolean = baseType is AbstractElement
|
override val isFirType: Boolean = baseType is AbstractElement || (baseType is Type && baseType.firType)
|
||||||
}
|
}
|
||||||
|
|||||||
+2
-2
@@ -5,6 +5,6 @@
|
|||||||
|
|
||||||
package org.jetbrains.kotlin.fir.tree.generator.model
|
package org.jetbrains.kotlin.fir.tree.generator.model
|
||||||
|
|
||||||
data class Type(override val packageName: String?, override val type: String) : Importable {
|
data class Type(override val packageName: String?, override val type: String, val firType: Boolean = false) : Importable {
|
||||||
val arguments = mutableListOf<String>()
|
val arguments = mutableListOf<String>()
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user