git.delta.rocks / jrsonnet / refs/commits / da1c5af22cb6

difftreelog

fix remove unused code from rowan-parser

Yaroslav Bolyukin2024-03-03parent: #04bd9e4.patch.diff
in: master

3 files changed

modifiedcrates/jrsonnet-rowan-parser/src/event.rsdiffbeforeafterboth
22 },22 },
23 /// Eat token23 /// Eat token
24 Token { kind: SyntaxKind },24 Token { kind: SyntaxKind },
25 /// Push token, but do not eat anything,25 /// Push token, but do not eat anything,
26 VirtualToken { kind: SyntaxKind },26 // VirtualToken { kind: SyntaxKind },
27 /// Position of finished node27 /// Position of finished node
28 Finish {28 Finish {
29 /// Same as forward_parent of Start, but for wrapping29 /// Same as forward_parent of Start, but for wrapping
120 self.token(kind);120 self.token(kind);
121 eat_start_whitespace = true;121 eat_start_whitespace = true;
122 }122 }
123 Event::VirtualToken { kind } => {123 // Event::VirtualToken { kind } => {
124 if eat_start_whitespace {124 // if eat_start_whitespace {
125 self.skip_whitespace();125 // self.skip_whitespace();
126 }126 // }
127 self.virtual_token(kind);127 // self.virtual_token(kind);
128 eat_start_whitespace = false;128 // eat_start_whitespace = false;
129 }129 // }
130 Event::Finish { wrapper, error } => {130 Event::Finish { wrapper, error } => {
131 if depth == 1 {131 if depth == 1 {
132 self.skip_whitespace();132 self.skip_whitespace();
183 errors: self.errors,183 errors: self.errors,
184 }184 }
185 }185 }
186 fn virtual_token(&mut self, kind: SyntaxKind) {186 // fn virtual_token(&mut self, kind: SyntaxKind) {
187 self.builder.token(JsonnetLanguage::kind_to_raw(kind), "")187 // self.builder.token(JsonnetLanguage::kind_to_raw(kind), "")
188 }188 // }
189 fn token(&mut self, kind: SyntaxKind) {189 fn token(&mut self, kind: SyntaxKind) {
190 let lexeme = self.lexemes[self.offset];190 let lexeme = self.lexemes[self.offset];
191 self.builder191 self.builder
modifiedcrates/jrsonnet-rowan-parser/src/marker.rsdiffbeforeafterboth
8 SyntaxKind,8 SyntaxKind,
9};9};
1010
11pub struct Ranger {11// pub struct Ranger {
12 pub pos: usize,12// pub pos: usize,
13}13// }
14impl Ranger {14// impl Ranger {
15 pub fn finish(self, p: &Parser) -> FinishedRanger {15// pub fn finish(self, p: &Parser) -> FinishedRanger {
16 FinishedRanger {16// FinishedRanger {
17 start_token: self.pos,17// start_token: self.pos,
18 end_token: self.pos.max(p.offset.saturating_sub(1)),18// end_token: self.pos.max(p.offset.saturating_sub(1)),
19 }19// }
20 }20// }
21}21// }
2222
23pub struct FinishedRanger {23pub struct FinishedRanger {
24 pub start_token: usize,24 pub start_token: usize,
79 finish_event_idx,79 finish_event_idx,
80 }80 }
81 }81 }
82 pub fn complete(mut self, p: &mut Parser, kind: SyntaxKind) -> CompletedMarker {82 pub fn complete(self, p: &mut Parser, kind: SyntaxKind) -> CompletedMarker {
83 self.complete_raw(p, kind, None)83 self.complete_raw(p, kind, None)
84 }84 }
85 pub fn complete_error(mut self, p: &mut Parser, msg: impl AsRef<str>) -> CompletedMarker {85 pub fn complete_error(self, p: &mut Parser, msg: impl AsRef<str>) -> CompletedMarker {
86 self.complete_raw(86 self.complete_raw(
87 p,87 p,
88 SyntaxKind::ERROR_CUSTOM,88 SyntaxKind::ERROR_CUSTOM,
91 }),91 }),
92 )92 )
93 }93 }
94 pub fn complete_missing(mut self, p: &mut Parser, expected: ExpectedSyntax) -> CompletedMarker {94 pub fn complete_missing(self, p: &mut Parser, expected: ExpectedSyntax) -> CompletedMarker {
95 self.complete_raw(95 self.complete_raw(
96 p,96 p,
97 SyntaxKind::ERROR_MISSING_TOKEN,97 SyntaxKind::ERROR_MISSING_TOKEN,
98 Some(SyntaxError::Missing { expected }),98 Some(SyntaxError::Missing { expected }),
99 )99 )
100 }100 }
101 pub fn complete_unexpected(101 pub fn complete_unexpected(
102 mut self,102 self,
103 p: &mut Parser,103 p: &mut Parser,
104 expected: ExpectedSyntax,104 expected: ExpectedSyntax,
105 found: SyntaxKind,105 found: SyntaxKind,
modifiedcrates/jrsonnet-rowan-parser/src/parser.rsdiffbeforeafterboth
55
6use crate::{6use crate::{
7 event::Event,7 event::Event,
8 marker::{CompletedMarker, Marker, Ranger},8 marker::{CompletedMarker, Marker},
9 nodes::{BinaryOperatorKind, Literal, Number, Text, UnaryOperatorKind},9 nodes::{BinaryOperatorKind, Literal, Number, Text, UnaryOperatorKind},
10 token_set::SyntaxKindSet,10 token_set::SyntaxKindSet,
11 AstToken, SyntaxKind,11 AstToken, SyntaxKind,
107 self.entered += 1;107 self.entered += 1;
108 Marker::new(start_event_idx)108 Marker::new(start_event_idx)
109 }109 }
110 pub fn start_ranger(&mut self) -> Ranger {110 // pub fn start_ranger(&mut self) -> Ranger {
111 let pos = self.offset;111 // let pos = self.offset;
112 Ranger { pos }112 // Ranger { pos }
113 }113 // }
114 pub fn parse(mut self) -> Vec<Event> {114 pub fn parse(mut self) -> Vec<Event> {
115 let m = self.start();115 let m = self.start();
116 expr(&mut self);116 expr(&mut self);
144 }144 }
145 }145 }
146146
147 pub(crate) fn expect_with_no_skip(&mut self, kind: SyntaxKind) {147 // pub(crate) fn expect_with_no_skip(&mut self, kind: SyntaxKind) {
148 if self.at(kind) {148 // if self.at(kind) {
149 self.bump();149 // self.bump();
150 } else {150 // } else {
151 self.error_with_no_skip();151 // self.error_with_no_skip();
152 }152 // }
153 }153 // }
154 pub fn error_with_no_skip(&mut self) -> CompletedMarker {154 pub fn error_with_no_skip(&mut self) -> CompletedMarker {
155 self.error_with_recovery_set(SyntaxKindSet::ALL)155 self.error_with_recovery_set(SyntaxKindSet::ALL)
156 }156 }
773 m.complete(p, DESTRUCT_SKIP)773 m.complete(p, DESTRUCT_SKIP)
774 } else if p.at(T!['[']) {774 } else if p.at(T!['[']) {
775 p.bump();775 p.bump();
776 let mut had_rest = false;776 // let mut had_rest = false;
777 loop {777 loop {
778 if p.at(T![']']) {778 if p.at(T![']']) {
779 p.bump();779 p.bump();
780 break;780 break;
781 } else if p.at(T![...]) {781 } else if p.at(T![...]) {
782 let m_err = p.start_ranger();782 // let m_err = p.start_ranger();
783 destruct_rest(p);783 destruct_rest(p);
784 // if had_rest {784 // if had_rest {
785 // p.custom_error(m_err.finish(p), "only one rest can be present in array");785 // p.custom_error(m_err.finish(p), "only one rest can be present in array");
786 // }786 // }
787 had_rest = true;787 // had_rest = true;
788 } else {788 } else {
789 destruct(p);789 destruct(p);
790 }790 }
804 p.bump();804 p.bump();
805 break;805 break;
806 } else if p.at(T![...]) {806 } else if p.at(T![...]) {
807 let m_err = p.start_ranger();807 // let m_err = p.start_ranger();
808 destruct_rest(p);808 destruct_rest(p);
809 // if had_rest {809 // if had_rest {
810 // p.custom_error(m_err.finish(p), "only one rest can be present in object");810 // p.custom_error(m_err.finish(p), "only one rest can be present in object");