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);
        }
Exemplo n.º 2
0
 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);
 }