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,22 +66,27 @@ 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) {
when (declaration) { is FirCallableDeclaration<*> -> {
is FirProperty -> { when (declaration) {
declaration.getter?.let { transformPropertyAccessor(it, data) } is FirProperty -> {
declaration.setter?.let { transformPropertyAccessor(it, data) } declaration.getter?.let { transformPropertyAccessor(it, data) }
} declaration.setter?.let { transformPropertyAccessor(it, data) }
is FirFunction<*> -> { }
// Should we do it here? is FirFunction<*> -> {
for (valueParameter in declaration.valueParameters) { for (valueParameter in declaration.valueParameters) {
transformValueParameter(valueParameter, data) transformValueParameter(valueParameter, data)
}
} }
} }
declaration.compose()
}
is FirPropertyAccessor -> {
declaration.compose()
}
else -> {
transformElement(declaration, data)
} }
declaration.compose()
} else {
transformElement(declaration, data)
} }
} }