aboutsummaryrefslogtreecommitdiff
path: root/src/parser.cpp
diff options
context:
space:
mode:
authorDragos Popescu <31741257+DragosPopse@users.noreply.github.com>2023-03-22 12:08:45 +0100
committerGitHub <noreply@github.com>2023-03-22 12:08:45 +0100
commit144d034475cd52e969f030d5b4b0864234445e6f (patch)
treebef548b1eb11640f9ae6671ae1cee4cabfba8e90 /src/parser.cpp
parentef3d8bdc428a8248ff108f3a4d5ba0fc866ca9e3 (diff)
parente58915e12fdfc499b10adec4f3f0a61c7aa821ea (diff)
Merge branch 'odin-lang:master' into master
Diffstat (limited to 'src/parser.cpp')
-rw-r--r--src/parser.cpp15
1 files changed, 13 insertions, 2 deletions
diff --git a/src/parser.cpp b/src/parser.cpp
index 0d9fad8c7..07afc56d6 100644
--- a/src/parser.cpp
+++ b/src/parser.cpp
@@ -1434,7 +1434,7 @@ gb_internal Token expect_closing_brace_of_field_list(AstFile *f) {
return token;
}
bool ok = true;
- if (!f->allow_newline) {
+ if (f->allow_newline) {
ok = !skip_possible_newline(f);
}
if (ok && allow_token(f, Token_Semicolon)) {
@@ -3191,6 +3191,15 @@ gb_internal Ast *parse_foreign_block(AstFile *f, Token token) {
return decl;
}
+gb_internal void print_comment_group(CommentGroup *group) {
+ if (group) {
+ for (Token const &token : group->list) {
+ gb_printf_err("%.*s\n", LIT(token.string));
+ }
+ gb_printf_err("\n");
+ }
+}
+
gb_internal Ast *parse_value_decl(AstFile *f, Array<Ast *> names, CommentGroup *docs) {
bool is_mutable = true;
@@ -3232,6 +3241,8 @@ gb_internal Ast *parse_value_decl(AstFile *f, Array<Ast *> names, CommentGroup *
values.allocator = heap_allocator();
}
+ CommentGroup *end_comment = f->lead_comment;
+
if (f->expr_level >= 0) {
if (f->curr_token.kind == Token_CloseBrace &&
f->curr_token.pos.line == f->prev_token.pos.line) {
@@ -3252,7 +3263,7 @@ gb_internal Ast *parse_value_decl(AstFile *f, Array<Ast *> names, CommentGroup *
}
}
- return ast_value_decl(f, names, type, values, is_mutable, docs, f->line_comment);
+ return ast_value_decl(f, names, type, values, is_mutable, docs, end_comment);
}
gb_internal Ast *parse_simple_stmt(AstFile *f, u32 flags) {