Alsing.SourceCode.SyntaxDocumentParsers.DefaultParser.IsSameButDifferent C# (CSharp) Метод

IsSameButDifferent() приватный Метод

private IsSameButDifferent ( int RowIndex, Span oldStartSpan ) : bool
RowIndex int
oldStartSpan Span
Результат bool
        private bool IsSameButDifferent(int RowIndex, Span oldStartSpan)
        {
            //is this the last row ? , if so , bailout
            if (RowIndex >= Document.Count - 1)
                return false;

            Row row = Document[RowIndex];
            Span seg = row.endSpan;
            Span oldEndSpan = Document[RowIndex + 1].startSpan;
            Span oseg = oldEndSpan;

            bool diff = false;

            while (seg != null)
            {
                if (oseg == null)
                {
                    diff = true;
                    break;
                }

                //Id1+=seg.spanDefinition.GetHashCode ().ToString (System.Globalization.CultureInfo.InvariantCulture);
                if (seg.spanDefinition != oseg.spanDefinition)
                {
                    diff = true;
                    break;
                }

                if (seg.Parent != oseg.Parent)
                {
                    diff = true;
                    break;
                }

                seg = seg.Parent;
                oseg = oseg.Parent;
            }


            if (diff || row.startSpan != oldStartSpan)
                return false;

            return true;
        }