CFGLib.Parsers.Forests.ForestInternal.ToStringHelper C# (CSharp) Method

ToStringHelper() private method

private ToStringHelper ( int level, HashSet visited ) : string
level int
visited HashSet
return string
		internal override string ToStringHelper(int level, HashSet<InteriorNode> visited) {
			var retval = "";

			retval += string.Format("{0}\n", ToStringSelf()).Indent(2 * level);

			if (visited.Contains(_node)) {
				retval += "Already Visited".Indent(2 * level);
				return retval;
			}
			visited.Add(_node);
			// foreach (var option in Options) {
			for (var i = 0; i < Options.Count; i++) {
				var option = Options[i];
				if (Options.Count > 1) {
					retval += string.Format("Alternative {0}:\n", i).Indent(2 * level);
				}
				retval += option.ToStringHelper(level + 1, visited);
			}
			
			//int leafIndex = 0;
			//int symbolIndex = 0;
			//for (int i = 0; i < _localSentence.Count; i++) {
			//	var word = _localSentence[i];
			//	if (word.IsTerminal) {
			//		var leaf = LeafChildren[leafIndex];
			//		leafIndex++;
			//		retval += leaf.ToStringHelper(level);
			//	} else {
			//		var symbol = SymbolChildren[symbolIndex];
			//		symbolIndex++;
			//		retval += symbol.ToStringHelper(level);
			//	}
			//}

			return retval;
		}