GraphView.GraphViewParser.ParseMultiPartIdentifier C# (CSharp) Method

ParseMultiPartIdentifier() private static method

private static ParseMultiPartIdentifier ( IList tokens, int &nextToken, WMultiPartIdentifier &result, int &farestError ) : bool
tokens IList
nextToken int
result WMultiPartIdentifier
farestError int
return bool
        private static bool ParseMultiPartIdentifier(
            IList<TSqlParserToken> tokens,
            ref int nextToken,
            ref WMultiPartIdentifier result,
            ref int farestError)
        {
            var firstToken = nextToken;
            var currentToken = nextToken;
            var identifiers = new List<Identifier>();
            Identifier identifier = null;
            if (!ParseIdentifier(tokens, ref currentToken, ref identifier, ref farestError))
                return false;
            identifiers.Add(identifier);
            while (ReadToken(tokens, ".", ref currentToken, ref farestError))
            {
                ParseIdentifier(tokens, ref currentToken, ref identifier, ref farestError);
                identifiers.Add(identifier);
            }
            result = new WMultiPartIdentifier
            {
                Identifiers = identifiers,
                FirstTokenIndex = firstToken,
                LastTokenIndex = currentToken - 1,
            };
            nextToken = currentToken;
            return true;
        }