Struct stack_graphs::c::sg_partial_symbol_stack [−][src]
#[repr(C)]pub struct sg_partial_symbol_stack {
pub cells: sg_partial_symbol_stack_cell_handle,
pub direction: sg_deque_direction,
pub length: u32,
pub variable: sg_symbol_stack_variable,
}
Expand description
A pattern that might match against a symbol stack. Consists of a (possibly empty) list of partial scoped symbols.
(Note that unlike partial scope stacks, we don’t store any “symbol stack variable” here. We could! But with our current path-finding rules, every partial path will always have exactly one symbol stack variable, which will appear at the end of its precondition and postcondition. So for simplicity we just leave it out. At some point in the future we might add it in so that the symbol and scope stack formalisms and implementations are more obviously symmetric.)
Fields
cells: sg_partial_symbol_stack_cell_handle
The handle of the first element in the partial symbol stack, or SG_LIST_EMPTY_HANDLE if the list is empty, or 0 if the list is null.
direction: sg_deque_direction
length: u32
variable: sg_symbol_stack_variable
The symbol stack variable representing the unknown content of a partial symbol stack, or 0
if the variable is missing. (If so, this partial symbol stack can only match a symbol
stack with exactly the list of symbols in cells
, instead of any symbol stack with those
symbols as a prefix.)
Trait Implementations
Returns the “default value” for a type. Read more
Performs the conversion.
This method tests for self
and other
values to be equal, and is used
by ==
. Read more
This method tests for !=
.
Auto Trait Implementations
impl RefUnwindSafe for sg_partial_symbol_stack
impl Send for sg_partial_symbol_stack
impl Sync for sg_partial_symbol_stack
impl Unpin for sg_partial_symbol_stack
impl UnwindSafe for sg_partial_symbol_stack
Blanket Implementations
Mutably borrows from an owned value. Read more