(vl-pp-portdecl x &key (ps 'ps)) → ps
Function:
(defun vl-pp-portdecl-fn (x ps) (declare (xargs :stobjs (ps))) (declare (xargs :guard (vl-portdecl-p x))) (let ((__function__ 'vl-pp-portdecl)) (declare (ignorable __function__)) (b* (((vl-portdecl x) x)) (vl-ps-seq (vl-progindent) (if x.atts (vl-pp-atts x.atts) ps) (vl-ps-span "vl_key" (vl-println? (vl-direction-string x.dir))) (vl-print " ") (if x.nettype (vl-ps-seq (vl-ps-span "vl_key" (vl-println? (vl-nettypename-string x.nettype))) (vl-print " ")) ps) (if (and (vl-datatype-case x.type :vl-coretype) (eq (vl-coretype->name x.type) :vl-logic)) (vl-ps-seq (if (vl-coretype->signedp x.type) (vl-ps-span "vl_key" (vl-print-str "signed ")) ps) (vl-pp-dimensionlist (vl-coretype->pdims x.type)) (if (consp (vl-coretype->pdims x.type)) (vl-print " ") ps)) (vl-ps-seq (vl-pp-datatype x.type) (vl-print " "))) (vl-print-wirename x.name) (let ((udims (vl-datatype->udims x.type))) (if (consp udims) (vl-ps-seq (vl-print " ") (vl-pp-dimensionlist udims)) ps)) (if x.default (vl-ps-seq (vl-print " = ") (vl-pp-expr x.default)) ps) (vl-println " ;")))))
Theorem:
(defthm vl-pp-portdecl-fn-of-vl-portdecl-fix-x (equal (vl-pp-portdecl-fn (vl-portdecl-fix x) ps) (vl-pp-portdecl-fn x ps)))
Theorem:
(defthm vl-pp-portdecl-fn-vl-portdecl-equiv-congruence-on-x (implies (vl-portdecl-equiv x x-equiv) (equal (vl-pp-portdecl-fn x ps) (vl-pp-portdecl-fn x-equiv ps))) :rule-classes :congruence)