Render property accessors in html fir dump

This commit is contained in:
Simon Ogorodnik
2019-05-15 15:49:51 +03:00
committed by Mikhail Glukhikh
parent 9266a2cdba
commit c168c22fba
@@ -14,6 +14,7 @@ import org.jetbrains.kotlin.descriptors.Visibilities
import org.jetbrains.kotlin.descriptors.Visibility import org.jetbrains.kotlin.descriptors.Visibility
import org.jetbrains.kotlin.fir.* import org.jetbrains.kotlin.fir.*
import org.jetbrains.kotlin.fir.declarations.* import org.jetbrains.kotlin.fir.declarations.*
import org.jetbrains.kotlin.fir.declarations.impl.FirDefaultPropertyAccessor
import org.jetbrains.kotlin.fir.expressions.* import org.jetbrains.kotlin.fir.expressions.*
import org.jetbrains.kotlin.fir.expressions.impl.FirElseIfTrueCondition import org.jetbrains.kotlin.fir.expressions.impl.FirElseIfTrueCondition
import org.jetbrains.kotlin.fir.expressions.FirWhenSubjectExpression import org.jetbrains.kotlin.fir.expressions.FirWhenSubjectExpression
@@ -805,6 +806,24 @@ class HtmlFirDump internal constructor(private var linkResolver: FirLinkResolver
+"." +"."
} }
private fun FlowContent.generate(accessor: FirPropertyAccessor) {
if (accessor is FirDefaultPropertyAccessor) return
iline {
declarationStatus(accessor.status)
if (accessor.isGetter) {
keyword("get")
} else if (accessor.isSetter) {
keyword("set")
}
+"("
generateList(accessor.valueParameters) {
generate(it)
}
+")"
generateBlockIfAny(accessor.body)
}
}
private fun FlowContent.generate(property: FirProperty) { private fun FlowContent.generate(property: FirProperty) {
//anchor //anchor
iline { iline {
@@ -830,6 +849,10 @@ class HtmlFirDump internal constructor(private var linkResolver: FirLinkResolver
} }
} }
withIdentLevel {
generate(property.getter)
generate(property.setter)
}
} }