difftreelog
fix remove unused code from rowan-parser
in: master
3 files changed
crates/jrsonnet-rowan-parser/src/event.rsdiffbeforeafterboth22 },22 },23 /// Eat token23 /// Eat token24 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 node28 Finish {28 Finish {29 /// Same as forward_parent of Start, but for wrapping29 /// Same as forward_parent of Start, but for wrapping120 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.buildercrates/jrsonnet-rowan-parser/src/marker.rsdiffbeforeafterboth8 SyntaxKind,8 SyntaxKind,9};9};101011pub 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// }222223pub 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,crates/jrsonnet-rowan-parser/src/parser.rsdiffbeforeafterboth556use 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 }146146147 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");