aboutsummaryrefslogtreecommitdiff
path: root/crates/ra_syntax/src/parser_api.rs
diff options
context:
space:
mode:
Diffstat (limited to 'crates/ra_syntax/src/parser_api.rs')
-rw-r--r--crates/ra_syntax/src/parser_api.rs24
1 files changed, 16 insertions, 8 deletions
diff --git a/crates/ra_syntax/src/parser_api.rs b/crates/ra_syntax/src/parser_api.rs
index 504df753e..dc556190d 100644
--- a/crates/ra_syntax/src/parser_api.rs
+++ b/crates/ra_syntax/src/parser_api.rs
@@ -25,6 +25,22 @@ impl<'t> Parser<'t> {
25 self.nth(0) 25 self.nth(0)
26 } 26 }
27 27
28 /// Returns the kinds of the current two tokens, if they are not separated
29 /// by trivia.
30 ///
31 /// Useful for parsing things like `>>`.
32 pub(crate) fn current2(&self) -> Option<(SyntaxKind, SyntaxKind)> {
33 self.0.current2()
34 }
35
36 /// Returns the kinds of the current three tokens, if they are not separated
37 /// by trivia.
38 ///
39 /// Useful for parsing things like `=>>`.
40 pub(crate) fn current3(&self) -> Option<(SyntaxKind, SyntaxKind, SyntaxKind)> {
41 self.0.current3()
42 }
43
28 /// Lookahead operation: returns the kind of the next nth 44 /// Lookahead operation: returns the kind of the next nth
29 /// token. 45 /// token.
30 pub(crate) fn nth(&self, n: u32) -> SyntaxKind { 46 pub(crate) fn nth(&self, n: u32) -> SyntaxKind {
@@ -41,14 +57,6 @@ impl<'t> Parser<'t> {
41 kinds.contains(self.current()) 57 kinds.contains(self.current())
42 } 58 }
43 59
44 pub(crate) fn next2(&self) -> Option<(SyntaxKind, SyntaxKind)> {
45 self.0.next2()
46 }
47
48 pub(crate) fn next3(&self) -> Option<(SyntaxKind, SyntaxKind, SyntaxKind)> {
49 self.0.next3()
50 }
51
52 /// Checks if the current token is contextual keyword with text `t`. 60 /// Checks if the current token is contextual keyword with text `t`.
53 pub(crate) fn at_contextual_kw(&self, t: &str) -> bool { 61 pub(crate) fn at_contextual_kw(&self, t: &str) -> bool {
54 self.0.at_kw(t) 62 self.0.at_kw(t)