diff options
author | bors[bot] <26634292+bors[bot]@users.noreply.github.com> | 2019-09-10 14:01:44 +0100 |
---|---|---|
committer | GitHub <[email protected]> | 2019-09-10 14:01:44 +0100 |
commit | 9d3c78e2eee6635772c99d7351b621cefb08bac5 (patch) | |
tree | 14e74b81c7195bcd5b308e799c3fd447e76274ca /crates/ra_mbe/src/syntax_bridge.rs | |
parent | e2ebb467bdf3ebb7d29260adb95c56594c6db282 (diff) | |
parent | ed726081d1df2fb6a1c21101996dcae203f79021 (diff) |
Merge #1801
1801: WIP: switch to fully decomposed tokens internally r=matklad a=matklad
Co-authored-by: Aleksey Kladov <[email protected]>
Diffstat (limited to 'crates/ra_mbe/src/syntax_bridge.rs')
-rw-r--r-- | crates/ra_mbe/src/syntax_bridge.rs | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/crates/ra_mbe/src/syntax_bridge.rs b/crates/ra_mbe/src/syntax_bridge.rs index a380b1cfd..26524adf9 100644 --- a/crates/ra_mbe/src/syntax_bridge.rs +++ b/crates/ra_mbe/src/syntax_bridge.rs | |||
@@ -70,7 +70,14 @@ fn fragment_to_syntax_node( | |||
70 | tt: &tt::Subtree, | 70 | tt: &tt::Subtree, |
71 | fragment_kind: FragmentKind, | 71 | fragment_kind: FragmentKind, |
72 | ) -> Result<Parse<SyntaxNode>, ExpandError> { | 72 | ) -> Result<Parse<SyntaxNode>, ExpandError> { |
73 | let tokens = [tt.clone().into()]; | 73 | let tmp; |
74 | let tokens = match tt { | ||
75 | tt::Subtree { delimiter: tt::Delimiter::None, token_trees } => token_trees.as_slice(), | ||
76 | _ => { | ||
77 | tmp = [tt.clone().into()]; | ||
78 | &tmp[..] | ||
79 | } | ||
80 | }; | ||
74 | let buffer = TokenBuffer::new(&tokens); | 81 | let buffer = TokenBuffer::new(&tokens); |
75 | let mut token_source = SubtreeTokenSource::new(&buffer); | 82 | let mut token_source = SubtreeTokenSource::new(&buffer); |
76 | let mut tree_sink = TtTreeSink::new(buffer.begin()); | 83 | let mut tree_sink = TtTreeSink::new(buffer.begin()); |