(vl-print-ext-wirename modname wirename &key (ps 'ps)) prints a wire's name.
This is almost identical to vl-print-wirename, but is intended for messages where the module might not be apparent.
In text mode, we just print
<a class="vl_wirelink" href="javascript:showWireExt('mod', 'w')">w</a>
The module browser's web pages are responsible for defining the
Function:
(defun vl-print-ext-wirename-fn (modname wirename ps) (declare (xargs :stobjs (ps))) (declare (xargs :guard (and (stringp modname) (stringp wirename)))) (let ((__function__ 'vl-print-ext-wirename)) (declare (ignorable __function__)) (vl-ps-span "vl_id" (vl-when-html (vl-print-markup "<a class=\"vl_wirelink\" href=\"javascript:void(0);\" onClick=\"showWireExt('") (vl-print-url (string-fix modname)) (vl-print-markup "', '") (vl-print-url (string-fix wirename)) (vl-print-markup "')\">")) (vl-print-str (vl-maybe-escape-identifier wirename)) (vl-when-html (vl-print-markup "</a>")))))
Theorem:
(defthm vl-print-ext-wirename-fn-of-str-fix-modname (equal (vl-print-ext-wirename-fn (str-fix modname) wirename ps) (vl-print-ext-wirename-fn modname wirename ps)))
Theorem:
(defthm vl-print-ext-wirename-fn-streqv-congruence-on-modname (implies (streqv modname modname-equiv) (equal (vl-print-ext-wirename-fn modname wirename ps) (vl-print-ext-wirename-fn modname-equiv wirename ps))) :rule-classes :congruence)
Theorem:
(defthm vl-print-ext-wirename-fn-of-str-fix-wirename (equal (vl-print-ext-wirename-fn modname (str-fix wirename) ps) (vl-print-ext-wirename-fn modname wirename ps)))
Theorem:
(defthm vl-print-ext-wirename-fn-streqv-congruence-on-wirename (implies (streqv wirename wirename-equiv) (equal (vl-print-ext-wirename-fn modname wirename ps) (vl-print-ext-wirename-fn modname wirename-equiv ps))) :rule-classes :congruence)