Sarcasm.Unparsing.FormatYielder.GetLeftTerminalLeave C# (CSharp) Méthode

GetLeftTerminalLeave() private static méthode

/// If topLeft is non-calculated. ///
private static GetLeftTerminalLeave ( UnparsableAst self, FormatYielder formatYielder = null ) : UnparsableAst
self UnparsableAst
formatYielder FormatYielder
Résultat UnparsableAst
        private static UnparsableAst GetLeftTerminalLeave(UnparsableAst self, FormatYielder formatYielder = null)
        {
            // NOTE: topAncestorCacheForLeft will not be changed if we have no formatter, that's why we use topAncestorForLeft + the static vs. instance behavior
            UnparsableAst leftTerminalLeave;

            if (formatYielder == null || !UnparsableAst.IsCalculated(formatYielder.topAncestorCacheForLeft))
            {
                leftTerminalLeave = CalculateLeftTerminalLeave(self, formatYielder);

                if (formatYielder != null)
                    formatYielder.leftTerminalLeaveCache = leftTerminalLeave;
            }
            else
            {
                leftTerminalLeave = formatYielder.leftTerminalLeaveCache;
                //Unparser.tsUnparse.Debug(formatter.leftTerminalLeaveCache != CalculateLeftTerminalLeave(self, formatter),
                //    "!!!!!!!! should be equal for {0}, but leftTerminalLeaveCache is '{1}' and calculated value is '{2}'", self, formatter.leftTerminalLeaveCache, CalculateLeftTerminalLeave(self, formatter));
                Debug.Assert(formatYielder.leftTerminalLeaveCache == CalculateLeftTerminalLeave(self, formatYielder));
            }

            return leftTerminalLeave;
        }