FirStatusResolveTransformer: don't enter property accessor bodies

This commit is contained in:
Mikhail Glukhikh
2020-04-29 13:14:38 +03:00
parent 9e413bde11
commit e81c2c5c6d
@@ -66,24 +66,29 @@ private class FirStatusResolveTransformer(
override fun transformDeclaration(declaration: FirDeclaration, data: FirDeclarationStatus?): CompositeTransformResult<FirDeclaration> { override fun transformDeclaration(declaration: FirDeclaration, data: FirDeclarationStatus?): CompositeTransformResult<FirDeclaration> {
declaration.replaceResolvePhase(transformerPhase) declaration.replaceResolvePhase(transformerPhase)
return if (declaration is FirCallableDeclaration<*>) { return when (declaration) {
is FirCallableDeclaration<*> -> {
when (declaration) { when (declaration) {
is FirProperty -> { is FirProperty -> {
declaration.getter?.let { transformPropertyAccessor(it, data) } declaration.getter?.let { transformPropertyAccessor(it, data) }
declaration.setter?.let { transformPropertyAccessor(it, data) } declaration.setter?.let { transformPropertyAccessor(it, data) }
} }
is FirFunction<*> -> { is FirFunction<*> -> {
// Should we do it here?
for (valueParameter in declaration.valueParameters) { for (valueParameter in declaration.valueParameters) {
transformValueParameter(valueParameter, data) transformValueParameter(valueParameter, data)
} }
} }
} }
declaration.compose() declaration.compose()
} else { }
is FirPropertyAccessor -> {
declaration.compose()
}
else -> {
transformElement(declaration, data) transformElement(declaration, data)
} }
} }
}
override fun transformTypeAlias(typeAlias: FirTypeAlias, data: FirDeclarationStatus?): CompositeTransformResult<FirDeclaration> { override fun transformTypeAlias(typeAlias: FirTypeAlias, data: FirDeclarationStatus?): CompositeTransformResult<FirDeclaration> {
typeAlias.typeParameters.forEach { transformDeclaration(it, data) } typeAlias.typeParameters.forEach { transformDeclaration(it, data) }