pub enum Meta {
CfgAttrMeta(CfgAttrMeta),
CfgMeta(CfgMeta),
KeyValueMeta(KeyValueMeta),
PathMeta(PathMeta),
TokenTreeMeta(TokenTreeMeta),
UnsafeMeta(UnsafeMeta),
}Variants§
CfgAttrMeta(CfgAttrMeta)
CfgMeta(CfgMeta)
KeyValueMeta(KeyValueMeta)
PathMeta(PathMeta)
TokenTreeMeta(TokenTreeMeta)
UnsafeMeta(UnsafeMeta)
Implementations§
Source§impl Meta
impl Meta
pub fn as_simple_atom(&self) -> Option<SmolStr>
pub fn as_simple_call(&self) -> Option<(SmolStr, TokenTree)>
pub fn as_simple_path(&self) -> Option<Path>
pub fn simple_name(&self) -> Option<SmolStr>
pub fn path(&self) -> Option<Path>
Sourcepub fn skip_cfg_attrs(self) -> SmallVec<[Meta; 1]>
pub fn skip_cfg_attrs(self) -> SmallVec<[Meta; 1]>
Includes cfg_attr() inner metas (without considering the predicate).
Sourcepub fn parent_attr(&self) -> Option<Attr>
pub fn parent_attr(&self) -> Option<Attr>
FIXME: Calling this is almost always incorrect, as cfg_attr can contains multiple Metas.
Trait Implementations§
Source§impl AstNode for Meta
impl AstNode for Meta
fn can_cast(kind: SyntaxKind) -> bool
fn cast(syntax: SyntaxNode<RustLanguage>) -> Option<Meta>
fn syntax(&self) -> &SyntaxNode<RustLanguage>
Source§fn kind() -> SyntaxKindwhere
Self: Sized,
fn kind() -> SyntaxKindwhere
Self: Sized,
This panics if the
SyntaxKind is not statically known.fn clone_for_update(&self) -> Selfwhere
Self: Sized,
fn clone_subtree(&self) -> Selfwhere
Self: Sized,
impl Eq for Meta
Source§impl From<CfgAttrMeta> for Meta
impl From<CfgAttrMeta> for Meta
Source§fn from(node: CfgAttrMeta) -> Meta
fn from(node: CfgAttrMeta) -> Meta
Converts to this type from the input type.
Source§impl From<KeyValueMeta> for Meta
impl From<KeyValueMeta> for Meta
Source§fn from(node: KeyValueMeta) -> Meta
fn from(node: KeyValueMeta) -> Meta
Converts to this type from the input type.
Source§impl From<TokenTreeMeta> for Meta
impl From<TokenTreeMeta> for Meta
Source§fn from(node: TokenTreeMeta) -> Meta
fn from(node: TokenTreeMeta) -> Meta
Converts to this type from the input type.
Source§impl From<UnsafeMeta> for Meta
impl From<UnsafeMeta> for Meta
Source§fn from(node: UnsafeMeta) -> Meta
fn from(node: UnsafeMeta) -> Meta
Converts to this type from the input type.
impl StructuralPartialEq for Meta
Auto Trait Implementations§
impl !RefUnwindSafe for Meta
impl !Send for Meta
impl !Sync for Meta
impl !UnwindSafe for Meta
impl Freeze for Meta
impl Unpin for Meta
impl UnsafeUnpin for Meta
Blanket Implementations§
Source§impl<N> AstNodeEdit for N
impl<N> AstNodeEdit for N
fn indent_level(&self) -> IndentLevel
fn indent(&self, level: IndentLevel) -> Self
fn indent_with_mapping(&self, level: IndentLevel, make: &SyntaxFactory) -> Self
fn dedent(&self, level: IndentLevel) -> Self
fn reset_indent(&self) -> Self
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> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more