protected virtual string ToString(string constructName, HashSet <CFGBlockLogicalConstruct> printedCFGBlocks, LogicalFlowBuilderContext context) { V_0 = new StringBuilder(); dummyVar0 = V_0.AppendLine(constructName); dummyVar1 = V_0.AppendLine("{"); V_1 = this.GetSortedArrayFromCollection <CFGBlockLogicalConstruct>(this.get_CFGBlocks()); V_2 = new Stack <CFGBlockLogicalConstruct>(); V_4 = 0; while (V_4 < (int)V_1.Length) { V_5 = V_1[V_4] as CFGBlockLogicalConstruct; if (!printedCFGBlocks.Contains(V_5)) { V_2.Push(V_5); while (V_2.get_Count() > 0) { V_6 = V_2.Pop(); if (printedCFGBlocks.Contains(V_6) || !LogicalFlowUtilities.TryGetParentConstructWithGivenParent(V_6, this, out V_7)) { continue; } stackVariable48 = ((LogicalConstructBase)V_7).ToString(V_7.GetType().get_Name(), printedCFGBlocks, context); stackVariable50 = new String[1]; stackVariable50[0] = Environment.get_NewLine(); V_9 = stackVariable48.Split(stackVariable50, 1); V_10 = 0; while (V_10 < (int)V_9.Length) { V_11 = V_9[V_10]; dummyVar2 = V_0.AppendLine(String.Format("\t{0}", V_11)); V_10 = V_10 + 1; } V_8 = this.GetSortedArrayFromCollection <ISingleEntrySubGraph>(V_7.get_SameParentSuccessors()); V_12 = (int)V_8.Length - 1; while (V_12 >= 0) { if (!printedCFGBlocks.Contains(V_8[V_12].get_FirstBlock())) { V_2.Push(V_8[V_12].get_FirstBlock()); } V_12 = V_12 - 1; } } } V_4 = V_4 + 1; } V_3 = String.Format("\tFollowNode: {0}", this.NodeILOffset(context, this.get_CFGFollowNode())); dummyVar3 = V_0.AppendLine(V_3); dummyVar4 = V_0.AppendLine("}"); return(V_0.ToString()); }