diff --git a/CHANGELOG.md b/CHANGELOG.md index 381ca6ac..0f91b71a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -16,6 +16,11 @@ Bug fixes * _Strict Variables Mode_ now checks for module namespaces within functions as well. * Module defined via `Engine::register_static_module` are now checked in _Strict Variables Mode_. +Reserved Symbols +---------------- + +* `?`, `?.` and `!.` are now reserved symbols. + Deprecated API's ---------------- diff --git a/src/tokenizer.rs b/src/tokenizer.rs index f75269f6..42e8a3b9 100644 --- a/src/tokenizer.rs +++ b/src/tokenizer.rs @@ -1992,6 +1992,7 @@ fn get_next_token_inner( return Some((Token::NotEqualsTo, start_pos)); } + ('!', '.') => return Some((Token::Reserved("!.".into()), start_pos)), ('!', ..) => return Some((Token::Bang, start_pos)), ('|', '|') => { @@ -2032,6 +2033,9 @@ fn get_next_token_inner( ('$', ..) => return Some((Token::Reserved("$".into()), start_pos)), + ('?', '.') => return Some((Token::Reserved("?.".into()), start_pos)), + ('?', ..) => return Some((Token::Reserved("?".into()), start_pos)), + (ch, ..) if ch.is_whitespace() => (), (ch, ..) => {