summaryrefslogtreecommitdiff
path: root/parse.y
diff options
context:
space:
mode:
authorNobuyoshi Nakada <nobu@ruby-lang.org>2024-01-25 14:33:53 +0900
committerNobuyoshi Nakada <nobu@ruby-lang.org>2024-01-25 15:06:14 +0900
commitff55d6b8e1e4c22a80f6bbf882c5ae4a07a9eb45 (patch)
tree886d1fcd33aa01b79f5794d36e4c5d1dfbf8db28 /parse.y
parent2b9719ea30fe4227c082e3cc7e03803ff018e67f (diff)
Use `token_seen` and simplify `comment_at_top`
Instead of scanning before the current comment.
Diffstat (limited to 'parse.y')
-rw-r--r--parse.y11
1 files changed, 3 insertions, 8 deletions
diff --git a/parse.y b/parse.y
index db7154446d..878869b359 100644
--- a/parse.y
+++ b/parse.y
@@ -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);