diff options
author | Jukka-Pekka Iivonen <jp0409@jippii.fi> | 2010-04-28 14:01:14 +0200 |
---|---|---|
committer | Jürg Billeter <j@bitron.ch> | 2010-04-28 14:01:14 +0200 |
commit | 6c514337b6c696438ecbd14d1d1fbebf2bbdc036 (patch) | |
tree | abebd5514b83b6fe09abc6e484ff50f731711e1f /vala/valascanner.vala | |
parent | 4ba4d5109e7255b29cf37fa9f3c08eb7dc0b096e (diff) | |
download | vala-6c514337b6c696438ecbd14d1d1fbebf2bbdc036.tar.gz |
Support regular expression literals after more tokens
Fixes bug 615558.
Diffstat (limited to 'vala/valascanner.vala')
-rw-r--r-- | vala/valascanner.vala | 26 |
1 files changed, 23 insertions, 3 deletions
diff --git a/vala/valascanner.vala b/vala/valascanner.vala index 3a05b5c37..420530ccb 100644 --- a/vala/valascanner.vala +++ b/vala/valascanner.vala @@ -1016,18 +1016,38 @@ public class Vala.Scanner { } break; case '/': - if (previous == TokenType.OPEN_PARENS || previous == TokenType.ASSIGN || previous == TokenType.OP_COALESCING - || previous == TokenType.COMMA || previous == TokenType.RETURN || previous == TokenType.OPEN_BRACE) { + switch (previous) { + case TokenType.ASSIGN: + case TokenType.COMMA: + case TokenType.MINUS: + case TokenType.OP_AND: + case TokenType.OP_COALESCING: + case TokenType.OP_DEC: + case TokenType.OP_EQ: + case TokenType.OP_GE: + case TokenType.OP_GT: + case TokenType.OP_INC: + case TokenType.OP_LE: + case TokenType.OP_LT: + case TokenType.OP_NE: + case TokenType.OP_NEG: + case TokenType.OP_OR: + case TokenType.OPEN_BRACE: + case TokenType.OPEN_PARENS: + case TokenType.PLUS: + case TokenType.RETURN: type = TokenType.OPEN_REGEX_LITERAL; state_stack += State.REGEX_LITERAL; current++; - } else { + break; + default: type = TokenType.DIV; current++; if (current < end && current[0] == '=') { type = TokenType.ASSIGN_DIV; current++; } + break; } break; case '%': |