@@ -378,13 +378,15 @@ trait ExprBuilder {
378
378
def toDot : String = {
379
379
val states = asyncStates
380
380
def toHtmlLabel (label : String , preText : String , builder : StringBuilder ): Unit = {
381
+ val br = " <br align=\" left\" />"
381
382
builder.append(" <b>" ).append(label).append(" </b>" ).append(" <br/>" )
382
383
builder.append(" <font face=\" Courier\" >" )
383
384
preText.split(" \n " ).foreach {
384
385
(line : String ) =>
385
- builder.append(" <br/> " )
386
- builder.append(line.replaceAllLiterally(" \" " , " "" ).replaceAllLiterally(" <" , " <" ).replaceAllLiterally(" >" , " >" ))
386
+ builder.append(br )
387
+ builder.append(line.replaceAllLiterally(" \" " , " "" ).replaceAllLiterally(" <" , " <" ).replaceAllLiterally(" >" , " >" ).replaceAllLiterally( " " , " " ) )
387
388
}
389
+ builder.append(br)
388
390
builder.append(" </font>" )
389
391
}
390
392
val dotBuilder = new StringBuilder ()
@@ -395,11 +397,17 @@ trait ExprBuilder {
395
397
val length = asyncStates.size
396
398
for ((state, i) <- asyncStates.zipWithIndex) {
397
399
dotBuilder.append(s """ ${stateLabel(state.state)} [label= """ ).append(" <" )
400
+ def show (t : Tree ): String = {
401
+ (t match {
402
+ case Block (stats, expr) => stats ::: expr :: Nil
403
+ case t => t :: Nil
404
+ }).iterator.map(t => showCode(t)).mkString(" \n " )
405
+ }
398
406
if (i != length - 1 ) {
399
407
val CaseDef (_, _, body) = state.mkHandlerCaseForState
400
- toHtmlLabel(stateLabel(state.state), showCode (compactStateTransform.transform(body)), dotBuilder)
408
+ toHtmlLabel(stateLabel(state.state), show (compactStateTransform.transform(body)), dotBuilder)
401
409
} else {
402
- toHtmlLabel(stateLabel(state.state), state.allStats.map(showCode (_)).mkString(" \n " ), dotBuilder)
410
+ toHtmlLabel(stateLabel(state.state), state.allStats.map(show (_)).mkString(" \n " ), dotBuilder)
403
411
}
404
412
dotBuilder.append(" > ]\n " )
405
413
}
0 commit comments