(vl-genblob-scope-find-item name scope) → item
Function:
(defun vl-genblob-scope-find-item (name scope) (declare (xargs :guard (and (stringp name) (vl-genblob-p scope)))) (let ((__function__ 'vl-genblob-scope-find-item)) (declare (ignorable __function__)) (b* (((vl-genblob scope)) (?name (string-fix name))) (or (vl-find-vardecl name scope.vardecls) (vl-find-paramdecl name scope.paramdecls) (vl-find-fundecl name scope.fundecls) (vl-find-taskdecl name scope.taskdecls) (vl-find-typedef name scope.typedefs) (vl-find-modinst name scope.modinsts) (vl-find-gateinst name scope.gateinsts) (vl-find-genelement name scope.generates) (vl-find-interfaceport name scope.ifports)))))
Theorem:
(defthm return-type-of-vl-genblob-scope-find-item (b* ((item (vl-genblob-scope-find-item name scope))) (iff (vl-scopeitem-p item) item)) :rule-classes :rewrite)
Theorem:
(defthm vl-genblob-scope-find-item-of-str-fix-name (equal (vl-genblob-scope-find-item (str-fix name) scope) (vl-genblob-scope-find-item name scope)))
Theorem:
(defthm vl-genblob-scope-find-item-streqv-congruence-on-name (implies (streqv name name-equiv) (equal (vl-genblob-scope-find-item name scope) (vl-genblob-scope-find-item name-equiv scope))) :rule-classes :congruence)
Theorem:
(defthm vl-genblob-scope-find-item-of-vl-genblob-fix-scope (equal (vl-genblob-scope-find-item name (vl-genblob-fix scope)) (vl-genblob-scope-find-item name scope)))
Theorem:
(defthm vl-genblob-scope-find-item-vl-genblob-equiv-congruence-on-scope (implies (vl-genblob-equiv scope scope-equiv) (equal (vl-genblob-scope-find-item name scope) (vl-genblob-scope-find-item name scope-equiv))) :rule-classes :congruence)