[FIR] Support resolve of local typealiases
This commit is contained in:
committed by
TeamCityServer
parent
3cb17ac2f0
commit
66668b2294
@@ -42,5 +42,7 @@ abstract class FirTypeAlias : FirPureAbstractElement(), FirClassLikeDeclaration<
|
||||
|
||||
abstract override fun <D> transformTypeParameters(transformer: FirTransformer<D>, data: D): FirTypeAlias
|
||||
|
||||
abstract fun <D> transformExpandedTypeRef(transformer: FirTransformer<D>, data: D): FirTypeAlias
|
||||
|
||||
abstract override fun <D> transformAnnotations(transformer: FirTransformer<D>, data: D): FirTypeAlias
|
||||
}
|
||||
|
||||
+6
-1
@@ -51,7 +51,7 @@ internal class FirTypeAliasImpl(
|
||||
override fun <D> transformChildren(transformer: FirTransformer<D>, data: D): FirTypeAliasImpl {
|
||||
transformStatus(transformer, data)
|
||||
transformTypeParameters(transformer, data)
|
||||
expandedTypeRef = expandedTypeRef.transformSingle(transformer, data)
|
||||
transformExpandedTypeRef(transformer, data)
|
||||
transformAnnotations(transformer, data)
|
||||
return this
|
||||
}
|
||||
@@ -66,6 +66,11 @@ internal class FirTypeAliasImpl(
|
||||
return this
|
||||
}
|
||||
|
||||
override fun <D> transformExpandedTypeRef(transformer: FirTransformer<D>, data: D): FirTypeAliasImpl {
|
||||
expandedTypeRef = expandedTypeRef.transformSingle(transformer, data)
|
||||
return this
|
||||
}
|
||||
|
||||
override fun <D> transformAnnotations(transformer: FirTransformer<D>, data: D): FirTypeAliasImpl {
|
||||
annotations.transformInplace(transformer, data)
|
||||
return this
|
||||
|
||||
@@ -92,7 +92,7 @@ inline val FirProperty.allowsToHaveFakeOverride: Boolean
|
||||
inline val FirPropertyAccessor.allowsToHaveFakeOverride: Boolean
|
||||
get() = !Visibilities.isPrivate(visibility) && visibility != Visibilities.InvisibleFake
|
||||
|
||||
inline val FirRegularClass.isLocal get() = symbol.classId.isLocal
|
||||
inline val FirClassLikeDeclaration<*>.isLocal get() = symbol.classId.isLocal
|
||||
inline val FirSimpleFunction.isLocal get() = status.visibility == Visibilities.Local
|
||||
|
||||
fun FirRegularClassBuilder.addDeclaration(declaration: FirDeclaration) {
|
||||
|
||||
+1
-1
@@ -271,7 +271,7 @@ object NodeConfigurator : AbstractFieldConfigurator<FirTreeBuilder>(FirTreeBuild
|
||||
parentArg(classLikeDeclaration, "F", typeAlias)
|
||||
+name
|
||||
+symbol("FirTypeAliasSymbol")
|
||||
+field("expandedTypeRef", typeRef, withReplace = true)
|
||||
+field("expandedTypeRef", typeRef, withReplace = true).withTransform()
|
||||
+annotations
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user