| author | |
| committer | |
| log | 47a0e3ec5ecd58f47d8ef81909ecd61fbe777bfc |
| tree | 4c095d601d2692237b45c3140c100a5f08ffe5b9 |
| parent | 6d25e451231d611887468c48ae72af441797c712 |
| parent | 1111d3ad13b6e2af855b50c15bdbafcfc12b52c0 |
| signature |
Address bugs when //, /// or //! are immediately followed by EOF5 files changed, 14 insertions(+), 0 deletions(-)
src/tokenizer.cpp+8| ... | @@ -1494,9 +1494,17 @@ void tokenize(Buf *buf, Tokenization *out) { | ... | @@ -1494,9 +1494,17 @@ void tokenize(Buf *buf, Tokenization *out) { |
| 1494 | tokenize_error(&t, "unexpected EOF"); | 1494 | tokenize_error(&t, "unexpected EOF"); |
| 1495 | break; | 1495 | break; |
| 1496 | case TokenizeStateLineComment: | 1496 | case TokenizeStateLineComment: |
| 1497 | break; | ||
| 1497 | case TokenizeStateSawSlash2: | 1498 | case TokenizeStateSawSlash2: |
| 1499 | cancel_token(&t); | ||
| 1500 | break; | ||
| 1498 | case TokenizeStateSawSlash3: | 1501 | case TokenizeStateSawSlash3: |
| 1502 | set_token_id(&t, t.cur_tok, TokenIdDocComment); | ||
| 1503 | end_token(&t); | ||
| 1504 | break; | ||
| 1499 | case TokenizeStateSawSlashBang: | 1505 | case TokenizeStateSawSlashBang: |
| 1506 | set_token_id(&t, t.cur_tok, TokenIdContainerDocComment); | ||
| 1507 | end_token(&t); | ||
| 1500 | break; | 1508 | break; |
| 1501 | } | 1509 | } |
| 1502 | if (t.state != TokenizeStateError) { | 1510 | if (t.state != TokenizeStateError) { |
test/stage1/behavior.zig+3| ... | @@ -41,6 +41,9 @@ comptime { | ... | @@ -41,6 +41,9 @@ comptime { |
| 41 | _ = @import("behavior/bugs/3586.zig"); | 41 | _ = @import("behavior/bugs/3586.zig"); |
| 42 | _ = @import("behavior/bugs/3742.zig"); | 42 | _ = @import("behavior/bugs/3742.zig"); |
| 43 | _ = @import("behavior/bugs/4560.zig"); | 43 | _ = @import("behavior/bugs/4560.zig"); |
| 44 | _ = @import("behavior/bugs/4769_a.zig"); | ||
| 45 | _ = @import("behavior/bugs/4769_b.zig"); | ||
| 46 | _ = @import("behavior/bugs/4769_c.zig"); | ||
| 44 | _ = @import("behavior/bugs/394.zig"); | 47 | _ = @import("behavior/bugs/394.zig"); |
| 45 | _ = @import("behavior/bugs/421.zig"); | 48 | _ = @import("behavior/bugs/421.zig"); |
| 46 | _ = @import("behavior/bugs/529.zig"); | 49 | _ = @import("behavior/bugs/529.zig"); |
test/stage1/behavior/bugs/4769_a.zig created+1| ... | @@ -0,0 +1 @@ | ||
| 1 | // | ||
| \ No newline at end of file | |||
test/stage1/behavior/bugs/4769_b.zig created+1| ... | @@ -0,0 +1 @@ | ||
| 1 | //! | ||
| \ No newline at end of file | |||
test/stage1/behavior/bugs/4769_c.zig created+1| ... | @@ -0,0 +1 @@ | ||
| 1 | /// | ||
| \ No newline at end of file | |||