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