Basic constructor macro for jcunit structures.
(make-jcunit [:package? <package?>] [:imports <imports>] [:types <types>])
This is the usual way to construct jcunit structures. It simply conses together a structure with the specified fields.
This macro generates a new jcunit structure from scratch. See also change-jcunit, which can "change" an existing structure, instead.
This is an ordinary
Macro:
(defmacro make-jcunit (&rest args) (std::make-aggregate 'jcunit args '((:package?) (:imports) (:types)) 'make-jcunit nil))
Function:
(defun jcunit (package? imports types) (declare (xargs :guard (and (maybe-stringp package?) (jimport-listp imports) (jclass-listp types)))) (declare (xargs :guard t)) (let ((__function__ 'jcunit)) (declare (ignorable __function__)) (b* ((package? (mbe :logic (acl2::maybe-string-fix package?) :exec package?)) (imports (mbe :logic (jimport-list-fix imports) :exec imports)) (types (mbe :logic (jclass-list-fix types) :exec types))) (list (cons 'package? package?) (cons 'imports imports) (cons 'types types)))))