(vl-make-structmembers atts rand type decls) → decls
Function:
(defun vl-make-structmembers (atts rand type decls) (declare (xargs :guard (and (vl-atts-p atts) (vl-randomqualifier-p rand) (vl-datatype-p type) (vl-vardeclassignlist-p decls)))) (declare (xargs :guard (vl-vardeclassignlist-newfree-p decls))) (let ((__function__ 'vl-make-structmembers)) (declare (ignorable __function__)) (b* (((when (atom decls)) nil) ((vl-vardeclassign decl) (car decls))) (cons (make-vl-structmember :atts atts :rand rand :type (vl-datatype-update-udims decl.dims type) :name decl.id :rhs (and decl.rhs (vl-rhsexpr->guts decl.rhs))) (vl-make-structmembers atts rand type (cdr decls))))))
Theorem:
(defthm vl-structmemberlist-p-of-vl-make-structmembers (b* ((decls (vl-make-structmembers atts rand type decls))) (vl-structmemberlist-p decls)) :rule-classes :rewrite)