--- a/crates/jrsonnet-rowan-parser/src/event.rs +++ b/crates/jrsonnet-rowan-parser/src/event.rs @@ -23,7 +23,7 @@ /// Eat token Token { kind: SyntaxKind }, /// Push token, but do not eat anything, - VirtualToken { kind: SyntaxKind }, + // VirtualToken { kind: SyntaxKind }, /// Position of finished node Finish { /// Same as forward_parent of Start, but for wrapping @@ -120,13 +120,13 @@ self.token(kind); eat_start_whitespace = true; } - Event::VirtualToken { kind } => { - if eat_start_whitespace { - self.skip_whitespace(); - } - self.virtual_token(kind); - eat_start_whitespace = false; - } + // Event::VirtualToken { kind } => { + // if eat_start_whitespace { + // self.skip_whitespace(); + // } + // self.virtual_token(kind); + // eat_start_whitespace = false; + // } Event::Finish { wrapper, error } => { if depth == 1 { self.skip_whitespace(); @@ -183,9 +183,9 @@ errors: self.errors, } } - fn virtual_token(&mut self, kind: SyntaxKind) { - self.builder.token(JsonnetLanguage::kind_to_raw(kind), "") - } + // fn virtual_token(&mut self, kind: SyntaxKind) { + // self.builder.token(JsonnetLanguage::kind_to_raw(kind), "") + // } fn token(&mut self, kind: SyntaxKind) { let lexeme = self.lexemes[self.offset]; self.builder --- a/crates/jrsonnet-rowan-parser/src/marker.rs +++ b/crates/jrsonnet-rowan-parser/src/marker.rs @@ -8,17 +8,17 @@ SyntaxKind, }; -pub struct Ranger { - pub pos: usize, -} -impl Ranger { - pub fn finish(self, p: &Parser) -> FinishedRanger { - FinishedRanger { - start_token: self.pos, - end_token: self.pos.max(p.offset.saturating_sub(1)), - } - } -} +// pub struct Ranger { +// pub pos: usize, +// } +// impl Ranger { +// pub fn finish(self, p: &Parser) -> FinishedRanger { +// FinishedRanger { +// start_token: self.pos, +// end_token: self.pos.max(p.offset.saturating_sub(1)), +// } +// } +// } pub struct FinishedRanger { pub start_token: usize, @@ -79,10 +79,10 @@ finish_event_idx, } } - pub fn complete(mut self, p: &mut Parser, kind: SyntaxKind) -> CompletedMarker { + pub fn complete(self, p: &mut Parser, kind: SyntaxKind) -> CompletedMarker { self.complete_raw(p, kind, None) } - pub fn complete_error(mut self, p: &mut Parser, msg: impl AsRef) -> CompletedMarker { + pub fn complete_error(self, p: &mut Parser, msg: impl AsRef) -> CompletedMarker { self.complete_raw( p, SyntaxKind::ERROR_CUSTOM, @@ -91,7 +91,7 @@ }), ) } - pub fn complete_missing(mut self, p: &mut Parser, expected: ExpectedSyntax) -> CompletedMarker { + pub fn complete_missing(self, p: &mut Parser, expected: ExpectedSyntax) -> CompletedMarker { self.complete_raw( p, SyntaxKind::ERROR_MISSING_TOKEN, @@ -99,7 +99,7 @@ ) } pub fn complete_unexpected( - mut self, + self, p: &mut Parser, expected: ExpectedSyntax, found: SyntaxKind, --- a/crates/jrsonnet-rowan-parser/src/parser.rs +++ b/crates/jrsonnet-rowan-parser/src/parser.rs @@ -5,7 +5,7 @@ use crate::{ event::Event, - marker::{CompletedMarker, Marker, Ranger}, + marker::{CompletedMarker, Marker}, nodes::{BinaryOperatorKind, Literal, Number, Text, UnaryOperatorKind}, token_set::SyntaxKindSet, AstToken, SyntaxKind, @@ -107,10 +107,10 @@ self.entered += 1; Marker::new(start_event_idx) } - pub fn start_ranger(&mut self) -> Ranger { - let pos = self.offset; - Ranger { pos } - } + // pub fn start_ranger(&mut self) -> Ranger { + // let pos = self.offset; + // Ranger { pos } + // } pub fn parse(mut self) -> Vec { let m = self.start(); expr(&mut self); @@ -144,13 +144,13 @@ } } - pub(crate) fn expect_with_no_skip(&mut self, kind: SyntaxKind) { - if self.at(kind) { - self.bump(); - } else { - self.error_with_no_skip(); - } - } + // pub(crate) fn expect_with_no_skip(&mut self, kind: SyntaxKind) { + // if self.at(kind) { + // self.bump(); + // } else { + // self.error_with_no_skip(); + // } + // } pub fn error_with_no_skip(&mut self) -> CompletedMarker { self.error_with_recovery_set(SyntaxKindSet::ALL) } @@ -773,18 +773,18 @@ m.complete(p, DESTRUCT_SKIP) } else if p.at(T!['[']) { p.bump(); - let mut had_rest = false; + // let mut had_rest = false; loop { if p.at(T![']']) { p.bump(); break; } else if p.at(T![...]) { - let m_err = p.start_ranger(); + // let m_err = p.start_ranger(); destruct_rest(p); // if had_rest { // p.custom_error(m_err.finish(p), "only one rest can be present in array"); // } - had_rest = true; + // had_rest = true; } else { destruct(p); } @@ -804,7 +804,7 @@ p.bump(); break; } else if p.at(T![...]) { - let m_err = p.start_ranger(); + // let m_err = p.start_ranger(); destruct_rest(p); // if had_rest { // p.custom_error(m_err.finish(p), "only one rest can be present in object");