Struct parsel::ast::CustomIdent
source · pub struct CustomIdent<K> { /* private fields */ }
Expand description
An identifier which allows customizing the keywords of the language, i.e., which words should be accepted and rejected when parsing.
Implementations§
source§impl<K> CustomIdent<K>
impl<K> CustomIdent<K>
Trait Implementations§
source§impl<K: Clone> Clone for CustomIdent<K>
impl<K: Clone> Clone for CustomIdent<K>
source§fn clone(&self) -> CustomIdent<K>
fn clone(&self) -> CustomIdent<K>
Returns a copy of the value. Read more
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moresource§impl<K> Debug for CustomIdent<K>
impl<K> Debug for CustomIdent<K>
source§impl<K> Display for CustomIdent<K>
impl<K> Display for CustomIdent<K>
source§impl<K> From<CustomIdent<K>> for Ident
impl<K> From<CustomIdent<K>> for Ident
source§fn from(ident: CustomIdent<K>) -> Self
fn from(ident: CustomIdent<K>) -> Self
Converts to this type from the input type.
source§impl<K> FromStr for CustomIdent<K>where
K: Default + KeywordList,
impl<K> FromStr for CustomIdent<K>where
K: Default + KeywordList,
source§impl<K: Hash> Hash for CustomIdent<K>
impl<K: Hash> Hash for CustomIdent<K>
source§impl<K: Ord> Ord for CustomIdent<K>
impl<K: Ord> Ord for CustomIdent<K>
source§fn cmp(&self, other: &CustomIdent<K>) -> Ordering
fn cmp(&self, other: &CustomIdent<K>) -> Ordering
1.21.0 · source§fn max(self, other: Self) -> Selfwhere
Self: Sized,
fn max(self, other: Self) -> Selfwhere
Self: Sized,
Compares and returns the maximum of two values. Read more
source§impl<K> Parse for CustomIdent<K>where
K: Default + KeywordList,
impl<K> Parse for CustomIdent<K>where
K: Default + KeywordList,
fn parse(input: ParseStream<'_>) -> Result<Self>
source§impl<K, T> PartialEq<T> for CustomIdent<K>
impl<K, T> PartialEq<T> for CustomIdent<K>
source§impl<K: PartialEq> PartialEq for CustomIdent<K>
impl<K: PartialEq> PartialEq for CustomIdent<K>
source§fn eq(&self, other: &CustomIdent<K>) -> bool
fn eq(&self, other: &CustomIdent<K>) -> bool
This method tests for
self
and other
values to be equal, and is used
by ==
.source§impl<K: PartialOrd> PartialOrd for CustomIdent<K>
impl<K: PartialOrd> PartialOrd for CustomIdent<K>
source§fn partial_cmp(&self, other: &CustomIdent<K>) -> Option<Ordering>
fn partial_cmp(&self, other: &CustomIdent<K>) -> Option<Ordering>
1.0.0 · source§fn le(&self, other: &Rhs) -> bool
fn le(&self, other: &Rhs) -> bool
This method tests less than or equal to (for
self
and other
) and is used by the <=
operator. Read moresource§impl<K> ToTokens for CustomIdent<K>
impl<K> ToTokens for CustomIdent<K>
source§fn to_tokens(&self, tokens: &mut TokenStream)
fn to_tokens(&self, tokens: &mut TokenStream)
source§fn to_token_stream(&self) -> TokenStream
fn to_token_stream(&self) -> TokenStream
source§fn into_token_stream(self) -> TokenStreamwhere
Self: Sized,
fn into_token_stream(self) -> TokenStreamwhere
Self: Sized,
source§impl<K> TryFrom<Ident> for CustomIdent<K>where
K: Default + KeywordList,
impl<K> TryFrom<Ident> for CustomIdent<K>where
K: Default + KeywordList,
impl<K: Eq> Eq for CustomIdent<K>
impl<K> StructuralPartialEq for CustomIdent<K>
Auto Trait Implementations§
impl<K> Freeze for CustomIdent<K>where
K: Freeze,
impl<K> RefUnwindSafe for CustomIdent<K>where
K: RefUnwindSafe,
impl<K> !Send for CustomIdent<K>
impl<K> !Sync for CustomIdent<K>
impl<K> Unpin for CustomIdent<K>where
K: Unpin,
impl<K> UnwindSafe for CustomIdent<K>where
K: UnwindSafe,
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
source§impl<T> Spanned for Twhere
T: Spanned + ?Sized,
impl<T> Spanned for Twhere
T: Spanned + ?Sized,
source§fn span(&self) -> Span
fn span(&self) -> Span
Returns a
Span
covering the complete contents of this syntax tree
node, or Span::call_site()
if this node is empty.source§impl<T> SpannedExt for T
impl<T> SpannedExt for T
source§fn byte_range(&self, source: &str) -> Range<usize>
fn byte_range(&self, source: &str) -> Range<usize>
TODO(H2CO3): a faster, less naive implementation would be great.
We should use the byte offset of start
to compute that of end
,
sparing the double scan of the source up until the start location.
let source = r#"
-3.667
1248 "string ű literal"
"wíőzs"
"#;
let tokens: Many<Lit> = source.parse()?;
assert_eq!(tokens.len(), 4);
assert_eq!(tokens[0].byte_range(source), 4..10);
assert_eq!(tokens[1].byte_range(source), 13..17);
assert_eq!(tokens[2].byte_range(source), 19..38);
assert_eq!(tokens[3].byte_range(source), 45..54);
source§fn char_range(&self, source: &str) -> Range<usize>
fn char_range(&self, source: &str) -> Range<usize>
TODO(H2CO3): a faster, less naive implementation would be great.
We should use the char offset of start
to compute that of end
,
sparing the double scan of the source up until the start location.
let source = r#"
-3.667
1248 "string ű literal"
"wíőzs"
"#;
let tokens: Many<Lit> = source.parse()?;
assert_eq!(tokens.len(), 4);
assert_eq!(tokens[0].char_range(source), 4..10);
assert_eq!(tokens[1].char_range(source), 13..17);
assert_eq!(tokens[2].char_range(source), 19..37);
assert_eq!(tokens[3].char_range(source), 44..51);