Struct cairo_lang_syntax::node::ast::ItemTrait
source · pub struct ItemTrait { /* private fields */ }Implementations§
source§impl ItemTrait
impl ItemTrait
pub const INDEX_ATTRIBUTES: usize = 0usize
pub const INDEX_VISIBILITY: usize = 1usize
pub const INDEX_TRAIT_KW: usize = 2usize
pub const INDEX_NAME: usize = 3usize
pub const INDEX_GENERIC_PARAMS: usize = 4usize
pub const INDEX_BODY: usize = 5usize
pub fn new_green( db: &dyn SyntaxGroup, attributes: AttributeListGreen, visibility: VisibilityGreen, trait_kw: TerminalTraitGreen, name: TerminalIdentifierGreen, generic_params: OptionWrappedGenericParamListGreen, body: MaybeTraitBodyGreen, ) -> ItemTraitGreen
source§impl ItemTrait
impl ItemTrait
pub fn attributes(&self, db: &dyn SyntaxGroup) -> AttributeList
pub fn visibility(&self, db: &dyn SyntaxGroup) -> Visibility
pub fn trait_kw(&self, db: &dyn SyntaxGroup) -> TerminalTrait
pub fn name(&self, db: &dyn SyntaxGroup) -> TerminalIdentifier
pub fn generic_params( &self, db: &dyn SyntaxGroup, ) -> OptionWrappedGenericParamList
pub fn body(&self, db: &dyn SyntaxGroup) -> MaybeTraitBody
Trait Implementations§
source§impl From<&ItemTrait> for SyntaxStablePtrId
impl From<&ItemTrait> for SyntaxStablePtrId
source§impl QueryAttrs for ItemTrait
impl QueryAttrs for ItemTrait
source§fn query_attr(&self, db: &dyn SyntaxGroup, attr: &str) -> Vec<Attribute>
fn query_attr(&self, db: &dyn SyntaxGroup, attr: &str) -> Vec<Attribute>
Collect all attributes named exactly
attr attached to this node.source§fn 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.source§fn 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.source§fn 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.
source§impl TypedSyntaxNode for ItemTrait
impl TypedSyntaxNode for ItemTrait
source§const OPTIONAL_KIND: Option<SyntaxKind> = _
const OPTIONAL_KIND: Option<SyntaxKind> = _
The relevant SyntaxKind. None for enums.
type StablePtr = ItemTraitPtr
type Green = ItemTraitGreen
fn missing(db: &dyn SyntaxGroup) -> Self::Green
fn from_syntax_node(db: &dyn SyntaxGroup, node: SyntaxNode) -> Self
fn as_syntax_node(&self) -> SyntaxNode
fn stable_ptr(&self) -> Self::StablePtr
impl Eq for ItemTrait
impl StructuralPartialEq for ItemTrait
Auto Trait Implementations§
impl Freeze for ItemTrait
impl RefUnwindSafe for ItemTrait
impl Send for ItemTrait
impl Sync for ItemTrait
impl Unpin for ItemTrait
impl UnwindSafe for ItemTrait
Blanket Implementations§
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§default unsafe fn clone_to_uninit(&self, dst: *mut T)
default unsafe fn clone_to_uninit(&self, dst: *mut T)
🔬This is a nightly-only experimental API. (
clone_to_uninit)source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.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