private static CSharpType ParseOutArraySuffix(CSharpType current, TokenStream tokens) { while (tokens.AreNext("[", "]")) { Token openBracket = tokens.Pop(); tokens.Pop(); Token firstToken = current.FirstToken; current = new CSharpType(new Token[] { openBracket }, new CSharpType[] { current }); current.FirstToken = firstToken; } return(current); }
private AType ParseImpl(TokenStream tokens) { AType rootType = this.ParseImplRoot(tokens); while (rootType != null && tokens.AreNext("[", "]")) { Token arrayToken = tokens.Pop(); tokens.Pop(); Token firstToken = rootType.FirstToken; SIMPLE_TOKEN_LIST[0] = arrayToken; SIMPLE_TYPE_LIST[0] = rootType; rootType = new AType(SIMPLE_TOKEN_LIST, SIMPLE_TYPE_LIST); rootType.FirstToken = firstToken; } return rootType; }