get_token ();
- while (tok.kind == TOK_ARROW || tok.kind == TOK_DOT || tok.kind == TOK_LBRACK) {
+ while (tok.kind == TOK_ARROW || tok.kind == TOK_DOT || tok.kind == TOK_LBRACK || (consume_inner_rparen && tok.kind == TOK_RPAREN)) {
+ if (consume_inner_rparen && tok.kind == TOK_RPAREN) {
+
+ get_token ();
+
+ consume_inner_rparen = 0;
+ continue;
+
+ }
+
if (tok.kind == TOK_LBRACK) {
int depth = 1;
}
- if (consume_inner_rparen && tok.kind == TOK_RPAREN) {
- get_token ();
- }
-
if (leading_stars > 0 && final_is_array) {
int remaining_stars = leading_stars - 1;