public override object Transitive(TransitiveEqualityExplanation target, Tuple <InfoPanelContent, PrettyPrintFormat, bool, int> arg) { var content = arg.Item1; var format = arg.Item2; var shouldPrintSource = arg.Item3; var indent = arg.Item4; var indentString = getIndentString(format, indent); for (var i = 0; i < target.equalities.Length; ++i) { visit(target.equalities[i], Tuple.Create(content, format, i == 0 && shouldPrintSource, indent)); } if (target.equalities.Length == 0) { if (shouldPrintSource) { content.Append(indentString); target.source.PrettyPrint(content, format, indent); } content.switchToDefaultFormat(); content.Append($"\n{indentString}=\n{indentString}"); target.target.PrettyPrint(content, format, indent); } return(null); }
public override object Transitive(TransitiveEqualityExplanation target, Action <Term> arg) { arg(target.source); arg(target.target); foreach (var eq in target.equalities) { visit(eq, arg); } return(null); }