Enum amplify_syn::Attr [−][src]
pub enum Attr { Singular(SingularAttr), Parametrized(ParametrizedAttr), }
Internal structure representation of a proc macro attribute collected
instances having some specific name (accessible via Attr::name()
).
Variants
Singular(SingularAttr)
Attribute of #[attr]
or #[attr = value]
form, which, aside from the
case where value
is a string literal, may have only a single
occurrence (string literals are concatenated into a single value like
rust compiler does for #[doc = "..."]
attributes).
Parametrized(ParametrizedAttr)
Parametrized attribute in form of #[attr(...)]
, where parameters are
gathered from all attribute occurrences.
Implementations
impl Attr
[src]
impl Attr
[src]pub fn with(
name: impl ToString + AsRef<str>,
attrs: &Vec<Attribute>
) -> Result<Self, Error>
[src]
name: impl ToString + AsRef<str>,
attrs: &Vec<Attribute>
) -> Result<Self, Error>
Constructs Attr
from a vector of all syn-parsed attributes,
selecting attributes matching the provided name.
pub fn from_attribute(attr: &Attribute) -> Result<Self, Error>
[src]
Constructor parsing Attribute
value and returning either
SingularAttr
or ParametrizedAttr
packed in form of Attr
enum.
If the attribute does not match either of forms, a Error
is
returned. Currently, only single type of error may occur in practice:
Error::ArgNameMustBeIdent
, which happens if the attribute name is not an [Ident
] but is a complex path value
pub fn try_singular(self) -> Result<SingularAttr, Error>
[src]
Returns inner value \in form of SingularAttr
for Attr::Singular
variant, or fails with Error::SingularAttrRequired
otherwise
pub fn try_parametrized(self) -> Result<ParametrizedAttr, Error>
[src]
Returns inner value \in form of ParametrizedAttr
for
Attr::Parametrized
variant, or fails with
Error::ParametrizedAttrRequired
otherwise
pub fn name(&self) -> &str
[src]
Returns string reference to the argument name
pub fn arg_value(&self) -> Result<ArgValue, Error>
[src]
Returns ArgValue
for the Attr::Singular
variant or fails with
Error::ParametrizedAttrHasNoValue
pub fn literal_value(&self) -> Result<Lit, Error>
[src]
Returns literal value for the Attr::Singular
variant or fails with
Error::ParametrizedAttrHasNoValue
. See ArgValue::literal_value
for more details.
pub fn type_value(&self) -> Result<Type, Error>
[src]
Returns type value for the Attr::Singular
variant or fails with
Error::ParametrizedAttrHasNoValue
. See ArgValue::literal_value
for more details.
Trait Implementations
Auto Trait Implementations
impl RefUnwindSafe for Attr
impl RefUnwindSafe for Attr
impl UnwindSafe for Attr
impl UnwindSafe for Attr