[ruby/prism] Warn on frozen_string_literal after tokens
https://github.com/ruby/prism/commit/edece87801
This commit is contained in:
parent
8514785e94
commit
548203eaf2
@ -245,6 +245,7 @@ warnings:
|
||||
- DUPLICATED_HASH_KEY
|
||||
- DUPLICATED_WHEN_CLAUSE
|
||||
- FLOAT_OUT_OF_RANGE
|
||||
- IGNORED_FROZEN_STRING_LITERAL
|
||||
- INTEGER_IN_FLIP_FLOP
|
||||
- INVALID_CHARACTER
|
||||
- INVALID_NUMBERED_REFERENCE
|
||||
|
@ -7391,8 +7391,10 @@ parser_lex_magic_comment(pm_parser_t *parser, bool semantic_token_seen) {
|
||||
|
||||
// We only want to handle frozen string literal comments if it's before
|
||||
// any semantic tokens have been seen.
|
||||
if (!semantic_token_seen) {
|
||||
if (key_length == 21 && pm_strncasecmp(key_source, (const uint8_t *) "frozen_string_literal", 21) == 0) {
|
||||
if (key_length == 21 && pm_strncasecmp(key_source, (const uint8_t *) "frozen_string_literal", 21) == 0) {
|
||||
if (semantic_token_seen) {
|
||||
pm_parser_warn_token(parser, &parser->current, PM_WARN_IGNORED_FROZEN_STRING_LITERAL);
|
||||
} else {
|
||||
parser_lex_magic_comment_frozen_string_literal_value(parser, value_start, value_end);
|
||||
}
|
||||
}
|
||||
|
@ -325,6 +325,7 @@ static const pm_diagnostic_data_t diagnostic_messages[PM_DIAGNOSTIC_ID_MAX] = {
|
||||
[PM_WARN_EQUAL_IN_CONDITIONAL] = { "found '= literal' in conditional, should be ==", PM_WARNING_LEVEL_DEFAULT },
|
||||
[PM_WARN_END_IN_METHOD] = { "END in method; use at_exit", PM_WARNING_LEVEL_DEFAULT },
|
||||
[PM_WARN_FLOAT_OUT_OF_RANGE] = { "Float %.*s%s out of range", PM_WARNING_LEVEL_VERBOSE },
|
||||
[PM_WARN_IGNORED_FROZEN_STRING_LITERAL] = { "'frozen_string_literal' is ignored after any tokens", PM_WARNING_LEVEL_VERBOSE },
|
||||
[PM_WARN_INTEGER_IN_FLIP_FLOP] = { "integer literal in flip-flop", PM_WARNING_LEVEL_DEFAULT },
|
||||
[PM_WARN_INVALID_CHARACTER] = { "invalid character syntax; use %s%s%s", PM_WARNING_LEVEL_DEFAULT },
|
||||
[PM_WARN_INVALID_SHAREABLE_CONSTANT_VALUE] = { "invalid value for shareable_constant_value: %.*s", PM_WARNING_LEVEL_VERBOSE },
|
||||
|
Loading…
x
Reference in New Issue
Block a user