pub enum Object {
Device(Device),
Block(Block),
Register(Register),
Command(Command),
Buffer(Buffer),
FieldSet(FieldSet),
Enum(Enum),
Extern(Extern),
Field(Field),
}Variants§
Device(Device)
Block(Block)
Register(Register)
Command(Command)
Buffer(Buffer)
FieldSet(FieldSet)
Enum(Enum)
Extern(Extern)
Field(Field)
Implementations§
Source§impl Object
impl Object
pub fn device_config(&self) -> Option<&DeviceConfig>
pub fn child_objects_mut(&mut self) -> &mut [Object]
pub fn child_objects_vec(&mut self) -> Option<&mut Vec<Object>>
pub fn child_objects(&self) -> &[Object]
Sourcepub fn name_mut(&mut self) -> &mut Identifier<RuntimeType>
pub fn name_mut(&mut self) -> &mut Identifier<RuntimeType>
Get a mutable reference to the name of the specific object
Sourcepub fn name(&self) -> &Identifier<RuntimeType>
pub fn name(&self) -> &Identifier<RuntimeType>
Get a reference to the name of the specific object
Sourcepub fn repeat_mut(&mut self) -> Option<&mut Repeat>
pub fn repeat_mut(&mut self) -> Option<&mut Repeat>
Return the repeat value if it exists
pub fn as_field_set(&self) -> Option<&FieldSet>
pub fn as_field_set_mut(&mut self) -> Option<&mut FieldSet>
pub fn as_enum(&self) -> Option<&Enum>
pub fn allow_address_overlap(&self) -> bool
pub fn node_type(&self) -> NodeType
Sourcepub fn fieldset_refs(&self) -> Vec<Spanned<IdentifierRef<Type>>>
pub fn fieldset_refs(&self) -> Vec<Spanned<IdentifierRef<Type>>>
Get the fieldset refs of the object. Only returns non-zero for registers and commands
pub fn properties_span(&self) -> Option<Span>
Trait Implementations§
impl StructuralPartialEq for Object
Auto Trait Implementations§
impl Freeze for Object
impl RefUnwindSafe for Object
impl Send for Object
impl Sync for Object
impl Unpin for Object
impl UnsafeUnpin for Object
impl UnwindSafe for Object
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§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 moreimpl<T> OrderedSeq<'_, T> for Twhere
T: Clone,
Source§impl<'p, T> Seq<'p, T> for Twhere
T: Clone,
impl<'p, T> Seq<'p, T> for Twhere
T: Clone,
Source§impl<T> SpanExt for T
impl<T> SpanExt for T
fn with_span(self, span: impl Into<Span>) -> Spanned<Self>where
Self: Sized,
Source§fn spanned(self, span: impl Into<Span>) -> Spanned<Self>where
Self: Sized,
fn spanned(self, span: impl Into<Span>) -> Spanned<Self>where
Self: Sized,
Same as
Self::with_span, but can avoid name collisionsfn with_dummy_span(self) -> Spanned<Self>where
Self: Sized,
fn into_with_dummy_span<T>(self) -> Spanned<T>where
Self: Into<T>,
Source§impl<T, S> SpanWrap<S> for Twhere
S: WrappingSpan<T>,
impl<T, S> SpanWrap<S> for Twhere
S: WrappingSpan<T>,
Source§fn with_span(self, span: S) -> <S as WrappingSpan<Self>>::Spanned
fn with_span(self, span: S) -> <S as WrappingSpan<Self>>::Spanned
Invokes
WrappingSpan::make_wrapped to wrap an AST node in a span.