summaryrefslogtreecommitdiff
path: root/src/parse/expr.cpp
diff options
context:
space:
mode:
authorJohn Hodge <tpg@mutabah.net>2016-02-27 10:48:43 +0800
committerJohn Hodge <tpg@mutabah.net>2016-02-27 10:48:43 +0800
commit211935d0802733cb85ccfb5ee7cb4cd73552d01c (patch)
tree76d7b824f2e022e97a8e0bbb3cdad6085b744050 /src/parse/expr.cpp
parent51841b63537145446d5b989ae71f563eaed69200 (diff)
downloadmrust-211935d0802733cb85ccfb5ee7cb4cd73552d01c.tar.gz
Parse/path - Unify pattern and expr path parsing
Diffstat (limited to 'src/parse/expr.cpp')
-rw-r--r--src/parse/expr.cpp14
1 files changed, 4 insertions, 10 deletions
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: