pub trait QueryAttrs {
// Provided methods
fn attributes_elements<'a>(
&self,
db: &'a dyn SyntaxGroup,
) -> impl Iterator<Item = Attribute> + 'a { ... }
fn query_attr<'a>(
&self,
db: &'a dyn SyntaxGroup,
attr: &'a str,
) -> impl Iterator<Item = Attribute> + 'a { ... }
fn find_attr(&self, db: &dyn SyntaxGroup, attr: &str) -> Option<Attribute> { ... }
fn has_attr(&self, db: &dyn SyntaxGroup, attr: &str) -> bool { ... }
fn has_attr_with_arg(
&self,
db: &dyn SyntaxGroup,
attr_name: &str,
arg_name: &str,
) -> bool { ... }
}
Expand description
Trait for querying attributes of AST items.
Provided Methods§
Sourcefn attributes_elements<'a>(
&self,
db: &'a dyn SyntaxGroup,
) -> impl Iterator<Item = Attribute> + 'a
fn attributes_elements<'a>( &self, db: &'a dyn SyntaxGroup, ) -> impl Iterator<Item = Attribute> + 'a
Generic call to self.attributes(db).elements(db)
.
Sourcefn query_attr<'a>(
&self,
db: &'a dyn SyntaxGroup,
attr: &'a str,
) -> impl Iterator<Item = Attribute> + 'a
fn query_attr<'a>( &self, db: &'a dyn SyntaxGroup, attr: &'a str, ) -> impl Iterator<Item = Attribute> + 'a
Collect all attributes named exactly attr
attached to this node.
Sourcefn find_attr(&self, db: &dyn SyntaxGroup, attr: &str) -> Option<Attribute>
fn find_attr(&self, db: &dyn SyntaxGroup, attr: &str) -> Option<Attribute>
Find first attribute named exactly attr
attached do this node.
Sourcefn has_attr(&self, db: &dyn SyntaxGroup, attr: &str) -> bool
fn has_attr(&self, db: &dyn SyntaxGroup, attr: &str) -> bool
Check if this node has an attribute named exactly attr
.
Sourcefn has_attr_with_arg(
&self,
db: &dyn SyntaxGroup,
attr_name: &str,
arg_name: &str,
) -> bool
fn has_attr_with_arg( &self, db: &dyn SyntaxGroup, attr_name: &str, arg_name: &str, ) -> bool
Checks if the given object has an attribute with the given name and argument.
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.
Implementors§
impl QueryAttrs for ImplItem
impl QueryAttrs for ModuleItem
impl QueryAttrs for Statement
impl QueryAttrs for TraitItem
impl QueryAttrs for AttributeList
impl QueryAttrs for FunctionWithBody
impl QueryAttrs for ItemConstant
impl QueryAttrs for ItemEnum
impl QueryAttrs for ItemExternFunction
impl QueryAttrs for ItemExternType
impl QueryAttrs for ItemImpl
impl QueryAttrs for ItemImplAlias
impl QueryAttrs for ItemInlineMacro
impl QueryAttrs for ItemMacroDeclaration
impl QueryAttrs for ItemModule
impl QueryAttrs for ItemStruct
impl QueryAttrs for ItemTrait
impl QueryAttrs for ItemTypeAlias
impl QueryAttrs for ItemUse
impl QueryAttrs for Member
impl QueryAttrs for StatementBreak
impl QueryAttrs for StatementContinue
impl QueryAttrs for StatementExpr
impl QueryAttrs for StatementLet
impl QueryAttrs for StatementReturn
impl QueryAttrs for TraitItemConstant
impl QueryAttrs for TraitItemFunction
impl QueryAttrs for TraitItemImpl
impl QueryAttrs for TraitItemType
impl QueryAttrs for Variant
impl QueryAttrs for SyntaxNode
Allows querying attributes of a syntax node, any typed node which QueryAttrs is implemented for should be added here.