Commit fd9359b
committed
PoC: Initial pass of recovery from no matches
This relies on using almost entirely skipped parse rules to stop at
terminators such ';' in the contract members list. In the future,
we'd need to expand the recovery boundary token set and handle that
appropriately ourselves.1 parent 5e0415e commit fd9359b
75 files changed
Lines changed: 1386 additions & 613 deletions
File tree
- crates
- codegen/parser/runtime/src
- support
- templates
- solidity
- outputs
- cargo/crate/src/generated
- support
- npm/crate/src/generated
- support
- testing/snapshots/cst_output
- Block/unchecked/generated
- BreakStatement/error_recovery/generated
- ContractDefinition
- function_multiple_delimiters/generated
- member_constructor_definition/generated
- member_error_definition/generated
- member_fallback_function_definition/generated
- member_receive_function_definition/generated
- member_unnamed_function_definition/generated
- member_unnamed_function_with_attrs_definition/generated
- member_user_defined_value_type_definition/generated
- missing_field_type/generated
- recovery_testbed/generated
- ContractMembersList/mismatched_delimiter/generated
- EventDefinition/transfer/generated
- FunctionDefinition/from_contextual_keyword/generated
- MappingType
- named_both/generated
- named_key/generated
- named_value/generated
- stray_delimiter/generated
- ReturnStatement/invalid_terminator/generated
- SourceUnit
- SafeMath/generated
- everything/generated
- using_directive/generated
- StatementsList/invalid_termination/generated
- Statement/throw/generated
- UsingDirective
- destructure_multiple/generated
- user_defined_operator/generated
- VariableDeclarationStatement/var/generated
- YulBlock/ignore_unknown_delim/generated
Some content is hidden
Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
19 | 19 | | |
20 | 20 | | |
21 | 21 | | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
22 | 28 | | |
23 | 29 | | |
24 | 30 | | |
| |||
Lines changed: 18 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
54 | 54 | | |
55 | 55 | | |
56 | 56 | | |
| 57 | + | |
| 58 | + | |
| 59 | + | |
| 60 | + | |
| 61 | + | |
| 62 | + | |
| 63 | + | |
| 64 | + | |
| 65 | + | |
| 66 | + | |
| 67 | + | |
| 68 | + | |
| 69 | + | |
| 70 | + | |
| 71 | + | |
| 72 | + | |
| 73 | + | |
| 74 | + | |
57 | 75 | | |
58 | 76 | | |
59 | 77 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
47 | 47 | | |
48 | 48 | | |
49 | 49 | | |
50 | | - | |
51 | | - | |
| 50 | + | |
| 51 | + | |
| 52 | + | |
| 53 | + | |
| 54 | + | |
| 55 | + | |
| 56 | + | |
| 57 | + | |
| 58 | + | |
| 59 | + | |
52 | 60 | | |
53 | | - | |
| 61 | + | |
54 | 62 | | |
55 | 63 | | |
56 | 64 | | |
| |||
69 | 77 | | |
70 | 78 | | |
71 | 79 | | |
| 80 | + | |
| 81 | + | |
| 82 | + | |
| 83 | + | |
| 84 | + | |
| 85 | + | |
| 86 | + | |
| 87 | + | |
| 88 | + | |
72 | 89 | | |
73 | | - | |
| 90 | + | |
| 91 | + | |
74 | 92 | | |
75 | 93 | | |
76 | 94 | | |
77 | 95 | | |
78 | 96 | | |
79 | 97 | | |
80 | | - | |
81 | 98 | | |
82 | 99 | | |
83 | 100 | | |
| |||
106 | 123 | | |
107 | 124 | | |
108 | 125 | | |
109 | | - | |
110 | | - | |
111 | | - | |
112 | | - | |
| 126 | + | |
| 127 | + | |
| 128 | + | |
| 129 | + | |
| 130 | + | |
| 131 | + | |
113 | 132 | | |
114 | 133 | | |
115 | 134 | | |
| |||
Lines changed: 6 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
73 | 73 | | |
74 | 74 | | |
75 | 75 | | |
| 76 | + | |
| 77 | + | |
| 78 | + | |
| 79 | + | |
| 80 | + | |
| 81 | + | |
76 | 82 | | |
77 | 83 | | |
78 | 84 | | |
| |||
Lines changed: 6 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
Lines changed: 18 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
Lines changed: 28 additions & 9 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
Lines changed: 18 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
Lines changed: 28 additions & 9 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
0 commit comments