Struct syn::LitStr [−][src]
pub struct LitStr { /* fields omitted */ }A UTF-8 string literal: "foo".
Implementations
impl LitStr[src]
impl LitStr[src]pub fn new(value: &str, span: Span) -> Self[src]
pub fn value(&self) -> String[src]
pub fn parse<T: Parse>(&self) -> Result<T>[src]
This is supported on crate feature
parsing only.Parse a syntax tree node from the content of this string literal.
All spans in the syntax tree will point to the span of this LitStr.
Example
use proc_macro2::Span; use syn::{Attribute, Error, Ident, Lit, Meta, MetaNameValue, Path, Result}; // Parses the path from an attribute that looks like: // // #[path = "a::b::c"] // // or returns `None` if the input is some other attribute. fn get_path(attr: &Attribute) -> Result<Option<Path>> { if !attr.path.is_ident("path") { return Ok(None); } match attr.parse_meta()? { Meta::NameValue(MetaNameValue { lit: Lit::Str(lit_str), .. }) => { lit_str.parse().map(Some) } _ => { let message = "expected #[path = \"...\"]"; Err(Error::new_spanned(attr, message)) } } }
pub fn parse_with<F: Parser>(&self, parser: F) -> Result<F::Output>[src]
This is supported on crate feature
parsing only.Invoke parser on the content of this string literal.
All spans in the syntax tree will point to the span of this LitStr.
Example
let lit_str: LitStr = /* ... */; // Parse a string literal like "a::b::c" into a Path, not allowing // generic arguments on any of the path segments. let basic_path = lit_str.parse_with(syn::Path::parse_mod_style)?;
pub fn span(&self) -> Span[src]
pub fn set_span(&mut self, span: Span)[src]
pub fn suffix(&self) -> &str[src]
Trait Implementations
impl Clone for LitStr[src]
impl Clone for LitStr[src]This is supported on crate feature
clone-impls only.fn clone(&self) -> Self[src]
pub fn clone_from(&mut self, source: &Self)1.0.0[src]
impl Parse for LitStr[src]
impl Parse for LitStr[src]This is supported on crate feature
parsing only.fn parse(input: ParseStream<'_>) -> Result<Self>[src]
impl ToTokens for LitStr[src]
impl ToTokens for LitStr[src]This is supported on crate feature
printing only.fn to_tokens(&self, tokens: &mut TokenStream)[src]
pub fn to_token_stream(&self) -> TokenStream[src]
pub fn into_token_stream(self) -> TokenStream[src]
Auto Trait Implementations
impl RefUnwindSafe for LitStr
impl RefUnwindSafe for LitStrimpl UnwindSafe for LitStr
impl UnwindSafe for LitStr