Skip to content

Commit eb9519f

Browse files
authored
Merge pull request #213 from JuliaIO/td-trailing-semicolons
Allow trailing semicolon after message definition
2 parents e54fec6 + 46fee68 commit eb9519f

File tree

2 files changed

+10
-0
lines changed

2 files changed

+10
-0
lines changed

src/parsing/proto_types.jl

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -369,6 +369,7 @@ function _parse_message_body(ps::ParserState, name, definitions, name_prefix)
369369
push!(fields, group)
370370
definitions[group.type.name] = group.type
371371
elseif accept(ps, Tokens.RBRACE)
372+
accept(ps, Tokens.SEMICOLON)
372373
break
373374
else
374375
push!(fields, parse_field(ps))

test/test_parser.jl

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -72,6 +72,15 @@ end
7272
@test p.definitions["A"].element_values == [0]
7373
end
7474

75+
@testset "Trailing semicolon is fine" begin
76+
s, p, ctx = translate_simple_proto("message A {}; enum B { b = 0; };")
77+
78+
@test haskey(p.definitions, "A")
79+
@test p.definitions["A"] isa Parsers.MessageType
80+
@test haskey(p.definitions, "B")
81+
@test p.definitions["B"] isa Parsers.EnumType
82+
end
83+
7584
@testset "Single enum with `allow_alias = true` proto file" begin
7685
s, p, ctx = translate_simple_proto("enum A { option allow_alias = true; a = 0; b = 0; }")
7786

0 commit comments

Comments
 (0)