protected override string ToString(string constructName, HashSet <CFGBlockLogicalConstruct> printedBlocks, LogicalFlowBuilderContext context) { StringBuilder sb = new StringBuilder(); sb.AppendLine("ConditionLogicalConstruct"); sb.AppendLine("{"); sb.Append(string.Format("\t{0}: ", NodeILOffset(context, this.FirstBlock))); sb.AppendLine(ConditionExpression.ToCodeString()); sb.AppendLine(string.Format("\tTrueSuccessorBlock: {0}", NodeILOffset(context, TrueCFGSuccessor))); sb.AppendLine(string.Format("\tFalseSuccessorBlock: {0}", NodeILOffset(context, FalseCFGSuccessor))); string followNodeString = string.Format("\tFollowNode: {0}", NodeILOffset(context, CFGFollowNode)); sb.AppendLine(followNodeString); sb.AppendLine("}"); printedBlocks.UnionWith(this.CFGBlocks); return(sb.ToString()); }