(vl-annotate-module x design config) → new-x
Function:
(defun vl-annotate-module (x design config) (declare (xargs :guard (and (vl-module-p x) (vl-design-p design) (vl-simpconfig-p config)))) (let ((__function__ 'vl-annotate-module)) (declare (ignorable __function__)) (b* ((ss (vl-scopestack-init (vl-design-fix design))) (x (vl-module-resolve-ansi-portdecls x ss)) (x (vl-module-resolve-nonansi-interfaceports x ss)) (x (vl-module-add-enumname-declarations x)) (x (vl-module-make-implicit-wires x ss)) (x (vl-module-portdecl-sign x)) (x (vl-module-basicsanity x)) (x (vl-module-increwrite x)) (x (vl-module-prohibit-incexprs x)) (x (if (vl-simpconfig->defer-argresolve config) x (vl-module-argresolve x ss))) ((mv warnings x) (vl-module-type-disambiguate x ss))) (change-vl-module x :warnings (append-without-guard warnings (vl-module->warnings x))))))
Theorem:
(defthm vl-module-p-of-vl-annotate-module (b* ((new-x (vl-annotate-module x design config))) (vl-module-p new-x)) :rule-classes :rewrite)