Basic constructor macro for vl-shadowcheck-state structures.
(make-vl-shadowcheck-state [:lexscopes <lexscopes>] [:ss <ss>] [:design <design>])
This is the usual way to construct vl-shadowcheck-state structures. It simply conses together a structure with the specified fields.
This macro generates a new vl-shadowcheck-state structure from scratch. See also change-vl-shadowcheck-state, which can "change" an existing structure, instead.
This is an ordinary
Macro:
(defmacro make-vl-shadowcheck-state (&rest args) (std::make-aggregate 'vl-shadowcheck-state args '((:lexscopes) (:ss) (:design)) 'make-vl-shadowcheck-state nil))
Function:
(defun vl-shadowcheck-state (lexscopes ss design) (declare (xargs :guard (and (vl-lexscopes-p lexscopes) (vl-scopestack-p ss) (vl-design-p design)))) (declare (xargs :guard t)) (let ((__function__ 'vl-shadowcheck-state)) (declare (ignorable __function__)) (b* ((lexscopes (mbe :logic (vl-lexscopes-fix lexscopes) :exec lexscopes)) (ss (mbe :logic (vl-scopestack-fix ss) :exec ss)) (design (mbe :logic (vl-design-fix design) :exec design))) (cons :vl-shadowcheck-state (std::prod-cons lexscopes (std::prod-cons ss design))))))