From 211935d0802733cb85ccfb5ee7cb4cd73552d01c Mon Sep 17 00:00:00 2001 From: John Hodge Date: Sat, 27 Feb 2016 10:48:43 +0800 Subject: Parse/path - Unify pattern and expr path parsing --- src/parse/expr.cpp | 14 ++++---------- 1 file changed, 4 insertions(+), 10 deletions(-) (limited to 'src/parse/expr.cpp') diff --git a/src/parse/expr.cpp b/src/parse/expr.cpp index f49d3305..342c1bd0 100644 --- a/src/parse/expr.cpp +++ b/src/parse/expr.cpp @@ -1006,21 +1006,15 @@ ExprNodeP Parse_ExprVal(TokenStream& lex) } else { - GET_CHECK_TOK(tok, lex, TOK_DOUBLE_COLON); - path = Parse_Path(lex, false, PATH_GENERIC_EXPR); + lex.putback(tok); + path = Parse_Path(lex, PATH_GENERIC_EXPR); } } if(0) case TOK_RWORD_SUPER: { - GET_CHECK_TOK(tok, lex, TOK_DOUBLE_COLON); - unsigned int count = 1; - while( LOOK_AHEAD(lex) == TOK_RWORD_SUPER ) { - count += 1; - GET_TOK(tok, lex); - GET_CHECK_TOK(tok, lex, TOK_DOUBLE_COLON); - } - path = AST::Path(AST::Path::TagSuper(), count, Parse_PathNodes(lex, PATH_GENERIC_EXPR)); + lex.putback(tok); + path = Parse_Path(lex, PATH_GENERIC_EXPR); } if(0) case TOK_IDENT: -- cgit v1.2.3