diff options
Diffstat (limited to 'crates/ra_mbe/src/subtree_parser.rs')
-rw-r--r-- | crates/ra_mbe/src/subtree_parser.rs | 40 |
1 files changed, 5 insertions, 35 deletions
diff --git a/crates/ra_mbe/src/subtree_parser.rs b/crates/ra_mbe/src/subtree_parser.rs index 5688e7f7f..4440c69ff 100644 --- a/crates/ra_mbe/src/subtree_parser.rs +++ b/crates/ra_mbe/src/subtree_parser.rs | |||
@@ -1,6 +1,6 @@ | |||
1 | use crate::subtree_source::SubtreeTokenSource; | 1 | use crate::subtree_source::SubtreeTokenSource; |
2 | 2 | ||
3 | use ra_parser::{TokenSource, TreeSink}; | 3 | use ra_parser::{FragmentKind, TokenSource, TreeSink}; |
4 | use ra_syntax::SyntaxKind; | 4 | use ra_syntax::SyntaxKind; |
5 | use tt::buffer::{Cursor, TokenBuffer}; | 5 | use tt::buffer::{Cursor, TokenBuffer}; |
6 | 6 | ||
@@ -52,40 +52,10 @@ impl<'a> Parser<'a> { | |||
52 | Parser { cur_pos, subtree } | 52 | Parser { cur_pos, subtree } |
53 | } | 53 | } |
54 | 54 | ||
55 | pub fn parse_path(self) -> Option<tt::TokenTree> { | 55 | pub fn parse_fragment(self, fragment_kind: FragmentKind) -> Option<tt::TokenTree> { |
56 | self.parse(ra_parser::parse_path) | 56 | self.parse(|token_source, tree_skink| { |
57 | } | 57 | ra_parser::parse_fragment(token_source, tree_skink, fragment_kind) |
58 | 58 | }) | |
59 | pub fn parse_expr(self) -> Option<tt::TokenTree> { | ||
60 | self.parse(ra_parser::parse_expr) | ||
61 | } | ||
62 | |||
63 | pub fn parse_ty(self) -> Option<tt::TokenTree> { | ||
64 | self.parse(ra_parser::parse_ty) | ||
65 | } | ||
66 | |||
67 | pub fn parse_pat(self) -> Option<tt::TokenTree> { | ||
68 | self.parse(ra_parser::parse_pat) | ||
69 | } | ||
70 | |||
71 | pub fn parse_stmt(self) -> Option<tt::TokenTree> { | ||
72 | self.parse(|src, sink| ra_parser::parse_stmt(src, sink, false)) | ||
73 | } | ||
74 | |||
75 | pub fn parse_block(self) -> Option<tt::TokenTree> { | ||
76 | self.parse(ra_parser::parse_block) | ||
77 | } | ||
78 | |||
79 | pub fn parse_meta(self) -> Option<tt::TokenTree> { | ||
80 | self.parse(ra_parser::parse_meta) | ||
81 | } | ||
82 | |||
83 | pub fn parse_item(self) -> Option<tt::TokenTree> { | ||
84 | self.parse(ra_parser::parse_item) | ||
85 | } | ||
86 | |||
87 | pub fn parse_vis(self) -> Option<tt::TokenTree> { | ||
88 | self.parse(ra_parser::parse_vis) | ||
89 | } | 59 | } |
90 | 60 | ||
91 | fn parse<F>(self, f: F) -> Option<tt::TokenTree> | 61 | fn parse<F>(self, f: F) -> Option<tt::TokenTree> |