@@ -397,7 +397,7 @@ trait ExprBuilder {
397397 dotBuilder.append(s """ ${stateLabel(state.state)} [label= """ ).append(" <" )
398398 if (i != length - 1 ) {
399399 val CaseDef (_, _, body) = state.mkHandlerCaseForState
400- toHtmlLabel(stateLabel(state.state), showCode(body), dotBuilder)
400+ toHtmlLabel(stateLabel(state.state), showCode(compactStateTransform.transform( body) ), dotBuilder)
401401 } else {
402402 toHtmlLabel(stateLabel(state.state), state.allStats.map(showCode(_)).mkString(" \n " ), dotBuilder)
403403 }
@@ -506,18 +506,19 @@ trait ExprBuilder {
506506 })), EmptyTree )
507507 }
508508
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
520518 }
519+ }
520+
521+ private def compactStates (m : Match ): Tree = {
521522 val cases1 = m.cases.flatMap {
522523 case cd @ CaseDef (Literal (Constant (i : Integer )), EmptyTree , rhs) =>
523524 val replacement = switchIds(i)
0 commit comments