diff options
| author | Nobuyoshi Nakada <nobu@ruby-lang.org> | 2024-01-25 14:33:53 +0900 |
|---|---|---|
| committer | Nobuyoshi Nakada <nobu@ruby-lang.org> | 2024-01-25 15:06:14 +0900 |
| commit | ff55d6b8e1e4c22a80f6bbf882c5ae4a07a9eb45 (patch) | |
| tree | 886d1fcd33aa01b79f5794d36e4c5d1dfbf8db28 | |
| parent | 2b9719ea30fe4227c082e3cc7e03803ff018e67f (diff) | |
Use `token_seen` and simplify `comment_at_top`
Instead of scanning before the current comment.
| -rw-r--r-- | parse.y | 11 |
1 files changed, 3 insertions, 8 deletions
@@ -9630,16 +9630,11 @@ parser_set_encode(struct parser_params *p, const char *name) #endif } -static int +static bool comment_at_top(struct parser_params *p) { - const char *ptr = p->lex.pbeg, *ptr_end = p->lex.pcur - 1; - if (p->line_count != (p->has_shebang ? 2 : 1)) return 0; - while (ptr < ptr_end) { - if (!ISSPACE(*ptr)) return 0; - ptr++; - } - return 1; + if (p->token_seen) return false; + return (p->line_count == (p->has_shebang ? 2 : 1)); } typedef long (*rb_magic_comment_length_t)(struct parser_params *p, const char *name, long len); |
