diff options
Diffstat (limited to 'crates/ra_mbe/src/syntax_bridge.rs')
-rw-r--r-- | crates/ra_mbe/src/syntax_bridge.rs | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/crates/ra_mbe/src/syntax_bridge.rs b/crates/ra_mbe/src/syntax_bridge.rs index b0fb91a63..19c17bd55 100644 --- a/crates/ra_mbe/src/syntax_bridge.rs +++ b/crates/ra_mbe/src/syntax_bridge.rs | |||
@@ -105,16 +105,16 @@ fn convert_tt( | |||
105 | Some(res) | 105 | Some(res) |
106 | } | 106 | } |
107 | 107 | ||
108 | struct TtTreeSink<'a> { | 108 | struct TtTreeSink<'a, Q: Querier> { |
109 | buf: String, | 109 | buf: String, |
110 | src_querier: Querier<'a>, | 110 | src_querier: &'a Q, |
111 | text_pos: TextUnit, | 111 | text_pos: TextUnit, |
112 | token_pos: usize, | 112 | token_pos: usize, |
113 | inner: SyntaxTreeBuilder, | 113 | inner: SyntaxTreeBuilder, |
114 | } | 114 | } |
115 | 115 | ||
116 | impl<'a> TtTreeSink<'a> { | 116 | impl<'a, Q: Querier> TtTreeSink<'a, Q> { |
117 | fn new(src_querier: Querier<'a>) -> TtTreeSink { | 117 | fn new(src_querier: &'a Q) -> Self { |
118 | TtTreeSink { | 118 | TtTreeSink { |
119 | buf: String::new(), | 119 | buf: String::new(), |
120 | src_querier, | 120 | src_querier, |
@@ -125,10 +125,10 @@ impl<'a> TtTreeSink<'a> { | |||
125 | } | 125 | } |
126 | } | 126 | } |
127 | 127 | ||
128 | impl<'a> TreeSink for TtTreeSink<'a> { | 128 | impl<'a, Q: Querier> TreeSink for TtTreeSink<'a, Q> { |
129 | fn token(&mut self, kind: SyntaxKind, n_tokens: u8) { | 129 | fn token(&mut self, kind: SyntaxKind, n_tokens: u8) { |
130 | for _ in 0..n_tokens { | 130 | for _ in 0..n_tokens { |
131 | self.buf += self.src_querier.token(self.token_pos).1; | 131 | self.buf += &self.src_querier.token(self.token_pos).1; |
132 | self.token_pos += 1; | 132 | self.token_pos += 1; |
133 | } | 133 | } |
134 | self.text_pos += TextUnit::of_str(&self.buf); | 134 | self.text_pos += TextUnit::of_str(&self.buf); |