aboutsummaryrefslogtreecommitdiff
path: root/src/parse.rs
diff options
context:
space:
mode:
authorMatthew Maurer <mmaurer@google.com>2023-05-26 20:23:03 +0000
committerAutomerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>2023-05-26 20:23:03 +0000
commit0f3d74e8f41021bd82e05a51ebbe0f067fcdfe0a (patch)
tree1d1789825f5389e92297a963e0ff2fdcf64bd7ce /src/parse.rs
parent2873cb66cf05dfa67b15031b7ea27782fceaae72 (diff)
parentc355513437d22c14b83dfefea23d325dfb5f1682 (diff)
downloadproc-macro2-0f3d74e8f41021bd82e05a51ebbe0f067fcdfe0a.tar.gz
Upgrade proc-macro2 to 1.0.56 am: c355513437
Original change: https://android-review.googlesource.com/c/platform/external/rust/crates/proc-macro2/+/2520717 Change-Id: Ieb6d112f3633e9b565e55497c1e62a95227087c4 Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
Diffstat (limited to 'src/parse.rs')
-rw-r--r--src/parse.rs17
1 files changed, 14 insertions, 3 deletions
diff --git a/src/parse.rs b/src/parse.rs
index 82291da..be2425b 100644
--- a/src/parse.rs
+++ b/src/parse.rs
@@ -27,7 +27,18 @@ impl<'a> Cursor<'a> {
self.rest.starts_with(s)
}
- fn is_empty(&self) -> bool {
+ pub fn starts_with_char(&self, ch: char) -> bool {
+ self.rest.starts_with(ch)
+ }
+
+ pub fn starts_with_fn<Pattern>(&self, f: Pattern) -> bool
+ where
+ Pattern: FnMut(char) -> bool,
+ {
+ self.rest.starts_with(f)
+ }
+
+ pub fn is_empty(&self) -> bool {
self.rest.is_empty()
}
@@ -756,7 +767,7 @@ fn digits(mut input: Cursor) -> Result<Cursor, Reject> {
fn punct(input: Cursor) -> PResult<Punct> {
let (rest, ch) = punct_char(input)?;
if ch == '\'' {
- if ident_any(rest)?.0.starts_with("'") {
+ if ident_any(rest)?.0.starts_with_char('\'') {
Err(Reject)
} else {
Ok((rest, Punct::new('\'', Spacing::Joint)))
@@ -848,7 +859,7 @@ fn doc_comment_contents(input: Cursor) -> PResult<(&str, bool)> {
Ok((input, (&s[3..s.len() - 2], true)))
} else if input.starts_with("///") {
let input = input.advance(3);
- if input.starts_with("/") {
+ if input.starts_with_char('/') {
return Err(Reject);
}
let (input, s) = take_until_newline_or_eof(input);