Beispiel #1
0
        public static bool TryCreate(SyntaxList <TNode> list, TextSpan span, out SyntaxListSelection <TNode> selectedNodes)
        {
            if (list.Any())
            {
                IndexPair indexes = GetIndexes(list, span);

                if (indexes.IsValid)
                {
                    selectedNodes = new SyntaxListSelection <TNode>(list, span, indexes.StartIndex, indexes.EndIndex);
                    return(true);
                }
            }

            selectedNodes = null;
            return(false);
        }
Beispiel #2
0
        public static bool TryCreate(SyntaxList <TNode> list, TextSpan span, out SyntaxListSelection <TNode> selection)
        {
            selection = null;

            if (!list.Any())
            {
                return(false);
            }

            if (span.IsEmpty)
            {
                return(false);
            }

            (int startIndex, int endIndex) = GetIndexes(list, span);

            if (startIndex == -1)
            {
                return(false);
            }

            selection = new SyntaxListSelection <TNode>(list, span, startIndex, endIndex);
            return(true);
        }
 internal static bool TryCreate(SyntaxList <TNode> list, TextSpan span, int minCount, int maxCount, out SyntaxListSelection <TNode> selection)
 {
     selection = Create(list, span, minCount, maxCount);
     return(selection != null);
 }
 /// <summary>
 /// Creates a new <see cref="SyntaxListSelection{TNode}"/> based on the specified list and span.
 /// </summary>
 /// <param name="list"></param>
 /// <param name="span"></param>
 /// <param name="selection"></param>
 /// <returns>True if the specified span contains at least one node; otherwise, false.</returns>
 public static bool TryCreate(SyntaxList <TNode> list, TextSpan span, out SyntaxListSelection <TNode> selection)
 {
     selection = Create(list, span, 1, int.MaxValue);
     return(selection != null);
 }
 internal EnumeratorImpl(SyntaxListSelection <TNode> selection)
 {
     _en = new Enumerator(selection);
 }
 internal Enumerator(SyntaxListSelection <TNode> selection)
 {
     _selection = selection;
     _index     = -1;
 }