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