pub enum CapturedPayload {
Word(String),
Punct(char),
Text(String),
Number(String),
Group {
delimiter: CapturedDelimiter,
trees: Bounded<CapturedTokenTree, CAPTURED_TOKEN_LIMIT>,
},
ByteText(Vec<u8>),
Character(char),
Byte(u8),
NulTerminatedText(Vec<u8>),
RawIdentifier(String),
JointPunct(char),
}Expand description
What one captured token carries.
An arm carries a literal’s value and never the characters it was spelled with, so "x" and r"x" are one text and which prefix a producer read is not a fact the tree keeps.
§Ordering
The roster grows at its end and nowhere else: each arm’s slot is a byte of the canonical bytes a captured declaration’s identity is derived over.
Variants§
Word(String)
An ordinary identifier-shaped word or keyword.
Punct(char)
One punctuation character that stands alone.
Text(String)
A text literal’s text: "…" and r"…" alike, escapes read and quotes removed.
Number(String)
A numeric literal, exactly as written: the base, the digit separators, and the suffix that types it are all part of what the declaration says.
Group
A delimited group and the tokens inside it.
Fields
delimiter: CapturedDelimiterThe delimiter written around the group.
trees: Bounded<CapturedTokenTree, CAPTURED_TOKEN_LIMIT>The tokens inside, in the order they were written.
ByteText(Vec<u8>)
A byte-string literal’s material: b"…" and br"…", kept as bytes because material that is not text crosses without a lossy road existing for it to take.
Character(char)
One character literal’s character: '…'.
Byte(u8)
One byte literal’s byte: b'…'.
NulTerminatedText(Vec<u8>)
A C string literal’s material: c"…" and cr"…", without the terminating NUL, which is the literal form’s and never the value’s.
RawIdentifier(String)
A raw identifier’s name without its r# spelling marker.
JointPunct(char)
One punctuation character joined to the token after it.
Trait Implementations§
Source§impl Clone for CapturedPayload
impl Clone for CapturedPayload
Source§fn clone(&self) -> CapturedPayload
fn clone(&self) -> CapturedPayload
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more