aboutsummaryrefslogtreecommitdiff
path: root/crates/ra_mbe/src/subtree_parser.rs
diff options
context:
space:
mode:
authorAleksey Kladov <[email protected]>2019-09-02 16:51:03 +0100
committerAleksey Kladov <[email protected]>2019-09-02 16:58:21 +0100
commitc89abd42621daff2d652566be4e9e4789599268c (patch)
treef6ab78e03a559cde48ff7525cccce6b144da862d /crates/ra_mbe/src/subtree_parser.rs
parent32bebfaf0e24651316c4d70d1e23ef170224bd7c (diff)
simplify
Diffstat (limited to 'crates/ra_mbe/src/subtree_parser.rs')
-rw-r--r--crates/ra_mbe/src/subtree_parser.rs40
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 @@
1use crate::subtree_source::SubtreeTokenSource; 1use crate::subtree_source::SubtreeTokenSource;
2 2
3use ra_parser::{TokenSource, TreeSink}; 3use ra_parser::{FragmentKind, TokenSource, TreeSink};
4use ra_syntax::SyntaxKind; 4use ra_syntax::SyntaxKind;
5use tt::buffer::{Cursor, TokenBuffer}; 5use 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>