pub struct SubroutinePortData<'a> {
pub dir: Option<SubroutinePortDir>,
pub var: bool,
pub ty_name: Ambiguous<(Type<'a>, Option<SubroutinePortName<'a>>)>,
}
Expand description
A function or task port.
This is the inout logic [7:0]
part in inout logic [7:0] x[3]
.
Since the grammar allows for both omitting the type and omitting the port
name (the latter only if the subroutine has no body, i.e. is a prototype),
there is an ambiguity when just a name is provided: foo
may be a port with
implicit type, if foo
is not a defined type or the subroutine is not a
prototype, or foo
may be a port of type foo
without a name, if foo
is
a defined type.
Fields§
§dir: Option<SubroutinePortDir>
The direction of the port, if provided.
var: bool
Whether an explicit var
keyword was present.
ty_name: Ambiguous<(Type<'a>, Option<SubroutinePortName<'a>>)>
The type and/or name of the port.
Trait Implementations§
Source§impl<'a> AcceptVisitor<'a> for SubroutinePortData<'a>
impl<'a> AcceptVisitor<'a> for SubroutinePortData<'a>
Source§impl<'a> AnyNodeData for SubroutinePortData<'a>
impl<'a> AnyNodeData for SubroutinePortData<'a>
Source§fn get_name(&self) -> Option<Spanned<Name>>
fn get_name(&self) -> Option<Spanned<Name>>
Get this node’s name, or
None
if it does not have one.Source§fn fmt_indefinite(&self, fmt: &mut Formatter<'_>) -> Result
fn fmt_indefinite(&self, fmt: &mut Formatter<'_>) -> Result
Describe this node for diagnostics in indefinite form, e.g. “entity”. Read more
Source§fn fmt_definite(&self, fmt: &mut Formatter<'_>) -> Result
fn fmt_definite(&self, fmt: &mut Formatter<'_>) -> Result
Describe this node for diagnostics in definite form, e.g. “entity
‘top’”. Read more
fn as_data(&self) -> &dyn AnyNodeDatawhere
Self: Sized,
Source§fn format_indefinite(&self) -> FormatNodeIndefinite<'_>where
Self: Sized,
fn format_indefinite(&self) -> FormatNodeIndefinite<'_>where
Self: Sized,
Describe this node for diagnostics in indefinite form, e.g. “entity”.
Source§fn format_definite(&self) -> FormatNodeDefinite<'_>where
Self: Sized,
fn format_definite(&self) -> FormatNodeDefinite<'_>where
Self: Sized,
Describe this node for diagnostics in definite form, e.g. “entity
‘top’”.
Source§fn to_indefinite_string(&self) -> Stringwhere
Self: Sized,
fn to_indefinite_string(&self) -> Stringwhere
Self: Sized,
Describe this node for diagnostics in indefinite form, e.g. “entity”.
Source§fn to_definite_string(&self) -> Stringwhere
Self: Sized,
fn to_definite_string(&self) -> Stringwhere
Self: Sized,
Describe this node for diagnostics in definite form, e.g. “entity
‘top’”.
Source§impl<'a> Clone for SubroutinePortData<'a>
impl<'a> Clone for SubroutinePortData<'a>
Source§fn clone(&self) -> SubroutinePortData<'a>
fn clone(&self) -> SubroutinePortData<'a>
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moreSource§impl<'a> Debug for SubroutinePortData<'a>
impl<'a> Debug for SubroutinePortData<'a>
Source§impl<'a> ForEachChild<'a> for SubroutinePortData<'a>
impl<'a> ForEachChild<'a> for SubroutinePortData<'a>
Source§fn for_each_child(&'a self, each: &mut dyn FnMut(&'a dyn AnyNode<'a>))
fn for_each_child(&'a self, each: &mut dyn FnMut(&'a dyn AnyNode<'a>))
Apply a function to each child node.
Source§impl<'a> ForEachNode<'a> for SubroutinePortData<'a>
impl<'a> ForEachNode<'a> for SubroutinePortData<'a>
Source§fn for_each_node(&'a self, each: &mut dyn FnMut(&'a dyn AnyNode<'a>))
fn for_each_node(&'a self, each: &mut dyn FnMut(&'a dyn AnyNode<'a>))
Apply a function to this node.
Source§impl<'a> PartialEq for SubroutinePortData<'a>
impl<'a> PartialEq for SubroutinePortData<'a>
impl<'a> Eq for SubroutinePortData<'a>
impl<'a> StructuralPartialEq for SubroutinePortData<'a>
Auto Trait Implementations§
impl<'a> !Freeze for SubroutinePortData<'a>
impl<'a> !RefUnwindSafe for SubroutinePortData<'a>
impl<'a> Send for SubroutinePortData<'a>
impl<'a> Sync for SubroutinePortData<'a>
impl<'a> Unpin for SubroutinePortData<'a>
impl<'a> !UnwindSafe for SubroutinePortData<'a>
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