Support labels in fir html dump
This commit is contained in:
committed by
Mikhail Glukhikh
parent
541e1addf9
commit
a0176fbde5
@@ -1021,6 +1021,7 @@ class HtmlFirDump internal constructor(private var linkResolver: FirLinkResolver
|
||||
|
||||
private fun FlowContent.generate(whileLoop: FirWhileLoop) {
|
||||
iline {
|
||||
generateLabel(whileLoop)
|
||||
keyword("while ")
|
||||
+"("
|
||||
generate(whileLoop.condition)
|
||||
@@ -1075,6 +1076,14 @@ class HtmlFirDump internal constructor(private var linkResolver: FirLinkResolver
|
||||
}
|
||||
}
|
||||
|
||||
private fun FlowContent.generateLabel(labeledElement: FirLabeledElement) {
|
||||
val label = labeledElement.label ?: return
|
||||
span("label") {
|
||||
+label.name
|
||||
+"@"
|
||||
}
|
||||
}
|
||||
|
||||
private fun FlowContent.generate(expression: FirExpression) {
|
||||
exprType(expression.typeRef) {
|
||||
when (expression) {
|
||||
@@ -1105,6 +1114,11 @@ class HtmlFirDump internal constructor(private var linkResolver: FirLinkResolver
|
||||
+" = "
|
||||
generate(expression.expression)
|
||||
}
|
||||
is FirLambdaArgumentExpression -> {
|
||||
keyword("lambda")
|
||||
+" = "
|
||||
generate(expression.expression)
|
||||
}
|
||||
is FirTypeOperatorCall -> generate(expression)
|
||||
is FirOperatorCall -> generate(expression)
|
||||
else -> inlineUnsupported(expression)
|
||||
@@ -1190,6 +1204,7 @@ class HtmlFirDump internal constructor(private var linkResolver: FirLinkResolver
|
||||
private fun FlowContent.generate(anonymousFunction: FirAnonymousFunction, isStatement: Boolean) {
|
||||
generateMultiLineExpression(isStatement) {
|
||||
iline {
|
||||
generateLabel(anonymousFunction)
|
||||
keyword("fun ")
|
||||
generateReceiver(anonymousFunction.receiverTypeRef)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user