• Top
    • Documentation
    • Books
    • Boolean-reasoning
    • Projects
    • Debugging
    • Std
    • Proof-automation
    • Macro-libraries
    • ACL2
    • Interfacing-tools
    • Hardware-verification
    • Software-verification
      • Kestrel-books
        • Crypto-hdwallet
        • Apt
        • Error-checking
        • Fty-extensions
        • Isar
        • Kestrel-utilities
        • Set
        • Soft
        • C
        • Bv
        • Imp-language
        • Event-macros
        • Java
          • Atj
            • Atj-implementation
              • Atj-types
              • Atj-java-primitive-array-model
              • Atj-java-abstract-syntax
                • Jbinop
                • Jmethod
                  • Jmethodp
                  • Jmethod-fix
                  • Make-jmethod
                    • Jmethod-equiv
                    • Change-jmethod
                    • Jmethod->synchronized?
                    • Jmethod->strictfp?
                    • Jmethod->abstract?
                    • Jmethod->throws
                    • Jmethod->static?
                    • Jmethod->result
                    • Jmethod->params
                    • Jmethod->native?
                    • Jmethod->name
                    • Jmethod->final?
                    • Jmethod->body
                    • Jmethod->access
                  • Jtype
                  • Jfield
                  • Jexprs
                  • Jliteral
                  • Junop
                  • Jlocvar
                  • Jcunit
                  • Jaccess
                  • Maybe-jexpr
                  • Jparam
                  • Jimport
                  • Jcinitializer
                  • Jresult
                  • Jstatems+jblocks
                  • Jexpr-get-field
                  • Jliteral-long-dec-nouscores
                  • Nat-to-dec-chars-theorems
                  • Jmethods-to-jcbody-elements
                  • Jclasses-to-jcbody-elements
                  • Jblock-locvar-final
                  • Jblock-locvar
                  • Jliteral-int-dec-nouscores
                  • Jfields-to-jcbody-elements
                  • Jblock-for
                  • Jblock-smethod
                  • Jblock-imethod
                  • Jblock-ifelse
                  • Jblock-asg-name
                  • Jparam-list->types
                  • Jparam-list->names
                  • Jexpr-lit-long-dec-nouscores
                  • Jexpr-lit-int-dec-nouscores
                  • Jexpr-literal-string
                  • Jexpr-literal-floating
                  • Jexpr-literal-character
                  • Jblock-while
                  • Jblock-method
                  • Jblock-if
                  • Jblock-expr
                  • Jblock-do
                  • Jblock-asg
                  • Jexpr-name-list
                  • Jblock-throw
                  • Jblock-return
                  • Jparam-list
                  • Jimport-list
                  • Jexpr-literal-true
                  • Jexpr-literal-null
                  • Jexpr-literal-false
                  • Jexpr-literal-1
                  • Jexpr-literal-0
                  • Jclass-list
                  • Jblock-continue
                  • Jtype-short
                  • Jtype-long
                  • Jtype-list
                  • Jtype-int
                  • Jtype-float
                  • Jtype-double
                  • Jtype-char
                  • Jtype-byte
                  • Jtype-boolean
                  • Jmethod-list
                  • Jliteral-list
                  • Jfield-list
                  • Jblock-list
                  • Jblock-break
                  • Jclasses+jcmembers
                • Atj-input-processing
                • Atj-java-pretty-printer
                • Atj-code-generation
                • Atj-java-primitives
                • Atj-java-primitive-arrays
                • Atj-type-macros
                • Atj-java-syntax-operations
                • Atj-fn
                • Atj-library-extensions
                • Atj-java-input-types
                • Atj-test-structures
                • Aij-notions
                • Atj-macro-definition
              • Atj-tutorial
            • Aij
            • Language
          • Bitcoin
          • Ethereum
          • Yul
          • Zcash
          • ACL2-programming-language
          • Prime-fields
          • Json
          • Syntheto
          • File-io-light
          • Cryptography
          • Number-theory
          • Lists-light
          • Axe
          • Builtins
          • Solidity
          • Helpers
          • Htclient
          • Typed-lists-light
          • Arithmetic-light
        • X86isa
        • Axe
        • Execloader
      • Math
      • Testing-utilities
    • Jmethod

    Make-jmethod

    Basic constructor macro for jmethod structures.

    Syntax
    (make-jmethod [:access <access>] 
                  [:abstract? <abstract?>] 
                  [:static? <static?>] 
                  [:final? <final?>] 
                  [:synchronized? <synchronized?>] 
                  [:native? <native?>] 
                  [:strictfp? <strictfp?>] 
                  [:result <result>] 
                  [:name <name>] 
                  [:params <params>] 
                  [:throws <throws>] 
                  [:body <body>]) 
    

    This is the usual way to construct jmethod structures. It simply conses together a structure with the specified fields.

    This macro generates a new jmethod structure from scratch. See also change-jmethod, which can "change" an existing structure, instead.

    Definition

    This is an ordinary make- macro introduced by fty::defprod.

    Macro: make-jmethod

    (defmacro make-jmethod (&rest args)
      (std::make-aggregate 'jmethod
                           args
                           '((:access)
                             (:abstract?)
                             (:static?)
                             (:final?)
                             (:synchronized?)
                             (:native?)
                             (:strictfp?)
                             (:result)
                             (:name)
                             (:params)
                             (:throws)
                             (:body))
                           'make-jmethod
                           nil))

    Function: jmethod

    (defun jmethod (access abstract? static?
                           final? synchronized? native? strictfp?
                           result name params throws body)
      (declare (xargs :guard (and (jaccessp access)
                                  (booleanp abstract?)
                                  (booleanp static?)
                                  (booleanp final?)
                                  (booleanp synchronized?)
                                  (booleanp native?)
                                  (booleanp strictfp?)
                                  (jresultp result)
                                  (stringp name)
                                  (jparam-listp params)
                                  (string-listp throws)
                                  (jblockp body))))
      (declare (xargs :guard t))
      (let ((__function__ 'jmethod))
        (declare (ignorable __function__))
        (b* ((access (mbe :logic (jaccess-fix access)
                          :exec access))
             (abstract? (mbe :logic (acl2::bool-fix abstract?)
                             :exec abstract?))
             (static? (mbe :logic (acl2::bool-fix static?)
                           :exec static?))
             (final? (mbe :logic (acl2::bool-fix final?)
                          :exec final?))
             (synchronized? (mbe :logic (acl2::bool-fix synchronized?)
                                 :exec synchronized?))
             (native? (mbe :logic (acl2::bool-fix native?)
                           :exec native?))
             (strictfp? (mbe :logic (acl2::bool-fix strictfp?)
                             :exec strictfp?))
             (result (mbe :logic (jresult-fix result)
                          :exec result))
             (name (mbe :logic (str-fix name) :exec name))
             (params (mbe :logic (jparam-list-fix params)
                          :exec params))
             (throws (mbe :logic (string-list-fix throws)
                          :exec throws))
             (body (mbe :logic (jblock-fix body)
                        :exec body)))
          (list (cons 'access access)
                (cons 'abstract? abstract?)
                (cons 'static? static?)
                (cons 'final? final?)
                (cons 'synchronized? synchronized?)
                (cons 'native? native?)
                (cons 'strictfp? strictfp?)
                (cons 'result result)
                (cons 'name name)
                (cons 'params params)
                (cons 'throws throws)
                (cons 'body body)))))