@@ -397,7 +397,7 @@ trait ExprBuilder {
397
397
dotBuilder.append(s """ ${stateLabel(state.state)} [label= """ ).append(" <" )
398
398
if (i != length - 1 ) {
399
399
val CaseDef (_, _, body) = state.mkHandlerCaseForState
400
- toHtmlLabel(stateLabel(state.state), showCode(body), dotBuilder)
400
+ toHtmlLabel(stateLabel(state.state), showCode(compactStateTransform.transform( body) ), dotBuilder)
401
401
} else {
402
402
toHtmlLabel(stateLabel(state.state), state.allStats.map(showCode(_)).mkString(" \n " ), dotBuilder)
403
403
}
@@ -506,18 +506,19 @@ trait ExprBuilder {
506
506
})), EmptyTree )
507
507
}
508
508
509
- private def compactStates (m : Match ): Tree = {
510
- val stateMemberSymbol = symLookup.stateMachineMember(name.state)
511
- val compactStateTransform = new Transformer {
512
- override def transform (tree : Tree ): Tree = tree match {
513
- case as @ Assign (lhs, Literal (Constant (i : Integer ))) if lhs.symbol == stateMemberSymbol =>
514
- val replacement = switchIds(i)
515
- treeCopy.Assign (tree, lhs, Literal (Constant (replacement)))
516
- case _ : Match | _ : CaseDef | _ : Block | _ : If =>
517
- super .transform(tree)
518
- case _ => tree
519
- }
509
+ private lazy val stateMemberSymbol = symLookup.stateMachineMember(name.state)
510
+ private val compactStateTransform = new Transformer {
511
+ override def transform (tree : Tree ): Tree = tree match {
512
+ case as @ Assign (lhs, Literal (Constant (i : Integer ))) if lhs.symbol == stateMemberSymbol =>
513
+ val replacement = switchIds(i)
514
+ treeCopy.Assign (tree, lhs, Literal (Constant (replacement)))
515
+ case _ : Match | _ : CaseDef | _ : Block | _ : If =>
516
+ super .transform(tree)
517
+ case _ => tree
520
518
}
519
+ }
520
+
521
+ private def compactStates (m : Match ): Tree = {
521
522
val cases1 = m.cases.flatMap {
522
523
case cd @ CaseDef (Literal (Constant (i : Integer )), EmptyTree , rhs) =>
523
524
val replacement = switchIds(i)
0 commit comments