Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Always emit() nodes with zero children, don't bump() them #371

Merged
merged 1 commit into from
Oct 22, 2023

Conversation

c42f
Copy link
Member

@c42f c42f commented Oct 21, 2023

Cleanup weird cases where the parser would bump() interior nodes into the output stream rather than emit()ing them. Emitting all interior nodes explicitly means we can remove some special cases which occurred during tree building.

As part of this, fix some errors converting broken expressions like x var"y" from SyntaxNode to Expr.

Fixes #330

Cleanup weird cases where the parser would `bump()` interior nodes into
the output stream rather than `emit()`ing them. Emitting all interior
nodes explicitly means we can remove some special cases which occurred
during tree building.

As part of this, fix some errors converting broken expressions like
`x var"y"` from `SyntaxNode` to `Expr`.
@codecov
Copy link

codecov bot commented Oct 21, 2023

Codecov Report

Merging #371 (295b422) into main (96137ed) will increase coverage by 0.02%.
The diff coverage is 100.00%.

@@            Coverage Diff             @@
##             main     #371      +/-   ##
==========================================
+ Coverage   96.56%   96.58%   +0.02%     
==========================================
  Files          14       14              
  Lines        4161     4160       -1     
==========================================
  Hits         4018     4018              
+ Misses        143      142       -1     
Files Coverage Δ
src/expr.jl 99.69% <100.00%> (-0.01%) ⬇️
src/literal_parsing.jl 98.78% <100.00%> (+0.42%) ⬆️
src/parse_stream.jl 93.87% <100.00%> (-0.02%) ⬇️
src/parser.jl 98.10% <100.00%> (+0.06%) ⬆️
src/syntax_tree.jl 95.27% <100.00%> (-0.10%) ⬇️

... and 1 file with indirect coverage changes

@c42f c42f merged commit 1b048aa into main Oct 22, 2023
32 checks passed
@c42f c42f deleted the caf/cleanup-interior-nodes branch October 22, 2023 06:28
c42f added a commit that referenced this pull request Nov 12, 2023
Cleanup weird cases where the parser would `bump()` interior nodes into
the output stream rather than `emit()`ing them. Emitting all interior
nodes explicitly means we can remove some special cases which occurred
during tree building.

As part of this, fix some errors converting broken expressions like
`x var"y"` from `SyntaxNode` to `Expr`.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Internal error parsing malformed expression
1 participant