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§unsafe fn clone_to_uninit(&self, dst: *mut T)
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<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