diff options
Diffstat (limited to 'src/macro_rules')
-rw-r--r-- | src/macro_rules/mod.cpp | 21 |
1 files changed, 18 insertions, 3 deletions
diff --git a/src/macro_rules/mod.cpp b/src/macro_rules/mod.cpp index effa03cb..095763a8 100644 --- a/src/macro_rules/mod.cpp +++ b/src/macro_rules/mod.cpp @@ -68,14 +68,28 @@ bool is_token_expr(eTokenType tt) { return true;
switch( tt )
{
+ // Leading unary operators
case TOK_AMP: // Borrow
case TOK_STAR: // Deref
- case TOK_PAREN_OPEN: // Parenthesised
- case TOK_SQUARE_OPEN: // Array
- case TOK_MACRO:
case TOK_DASH: // Negate
case TOK_EXCLAM: // Invert
case TOK_RWORD_BOX: // Box
+ // Composite values
+ case TOK_MACRO:
+ case TOK_PAREN_OPEN: // Parenthesised
+ case TOK_SQUARE_OPEN: // Array
+
+ // Flow
+ case TOK_RWORD_RETURN:
+ case TOK_RWORD_BREAK:
+ case TOK_RWORD_CONTINUE:
+
+ // Blocks
+ case TOK_RWORD_IF:
+ case TOK_RWORD_FOR:
+ case TOK_RWORD_WHILE:
+ case TOK_RWORD_LOOP:
+ case TOK_RWORD_UNSAFE:
// Closures
case TOK_RWORD_MOVE:
@@ -88,6 +102,7 @@ bool is_token_expr(eTokenType tt) { case TOK_STRING:
case TOK_RWORD_TRUE:
case TOK_RWORD_FALSE:
+
case TOK_INTERPOLATED_EXPR:
return true;
default:
|