CSLE.CLS_Expression_Compiler.GetLongName C# (CSharp) Метод

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

private GetLongName ( IList tokens, int pos ) : int
tokens IList
pos int
Результат int
        int GetLongName(IList<Token> tokens, int pos)
        {
            int npos = -1;
            int nstate = 0;//type name
            for (int i = pos; i < tokens.Count; i += 2)
            {
                if (nstate == 0 && tokens[i].type == TokenType.TYPE && i + 1 < tokens.Count)
                {
                    if (tokens[i + 1].type == TokenType.PUNCTUATION && tokens[i + 1].text == ".")
                    {
                    }
                    else
                    {
                        npos = i;
                    }
                }
                else if (tokens[i].type == TokenType.IDENTIFIER && i + 1 < tokens.Count)
                {
                    if (tokens[i + 1].type == TokenType.PUNCTUATION && tokens[i + 1].text == ".")
                    {
                    }
                    else
                    {
                        npos = i;
                    }
                }
                else
                {
                    break;
                }

            }

            if (npos < pos || tokens[npos].type != TokenType.IDENTIFIER) return -1;
            return npos;
        }
        //得到完整的表达式