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