QueryAttrs

Trait QueryAttrs 

Source
pub trait QueryAttrs<'a> {
    // Provided methods
    fn attributes_elements(
        &self,
        db: &'a dyn Database,
    ) -> impl Iterator<Item = Attribute<'a>> { ... }
    fn query_attr(
        &self,
        db: &'a dyn Database,
        attr: &'a str,
    ) -> impl Iterator<Item = Attribute<'a>> { ... }
    fn find_attr(
        &self,
        db: &'a dyn Database,
        attr: &'a str,
    ) -> Option<Attribute<'a>> { ... }
    fn has_attr(&self, db: &'a dyn Database, attr: &'a str) -> bool { ... }
    fn has_attr_with_arg(
        &self,
        db: &'a dyn Database,
        attr_name: &'a str,
        arg_name: &str,
    ) -> bool { ... }
}
Expand description

Trait for querying attributes of AST items.

Provided Methods§

Source

fn attributes_elements( &self, db: &'a dyn Database, ) -> impl Iterator<Item = Attribute<'a>>

Generic call to self.attributes(db).elements(db).

Source

fn query_attr( &self, db: &'a dyn Database, attr: &'a str, ) -> impl Iterator<Item = Attribute<'a>>

Collect all attributes named exactly attr attached to this node.

Source

fn find_attr( &self, db: &'a dyn Database, attr: &'a str, ) -> Option<Attribute<'a>>

Find first attribute named exactly attr attached to this node.

Source

fn has_attr(&self, db: &'a dyn Database, attr: &'a str) -> bool

Check if this node has an attribute named exactly attr.

Source

fn has_attr_with_arg( &self, db: &'a dyn Database, attr_name: &'a 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§

Source§

impl<'a> QueryAttrs<'a> for ImplItem<'a>

Source§

impl<'a> QueryAttrs<'a> for ModuleItem<'a>

Source§

impl<'a> QueryAttrs<'a> for Statement<'a>

Source§

impl<'a> QueryAttrs<'a> for TraitItem<'a>

Source§

impl<'a> QueryAttrs<'a> for AttributeList<'a>

Source§

impl<'a> QueryAttrs<'a> for FunctionWithBody<'a>

Source§

impl<'a> QueryAttrs<'a> for ItemConstant<'a>

Source§

impl<'a> QueryAttrs<'a> for ItemEnum<'a>

Source§

impl<'a> QueryAttrs<'a> for ItemExternFunction<'a>

Source§

impl<'a> QueryAttrs<'a> for ItemExternType<'a>

Source§

impl<'a> QueryAttrs<'a> for ItemImpl<'a>

Source§

impl<'a> QueryAttrs<'a> for ItemImplAlias<'a>

Source§

impl<'a> QueryAttrs<'a> for ItemInlineMacro<'a>

Source§

impl<'a> QueryAttrs<'a> for ItemMacroDeclaration<'a>

Source§

impl<'a> QueryAttrs<'a> for ItemModule<'a>

Source§

impl<'a> QueryAttrs<'a> for ItemStruct<'a>

Source§

impl<'a> QueryAttrs<'a> for ItemTrait<'a>

Source§

impl<'a> QueryAttrs<'a> for ItemTypeAlias<'a>

Source§

impl<'a> QueryAttrs<'a> for ItemUse<'a>

Source§

impl<'a> QueryAttrs<'a> for Member<'a>

Source§

impl<'a> QueryAttrs<'a> for StatementBreak<'a>

Source§

impl<'a> QueryAttrs<'a> for StatementContinue<'a>

Source§

impl<'a> QueryAttrs<'a> for StatementExpr<'a>

Source§

impl<'a> QueryAttrs<'a> for StatementLet<'a>

Source§

impl<'a> QueryAttrs<'a> for StatementReturn<'a>

Source§

impl<'a> QueryAttrs<'a> for TraitItemConstant<'a>

Source§

impl<'a> QueryAttrs<'a> for TraitItemFunction<'a>

Source§

impl<'a> QueryAttrs<'a> for TraitItemImpl<'a>

Source§

impl<'a> QueryAttrs<'a> for TraitItemType<'a>

Source§

impl<'a> QueryAttrs<'a> for Variant<'a>

Source§

impl<'a> QueryAttrs<'a> for SyntaxNode<'a>

Allows querying attributes of a syntax node, any typed node which QueryAttrs is implemented for should be added here.