[FIR] Add transformTypeParameters to FirTypeParameterRefsOwner

This commit is contained in:
Dmitriy Novozhilov
2020-07-14 12:32:55 +03:00
parent 4083111dab
commit 9e94189852
40 changed files with 154 additions and 28 deletions
@@ -80,7 +80,7 @@ class FirJavaClass @FirImplementationDetail internal constructor(
}
override fun <D> transformChildren(transformer: FirTransformer<D>, data: D): FirJavaClass {
typeParameters.transformInplace(transformer, data)
transformTypeParameters(transformer, data)
transformDeclarations(transformer, data)
status = status.transformSingle(transformer, data)
transformSuperTypeRefs(transformer, data)
@@ -115,6 +115,11 @@ class FirJavaClass @FirImplementationDetail internal constructor(
override fun <D> transformCompanionObject(transformer: FirTransformer<D>, data: D): FirJavaClass {
return this
}
override fun <D> transformTypeParameters(transformer: FirTransformer<D>, data: D): FirRegularClass {
typeParameters.transformInplace(transformer, data)
return this
}
}
@FirBuilderDsl
@@ -88,7 +88,7 @@ class FirJavaConstructor @FirImplementationDetail constructor(
override fun <D> transformChildren(transformer: FirTransformer<D>, data: D): FirJavaConstructor {
transformReturnTypeRef(transformer, data)
transformControlFlowGraphReference(transformer, data)
typeParameters.transformInplace(transformer, data)
transformTypeParameters(transformer, data)
transformValueParameters(transformer, data)
status = status.transformSingle(transformer, data)
transformAnnotations(transformer, data)
@@ -117,6 +117,11 @@ class FirJavaConstructor @FirImplementationDetail constructor(
return this
}
override fun <D> transformTypeParameters(transformer: FirTransformer<D>, data: D): FirJavaConstructor {
typeParameters.transformInplace(transformer, data)
return this
}
override var containerSource: DeserializedContainerSource? = null
override fun replaceReturnTypeRef(newReturnTypeRef: FirTypeRef) {
@@ -72,7 +72,6 @@ class FirJavaField @FirImplementationDetail constructor(
override fun <D> transformOtherChildren(transformer: FirTransformer<D>, data: D): FirField {
transformAnnotations(transformer, data)
typeParameters.transformInplace(transformer, data)
return this
}
@@ -92,6 +91,7 @@ class FirJavaField @FirImplementationDetail constructor(
override fun <D> transformChildren(transformer: FirTransformer<D>, data: D): FirJavaField {
transformReturnTypeRef(transformer, data)
transformTypeParameters(transformer, data)
transformOtherChildren(transformer, data)
return this
}
@@ -110,6 +110,11 @@ class FirJavaField @FirImplementationDetail constructor(
return this
}
override fun <D> transformTypeParameters(transformer: FirTransformer<D>, data: D): FirField {
typeParameters.transformInplace(transformer, data)
return this
}
override val delegate: FirExpression?
get() = null