The following are all schemas for the java AST:
{:javaparser-clj.malli/annotation-declaration
[:merge
[:ref :javaparser-clj.malli/type-declaration-base]
[:map [:node/kind {:optional true} [:= :annotation-declaration]]]],
:javaparser-clj.malli/annotation-expr
[:multi
{:dispatch :node/kind}
[:marker-annotation-expr
[:ref :javaparser-clj.malli/marker-annotation-expr]]
[:normal-annotation-expr
[:ref :javaparser-clj.malli/normal-annotation-expr]]
[:single-member-annotation-expr
[:ref :javaparser-clj.malli/single-member-annotation-expr]]],
:javaparser-clj.malli/annotation-expr-base
[:merge
[:ref :javaparser-clj.malli/expression-base]
[:map
[:node/kind {:optional true} [:= :annotation-expr]]
[:name {:optional nil} [:ref :javaparser-clj.malli/name]]]],
:javaparser-clj.malli/annotation-member-declaration
[:merge
[:ref :javaparser-clj.malli/body-declaration-base]
[:map
[:node/kind {:optional true} [:= :annotation-member-declaration]]
[:modifiers
{:optional nil}
[:sequential [:ref :javaparser-clj.malli/modifier]]]
[:type {:optional nil} [:ref :javaparser-clj.malli/type]]
[:name {:optional nil} [:ref :javaparser-clj.malli/simple-name]]
[:default-value
{:optional true}
[:ref :javaparser-clj.malli/expression]]]],
:javaparser-clj.malli/array-access-expr
[:merge
[:ref :javaparser-clj.malli/expression-base]
[:map
[:node/kind {:optional true} [:= :array-access-expr]]
[:name {:optional nil} [:ref :javaparser-clj.malli/expression]]
[:index {:optional nil} [:ref :javaparser-clj.malli/expression]]]],
:javaparser-clj.malli/array-brackets-position [:enum :name :type],
:javaparser-clj.malli/array-creation-expr
[:merge
[:ref :javaparser-clj.malli/expression-base]
[:map
[:node/kind {:optional true} [:= :array-creation-expr]]
[:levels
{:optional nil}
[:sequential [:ref :javaparser-clj.malli/array-creation-level]]]
[:element-type {:optional nil} [:ref :javaparser-clj.malli/type]]
[:initializer
{:optional true}
[:ref :javaparser-clj.malli/array-initializer-expr]]]],
:javaparser-clj.malli/array-creation-level
[:merge
[:ref :javaparser-clj.malli/node-base]
[:map
[:node/kind {:optional true} [:= :array-creation-level]]
[:dimension
{:optional true}
[:ref :javaparser-clj.malli/expression]]
[:annotations
{:optional nil}
[:sequential [:ref :javaparser-clj.malli/annotation-expr]]]]],
:javaparser-clj.malli/array-initializer-expr
[:merge
[:ref :javaparser-clj.malli/expression-base]
[:map
[:node/kind {:optional true} [:= :array-initializer-expr]]
[:values
{:optional nil}
[:sequential [:ref :javaparser-clj.malli/expression]]]]],
:javaparser-clj.malli/array-type
[:merge
[:ref :javaparser-clj.malli/reference-type-base]
[:map
[:node/kind {:optional true} [:= :array-type]]
[:component-type {:optional nil} [:ref :javaparser-clj.malli/type]]
[:origin
{:optional nil}
[:ref :javaparser-clj.malli/array-brackets-position]]]],
:javaparser-clj.malli/assert-stmt
[:merge
[:ref :javaparser-clj.malli/statement-base]
[:map
[:node/kind {:optional true} [:= :assert-stmt]]
[:check {:optional nil} [:ref :javaparser-clj.malli/expression]]
[:message
{:optional true}
[:ref :javaparser-clj.malli/expression]]]],
:javaparser-clj.malli/assign-expr
[:merge
[:ref :javaparser-clj.malli/expression-base]
[:map
[:node/kind {:optional true} [:= :assign-expr]]
[:target {:optional nil} [:ref :javaparser-clj.malli/expression]]
[:value {:optional nil} [:ref :javaparser-clj.malli/expression]]
[:operator
{:optional nil}
[:ref :javaparser-clj.malli/assign-op]]]],
:javaparser-clj.malli/assign-op
[:enum
:assign
:add
:sub
:mul
:div
:bit-and
:bit-or
:xor
:mod
:bit-shift-left
:bit-shift-right
:unsigned-bit-shift-right],
:javaparser-clj.malli/binary-expr
[:merge
[:ref :javaparser-clj.malli/expression-base]
[:map
[:node/kind {:optional true} [:= :binary-expr]]
[:left {:optional nil} [:ref :javaparser-clj.malli/expression]]
[:right {:optional nil} [:ref :javaparser-clj.malli/expression]]
[:operator
{:optional nil}
[:ref :javaparser-clj.malli/binary-op]]]],
:javaparser-clj.malli/binary-op
[:enum
:or
:and
:bit-or
:bit-and
:xor
:equal
:not-equal
:less
:greater
:less-or-equal
:greater-or-equal
:bit-shift-left
:bit-shift-right
:unsigned-bit-shift-right
:add
:sub
:mul
:div
:mod],
:javaparser-clj.malli/block-comment
[:merge
[:ref :javaparser-clj.malli/comment-base]
[:map [:node/kind {:optional true} [:= :block-comment]]]],
:javaparser-clj.malli/block-stmt
[:merge
[:ref :javaparser-clj.malli/statement-base]
[:map
[:node/kind {:optional true} [:= :block-stmt]]
[:statements
{:optional nil}
[:sequential [:ref :javaparser-clj.malli/statement]]]]],
:javaparser-clj.malli/body-declaration
[:multi
{:dispatch :node/kind}
[:annotation-member-declaration
[:ref :javaparser-clj.malli/annotation-member-declaration]]
[:callable-declaration
[:ref :javaparser-clj.malli/callable-declaration]]
[:compact-constructor-declaration
[:ref :javaparser-clj.malli/compact-constructor-declaration]]
[:enum-constant-declaration
[:ref :javaparser-clj.malli/enum-constant-declaration]]
[:field-declaration [:ref :javaparser-clj.malli/field-declaration]]
[:initializer-declaration
[:ref :javaparser-clj.malli/initializer-declaration]]
[:type-declaration [:ref :javaparser-clj.malli/type-declaration]]],
:javaparser-clj.malli/body-declaration-base
[:merge
[:ref :javaparser-clj.malli/node-base]
[:map
[:node/kind {:optional true} [:= :body-declaration]]
[:annotations
{:optional nil}
[:sequential [:ref :javaparser-clj.malli/annotation-expr]]]]],
:javaparser-clj.malli/boolean-literal-expr
[:merge
[:ref :javaparser-clj.malli/literal-expr-base]
[:map
[:node/kind {:optional true} [:= :boolean-literal-expr]]
[:value {:optional nil} :boolean]]],
:javaparser-clj.malli/break-stmt
[:merge
[:ref :javaparser-clj.malli/statement-base]
[:map
[:node/kind {:optional true} [:= :break-stmt]]
[:label
{:optional true}
[:ref :javaparser-clj.malli/simple-name]]]],
:javaparser-clj.malli/callable-declaration
[:multi
{:dispatch :node/kind}
[:constructor-declaration
[:ref :javaparser-clj.malli/constructor-declaration]]
[:method-declaration
[:ref :javaparser-clj.malli/method-declaration]]],
:javaparser-clj.malli/callable-declaration-base
[:merge
[:ref :javaparser-clj.malli/body-declaration-base]
[:map
[:node/kind {:optional true} [:= :callable-declaration]]
[:modifiers
{:optional nil}
[:sequential [:ref :javaparser-clj.malli/modifier]]]
[:type-parameters
{:optional nil}
[:sequential [:ref :javaparser-clj.malli/type-parameter]]]
[:name {:optional nil} [:ref :javaparser-clj.malli/simple-name]]
[:parameters
{:optional nil}
[:sequential [:ref :javaparser-clj.malli/parameter]]]
[:thrown-exceptions
{:optional nil}
[:sequential [:ref :javaparser-clj.malli/reference-type]]]
[:receiver-parameter
{:optional true}
[:ref :javaparser-clj.malli/receiver-parameter]]]],
:javaparser-clj.malli/cast-expr
[:merge
[:ref :javaparser-clj.malli/expression-base]
[:map
[:node/kind {:optional true} [:= :cast-expr]]
[:type {:optional nil} [:ref :javaparser-clj.malli/type]]
[:expression
{:optional nil}
[:ref :javaparser-clj.malli/expression]]]],
:javaparser-clj.malli/catch-clause
[:merge
[:ref :javaparser-clj.malli/node-base]
[:map
[:node/kind {:optional true} [:= :catch-clause]]
[:parameter {:optional nil} [:ref :javaparser-clj.malli/parameter]]
[:body {:optional nil} [:ref :javaparser-clj.malli/block-stmt]]]],
:javaparser-clj.malli/char-literal-expr
[:merge
[:ref :javaparser-clj.malli/literal-string-value-expr-base]
[:map [:node/kind {:optional true} [:= :char-literal-expr]]]],
:javaparser-clj.malli/class-expr
[:merge
[:ref :javaparser-clj.malli/expression-base]
[:map
[:node/kind {:optional true} [:= :class-expr]]
[:type {:optional nil} [:ref :javaparser-clj.malli/type]]]],
:javaparser-clj.malli/class-or-interface-declaration
[:merge
[:ref :javaparser-clj.malli/type-declaration-base]
[:map
[:node/kind {:optional true} [:= :class-or-interface-declaration]]
[:interface? {:optional nil} :boolean]
[:type-parameters
{:optional nil}
[:sequential [:ref :javaparser-clj.malli/type-parameter]]]
[:extended-types
{:optional nil}
[:sequential [:ref :javaparser-clj.malli/class-or-interface-type]]]
[:implemented-types
{:optional nil}
[:sequential
[:ref :javaparser-clj.malli/class-or-interface-type]]]]],
:javaparser-clj.malli/class-or-interface-type
[:merge
[:ref :javaparser-clj.malli/reference-type-base]
[:map
[:node/kind {:optional true} [:= :class-or-interface-type]]
[:scope
{:optional true}
[:ref :javaparser-clj.malli/class-or-interface-type]]
[:name {:optional nil} [:ref :javaparser-clj.malli/simple-name]]
[:type-arguments
{:optional true}
[:sequential [:ref :javaparser-clj.malli/type]]]]],
:javaparser-clj.malli/comment
[:multi
{:dispatch :node/kind}
[:block-comment [:ref :javaparser-clj.malli/block-comment]]
[:javadoc-comment [:ref :javaparser-clj.malli/javadoc-comment]]
[:line-comment [:ref :javaparser-clj.malli/line-comment]]],
:javaparser-clj.malli/comment-base
[:merge
[:map [:range {:optional true} [:ref :javaparser-clj.malli/range]]]
[:map [:content {:optional nil} :string]]],
:javaparser-clj.malli/compact-constructor-declaration
[:merge
[:ref :javaparser-clj.malli/body-declaration-base]
[:map
[:node/kind {:optional true} [:= :compact-constructor-declaration]]
[:modifiers
{:optional nil}
[:sequential [:ref :javaparser-clj.malli/modifier]]]
[:body {:optional nil} [:ref :javaparser-clj.malli/block-stmt]]
[:type-parameters
{:optional nil}
[:sequential [:ref :javaparser-clj.malli/type-parameter]]]
[:name {:optional nil} [:ref :javaparser-clj.malli/simple-name]]
[:thrown-exceptions
{:optional nil}
[:sequential [:ref :javaparser-clj.malli/reference-type]]]]],
:javaparser-clj.malli/compilation-unit
[:merge
[:ref :javaparser-clj.malli/node-base]
[:map
[:node/kind {:optional true} [:= :compilation-unit]]
[:package
{:optional true}
[:ref :javaparser-clj.malli/package-declaration]]
[:imports
{:optional nil}
[:sequential [:ref :javaparser-clj.malli/import-declaration]]]
[:types
{:optional nil}
[:sequential [:ref :javaparser-clj.malli/type-declaration]]]
[:module
{:optional true}
[:ref :javaparser-clj.malli/module-declaration]]]],
:javaparser-clj.malli/conditional-expr
[:merge
[:ref :javaparser-clj.malli/expression-base]
[:map
[:node/kind {:optional true} [:= :conditional-expr]]
[:condition {:optional nil} [:ref :javaparser-clj.malli/expression]]
[:then-expr {:optional nil} [:ref :javaparser-clj.malli/expression]]
[:else-expr
{:optional nil}
[:ref :javaparser-clj.malli/expression]]]],
:javaparser-clj.malli/constructor-declaration
[:merge
[:ref :javaparser-clj.malli/callable-declaration-base]
[:map
[:node/kind {:optional true} [:= :constructor-declaration]]
[:body {:optional nil} [:ref :javaparser-clj.malli/block-stmt]]]],
:javaparser-clj.malli/continue-stmt
[:merge
[:ref :javaparser-clj.malli/statement-base]
[:map
[:node/kind {:optional true} [:= :continue-stmt]]
[:label
{:optional true}
[:ref :javaparser-clj.malli/simple-name]]]],
:javaparser-clj.malli/do-stmt
[:merge
[:ref :javaparser-clj.malli/statement-base]
[:map
[:node/kind {:optional true} [:= :do-stmt]]
[:body {:optional nil} [:ref :javaparser-clj.malli/statement]]
[:condition
{:optional nil}
[:ref :javaparser-clj.malli/expression]]]],
:javaparser-clj.malli/double-literal-expr
[:merge
[:ref :javaparser-clj.malli/literal-string-value-expr-base]
[:map [:node/kind {:optional true} [:= :double-literal-expr]]]],
:javaparser-clj.malli/empty-stmt
[:merge
[:ref :javaparser-clj.malli/statement-base]
[:map [:node/kind {:optional true} [:= :empty-stmt]]]],
:javaparser-clj.malli/enclosed-expr
[:merge
[:ref :javaparser-clj.malli/expression-base]
[:map
[:node/kind {:optional true} [:= :enclosed-expr]]
[:inner {:optional nil} [:ref :javaparser-clj.malli/expression]]]],
:javaparser-clj.malli/enum-constant-declaration
[:merge
[:ref :javaparser-clj.malli/body-declaration-base]
[:map
[:node/kind {:optional true} [:= :enum-constant-declaration]]
[:name {:optional nil} [:ref :javaparser-clj.malli/simple-name]]
[:arguments
{:optional nil}
[:sequential [:ref :javaparser-clj.malli/expression]]]
[:class-body
{:optional nil}
[:sequential [:ref :javaparser-clj.malli/body-declaration]]]]],
:javaparser-clj.malli/enum-declaration
[:merge
[:ref :javaparser-clj.malli/type-declaration-base]
[:map
[:node/kind {:optional true} [:= :enum-declaration]]
[:implemented-types
{:optional nil}
[:sequential [:ref :javaparser-clj.malli/class-or-interface-type]]]
[:entries
{:optional nil}
[:sequential
[:ref :javaparser-clj.malli/enum-constant-declaration]]]]],
:javaparser-clj.malli/explicit-constructor-invocation-stmt
[:merge
[:ref :javaparser-clj.malli/statement-base]
[:map
[:node/kind
{:optional true}
[:= :explicit-constructor-invocation-stmt]]
[:type-arguments
{:optional true}
[:sequential [:ref :javaparser-clj.malli/type]]]
[:this? {:optional nil} :boolean]
[:expression
{:optional true}
[:ref :javaparser-clj.malli/expression]]
[:arguments
{:optional nil}
[:sequential [:ref :javaparser-clj.malli/expression]]]]],
:javaparser-clj.malli/expression
[:multi
{:dispatch :node/kind}
[:annotation-expr [:ref :javaparser-clj.malli/annotation-expr]]
[:array-access-expr [:ref :javaparser-clj.malli/array-access-expr]]
[:array-creation-expr
[:ref :javaparser-clj.malli/array-creation-expr]]
[:array-initializer-expr
[:ref :javaparser-clj.malli/array-initializer-expr]]
[:assign-expr [:ref :javaparser-clj.malli/assign-expr]]
[:binary-expr [:ref :javaparser-clj.malli/binary-expr]]
[:cast-expr [:ref :javaparser-clj.malli/cast-expr]]
[:class-expr [:ref :javaparser-clj.malli/class-expr]]
[:conditional-expr [:ref :javaparser-clj.malli/conditional-expr]]
[:enclosed-expr [:ref :javaparser-clj.malli/enclosed-expr]]
[:field-access-expr [:ref :javaparser-clj.malli/field-access-expr]]
[:instance-of-expr [:ref :javaparser-clj.malli/instance-of-expr]]
[:lambda-expr [:ref :javaparser-clj.malli/lambda-expr]]
[:literal-expr [:ref :javaparser-clj.malli/literal-expr]]
[:method-call-expr [:ref :javaparser-clj.malli/method-call-expr]]
[:method-reference-expr
[:ref :javaparser-clj.malli/method-reference-expr]]
[:name-expr [:ref :javaparser-clj.malli/name-expr]]
[:object-creation-expr
[:ref :javaparser-clj.malli/object-creation-expr]]
[:pattern-expr [:ref :javaparser-clj.malli/pattern-expr]]
[:super-expr [:ref :javaparser-clj.malli/super-expr]]
[:switch-expr [:ref :javaparser-clj.malli/switch-expr]]
[:this-expr [:ref :javaparser-clj.malli/this-expr]]
[:type-expr [:ref :javaparser-clj.malli/type-expr]]
[:unary-expr [:ref :javaparser-clj.malli/unary-expr]]
[:variable-declaration-expr
[:ref :javaparser-clj.malli/variable-declaration-expr]]],
:javaparser-clj.malli/expression-base
[:merge
[:ref :javaparser-clj.malli/node-base]
[:map [:node/kind {:optional true} [:= :expression]]]],
:javaparser-clj.malli/expression-stmt
[:merge
[:ref :javaparser-clj.malli/statement-base]
[:map
[:node/kind {:optional true} [:= :expression-stmt]]
[:expression
{:optional nil}
[:ref :javaparser-clj.malli/expression]]]],
:javaparser-clj.malli/field-access-expr
[:merge
[:ref :javaparser-clj.malli/expression-base]
[:map
[:node/kind {:optional true} [:= :field-access-expr]]
[:scope {:optional nil} [:ref :javaparser-clj.malli/expression]]
[:type-arguments
{:optional true}
[:sequential [:ref :javaparser-clj.malli/type]]]
[:name {:optional nil} [:ref :javaparser-clj.malli/simple-name]]]],
:javaparser-clj.malli/field-declaration
[:merge
[:ref :javaparser-clj.malli/body-declaration-base]
[:map
[:node/kind {:optional true} [:= :field-declaration]]
[:modifiers
{:optional nil}
[:sequential [:ref :javaparser-clj.malli/modifier]]]
[:variables
{:optional nil}
[:sequential [:ref :javaparser-clj.malli/variable-declarator]]]]],
:javaparser-clj.malli/for-each-stmt
[:merge
[:ref :javaparser-clj.malli/statement-base]
[:map
[:node/kind {:optional true} [:= :for-each-stmt]]
[:variable
{:optional nil}
[:ref :javaparser-clj.malli/variable-declaration-expr]]
[:iterable {:optional nil} [:ref :javaparser-clj.malli/expression]]
[:body {:optional nil} [:ref :javaparser-clj.malli/statement]]]],
:javaparser-clj.malli/for-stmt
[:merge
[:ref :javaparser-clj.malli/statement-base]
[:map
[:node/kind {:optional true} [:= :for-stmt]]
[:initialization
{:optional nil}
[:sequential [:ref :javaparser-clj.malli/expression]]]
[:compare {:optional true} [:ref :javaparser-clj.malli/expression]]
[:update
{:optional nil}
[:sequential [:ref :javaparser-clj.malli/expression]]]
[:body {:optional nil} [:ref :javaparser-clj.malli/statement]]]],
:javaparser-clj.malli/if-stmt
[:merge
[:ref :javaparser-clj.malli/statement-base]
[:map
[:node/kind {:optional true} [:= :if-stmt]]
[:condition {:optional nil} [:ref :javaparser-clj.malli/expression]]
[:then-stmt {:optional nil} [:ref :javaparser-clj.malli/statement]]
[:else-stmt
{:optional true}
[:ref :javaparser-clj.malli/statement]]]],
:javaparser-clj.malli/import-declaration
[:merge
[:ref :javaparser-clj.malli/node-base]
[:map
[:node/kind {:optional true} [:= :import-declaration]]
[:name {:optional nil} [:ref :javaparser-clj.malli/name]]
[:static? {:optional nil} :boolean]
[:asterisk? {:optional nil} :boolean]]],
:javaparser-clj.malli/initializer-declaration
[:merge
[:ref :javaparser-clj.malli/body-declaration-base]
[:map
[:node/kind {:optional true} [:= :initializer-declaration]]
[:static? {:optional nil} :boolean]
[:body {:optional nil} [:ref :javaparser-clj.malli/block-stmt]]]],
:javaparser-clj.malli/instance-of-expr
[:merge
[:ref :javaparser-clj.malli/expression-base]
[:map
[:node/kind {:optional true} [:= :instance-of-expr]]
[:expression
{:optional nil}
[:ref :javaparser-clj.malli/expression]]
[:pattern
{:optional true}
[:ref :javaparser-clj.malli/pattern-expr]]
[:type
{:optional nil}
[:ref :javaparser-clj.malli/reference-type]]]],
:javaparser-clj.malli/integer-literal-expr
[:merge
[:ref :javaparser-clj.malli/literal-string-value-expr-base]
[:map [:node/kind {:optional true} [:= :integer-literal-expr]]]],
:javaparser-clj.malli/intersection-type
[:merge
[:ref :javaparser-clj.malli/type-base]
[:map
[:node/kind {:optional true} [:= :intersection-type]]
[:elements
{:optional nil}
[:sequential [:ref :javaparser-clj.malli/reference-type]]]]],
:javaparser-clj.malli/javadoc-comment
[:merge
[:ref :javaparser-clj.malli/comment-base]
[:map [:node/kind {:optional true} [:= :javadoc-comment]]]],
:javaparser-clj.malli/labeled-stmt
[:merge
[:ref :javaparser-clj.malli/statement-base]
[:map
[:node/kind {:optional true} [:= :labeled-stmt]]
[:label {:optional nil} [:ref :javaparser-clj.malli/simple-name]]
[:statement
{:optional nil}
[:ref :javaparser-clj.malli/statement]]]],
:javaparser-clj.malli/lambda-expr
[:merge
[:ref :javaparser-clj.malli/expression-base]
[:map
[:node/kind {:optional true} [:= :lambda-expr]]
[:parameters
{:optional nil}
[:sequential [:ref :javaparser-clj.malli/parameter]]]
[:enclosing-parameters? {:optional nil} :boolean]
[:body {:optional nil} [:ref :javaparser-clj.malli/statement]]]],
:javaparser-clj.malli/line-comment
[:merge
[:ref :javaparser-clj.malli/comment-base]
[:map [:node/kind {:optional true} [:= :line-comment]]]],
:javaparser-clj.malli/literal-expr
[:multi
{:dispatch :node/kind}
[:boolean-literal-expr
[:ref :javaparser-clj.malli/boolean-literal-expr]]
[:literal-string-value-expr
[:ref :javaparser-clj.malli/literal-string-value-expr]]
[:null-literal-expr [:ref :javaparser-clj.malli/null-literal-expr]]],
:javaparser-clj.malli/literal-expr-base
[:merge
[:ref :javaparser-clj.malli/expression-base]
[:map [:node/kind {:optional true} [:= :literal-expr]]]],
:javaparser-clj.malli/literal-string-value-expr
[:multi
{:dispatch :node/kind}
[:char-literal-expr [:ref :javaparser-clj.malli/char-literal-expr]]
[:double-literal-expr
[:ref :javaparser-clj.malli/double-literal-expr]]
[:integer-literal-expr
[:ref :javaparser-clj.malli/integer-literal-expr]]
[:long-literal-expr [:ref :javaparser-clj.malli/long-literal-expr]]
[:string-literal-expr
[:ref :javaparser-clj.malli/string-literal-expr]]
[:text-block-literal-expr
[:ref :javaparser-clj.malli/text-block-literal-expr]]],
:javaparser-clj.malli/literal-string-value-expr-base
[:merge
[:ref :javaparser-clj.malli/literal-expr-base]
[:map
[:node/kind {:optional true} [:= :literal-string-value-expr]]
[:value {:optional nil} :string]]],
:javaparser-clj.malli/local-class-declaration-stmt
[:merge
[:ref :javaparser-clj.malli/statement-base]
[:map
[:node/kind {:optional true} [:= :local-class-declaration-stmt]]
[:class-declaration
{:optional nil}
[:ref :javaparser-clj.malli/class-or-interface-declaration]]]],
:javaparser-clj.malli/local-record-declaration-stmt
[:merge
[:ref :javaparser-clj.malli/statement-base]
[:map
[:node/kind {:optional true} [:= :local-record-declaration-stmt]]
[:record-declaration
{:optional nil}
[:ref :javaparser-clj.malli/record-declaration]]]],
:javaparser-clj.malli/long-literal-expr
[:merge
[:ref :javaparser-clj.malli/literal-string-value-expr-base]
[:map [:node/kind {:optional true} [:= :long-literal-expr]]]],
:javaparser-clj.malli/marker-annotation-expr
[:merge
[:ref :javaparser-clj.malli/annotation-expr-base]
[:map [:node/kind {:optional true} [:= :marker-annotation-expr]]]],
:javaparser-clj.malli/member-value-pair
[:merge
[:ref :javaparser-clj.malli/node-base]
[:map
[:node/kind {:optional true} [:= :member-value-pair]]
[:name {:optional nil} [:ref :javaparser-clj.malli/simple-name]]
[:value {:optional nil} [:ref :javaparser-clj.malli/expression]]]],
:javaparser-clj.malli/method-call-expr
[:merge
[:ref :javaparser-clj.malli/expression-base]
[:map
[:node/kind {:optional true} [:= :method-call-expr]]
[:scope {:optional true} [:ref :javaparser-clj.malli/expression]]
[:type-arguments
{:optional true}
[:sequential [:ref :javaparser-clj.malli/type]]]
[:name {:optional nil} [:ref :javaparser-clj.malli/simple-name]]
[:arguments
{:optional nil}
[:sequential [:ref :javaparser-clj.malli/expression]]]]],
:javaparser-clj.malli/method-declaration
[:merge
[:ref :javaparser-clj.malli/callable-declaration-base]
[:map
[:node/kind {:optional true} [:= :method-declaration]]
[:type {:optional nil} [:ref :javaparser-clj.malli/type]]
[:body {:optional true} [:ref :javaparser-clj.malli/block-stmt]]]],
:javaparser-clj.malli/method-reference-expr
[:merge
[:ref :javaparser-clj.malli/expression-base]
[:map
[:node/kind {:optional true} [:= :method-reference-expr]]
[:scope {:optional nil} [:ref :javaparser-clj.malli/expression]]
[:type-arguments
{:optional true}
[:sequential [:ref :javaparser-clj.malli/type]]]
[:identifier {:optional nil} :string]]],
:javaparser-clj.malli/modifier
[:enum
:abstract
:default
:final
:native
:private
:protected
:public
:static
:strictfp
:synchronized
:transient
:transitive
:volatile],
:javaparser-clj.malli/module-declaration
[:merge
[:ref :javaparser-clj.malli/node-base]
[:map
[:node/kind {:optional true} [:= :module-declaration]]
[:name {:optional nil} [:ref :javaparser-clj.malli/name]]
[:annotations
{:optional nil}
[:sequential [:ref :javaparser-clj.malli/annotation-expr]]]
[:open? {:optional nil} :boolean]
[:directives
{:optional nil}
[:sequential [:ref :javaparser-clj.malli/module-directive]]]]],
:javaparser-clj.malli/module-directive
[:multi {:dispatch :node/kind}],
:javaparser-clj.malli/module-directive-base
[:merge
[:ref :javaparser-clj.malli/node-base]
[:map [:node/kind {:optional true} [:= :module-directive]]]],
:javaparser-clj.malli/name
[:map
[:identifier [:string {:min 1}]]
[:qualifier {:optional true} [:vector [:string {:min 1}]]]],
:javaparser-clj.malli/name-expr
[:merge
[:ref :javaparser-clj.malli/expression-base]
[:map
[:node/kind {:optional true} [:= :name-expr]]
[:name {:optional nil} [:ref :javaparser-clj.malli/simple-name]]]],
:javaparser-clj.malli/node
[:map
[:node/kind {:optional true} [:= :node]]
[:range {:optional true} [:ref :javaparser-clj.malli/range]]
[:orphan-comments
{:optional true}
[:sequential [:ref :javaparser-clj.malli/comment]]]
[:comment {:optional true} [:ref :javaparser-clj.malli/comment]]],
:javaparser-clj.malli/node-base
[:map
[:node/kind {:optional true} [:= :node]]
[:range {:optional true} [:ref :javaparser-clj.malli/range]]
[:orphan-comments
{:optional true}
[:sequential [:ref :javaparser-clj.malli/comment]]]
[:comment {:optional true} [:ref :javaparser-clj.malli/comment]]],
:javaparser-clj.malli/nodes :sequential,
:javaparser-clj.malli/normal-annotation-expr
[:merge
[:ref :javaparser-clj.malli/annotation-expr-base]
[:map
[:node/kind {:optional true} [:= :normal-annotation-expr]]
[:pairs
{:optional nil}
[:sequential [:ref :javaparser-clj.malli/member-value-pair]]]]],
:javaparser-clj.malli/null-literal-expr
[:merge
[:ref :javaparser-clj.malli/literal-expr-base]
[:map [:node/kind {:optional true} [:= :null-literal-expr]]]],
:javaparser-clj.malli/object-creation-expr
[:merge
[:ref :javaparser-clj.malli/expression-base]
[:map
[:node/kind {:optional true} [:= :object-creation-expr]]
[:scope {:optional true} [:ref :javaparser-clj.malli/expression]]
[:type
{:optional nil}
[:ref :javaparser-clj.malli/class-or-interface-type]]
[:type-arguments
{:optional true}
[:sequential [:ref :javaparser-clj.malli/type]]]
[:arguments
{:optional nil}
[:sequential [:ref :javaparser-clj.malli/expression]]]
[:anonymous-class-body
{:optional true}
[:sequential [:ref :javaparser-clj.malli/body-declaration]]]]],
:javaparser-clj.malli/package-declaration
[:merge
[:ref :javaparser-clj.malli/node-base]
[:map
[:node/kind {:optional true} [:= :package-declaration]]
[:annotations
{:optional nil}
[:sequential [:ref :javaparser-clj.malli/annotation-expr]]]
[:name {:optional nil} [:ref :javaparser-clj.malli/name]]]],
:javaparser-clj.malli/parameter
[:merge
[:ref :javaparser-clj.malli/node-base]
[:map
[:node/kind {:optional true} [:= :parameter]]
[:type {:optional nil} [:ref :javaparser-clj.malli/type]]
[:var-args? {:optional nil} :boolean]
[:var-args-annotations
{:optional nil}
[:sequential [:ref :javaparser-clj.malli/annotation-expr]]]
[:modifiers
{:optional nil}
[:sequential [:ref :javaparser-clj.malli/modifier]]]
[:annotations
{:optional nil}
[:sequential [:ref :javaparser-clj.malli/annotation-expr]]]
[:name {:optional nil} [:ref :javaparser-clj.malli/simple-name]]]],
:javaparser-clj.malli/pattern-expr
[:merge
[:ref :javaparser-clj.malli/expression-base]
[:map
[:node/kind {:optional true} [:= :pattern-expr]]
[:name {:optional nil} [:ref :javaparser-clj.malli/simple-name]]
[:type
{:optional nil}
[:ref :javaparser-clj.malli/reference-type]]]],
:javaparser-clj.malli/position
[:map
[:line #IntoSchema{:type :javaparser-clj.malli/int}]
[:column #IntoSchema{:type :javaparser-clj.malli/int}]],
:javaparser-clj.malli/primitive
[:enum :boolean :char :byte :short :int :long :float :double],
:javaparser-clj.malli/primitive-type
[:merge
[:ref :javaparser-clj.malli/type-base]
[:map
[:node/kind {:optional true} [:= :primitive-type]]
[:type {:optional nil} [:ref :javaparser-clj.malli/primitive]]]],
:javaparser-clj.malli/range
[:map
[:begin :javaparser-clj.malli/position]
[:end :javaparser-clj.malli/position]],
:javaparser-clj.malli/receiver-parameter
[:merge
[:ref :javaparser-clj.malli/node-base]
[:map
[:node/kind {:optional true} [:= :receiver-parameter]]
[:type {:optional nil} [:ref :javaparser-clj.malli/type]]
[:annotations
{:optional nil}
[:sequential [:ref :javaparser-clj.malli/annotation-expr]]]
[:name {:optional nil} [:ref :javaparser-clj.malli/name]]]],
:javaparser-clj.malli/record-declaration
[:merge
[:ref :javaparser-clj.malli/type-declaration-base]
[:map
[:node/kind {:optional true} [:= :record-declaration]]
[:type-parameters
{:optional nil}
[:sequential [:ref :javaparser-clj.malli/type-parameter]]]
[:implemented-types
{:optional nil}
[:sequential [:ref :javaparser-clj.malli/class-or-interface-type]]]
[:receiver-parameter
{:optional true}
[:ref :javaparser-clj.malli/receiver-parameter]]
[:parameters
{:optional nil}
[:sequential [:ref :javaparser-clj.malli/parameter]]]]],
:javaparser-clj.malli/reference-type
[:multi
{:dispatch :node/kind}
[:array-type [:ref :javaparser-clj.malli/array-type]]
[:class-or-interface-type
[:ref :javaparser-clj.malli/class-or-interface-type]]
[:type-parameter [:ref :javaparser-clj.malli/type-parameter]]],
:javaparser-clj.malli/reference-type-base
[:merge
[:ref :javaparser-clj.malli/type-base]
[:map [:node/kind {:optional true} [:= :reference-type]]]],
:javaparser-clj.malli/return-stmt
[:merge
[:ref :javaparser-clj.malli/statement-base]
[:map
[:node/kind {:optional true} [:= :return-stmt]]
[:expression
{:optional true}
[:ref :javaparser-clj.malli/expression]]]],
:javaparser-clj.malli/simple-name [:string {:min 1}],
:javaparser-clj.malli/single-member-annotation-expr
[:merge
[:ref :javaparser-clj.malli/annotation-expr-base]
[:map
[:node/kind {:optional true} [:= :single-member-annotation-expr]]
[:member-value
{:optional nil}
[:ref :javaparser-clj.malli/expression]]]],
:javaparser-clj.malli/statement
[:multi
{:dispatch :node/kind}
[:assert-stmt [:ref :javaparser-clj.malli/assert-stmt]]
[:block-stmt [:ref :javaparser-clj.malli/block-stmt]]
[:break-stmt [:ref :javaparser-clj.malli/break-stmt]]
[:continue-stmt [:ref :javaparser-clj.malli/continue-stmt]]
[:do-stmt [:ref :javaparser-clj.malli/do-stmt]]
[:empty-stmt [:ref :javaparser-clj.malli/empty-stmt]]
[:explicit-constructor-invocation-stmt
[:ref :javaparser-clj.malli/explicit-constructor-invocation-stmt]]
[:expression-stmt [:ref :javaparser-clj.malli/expression-stmt]]
[:for-each-stmt [:ref :javaparser-clj.malli/for-each-stmt]]
[:for-stmt [:ref :javaparser-clj.malli/for-stmt]]
[:if-stmt [:ref :javaparser-clj.malli/if-stmt]]
[:labeled-stmt [:ref :javaparser-clj.malli/labeled-stmt]]
[:local-class-declaration-stmt
[:ref :javaparser-clj.malli/local-class-declaration-stmt]]
[:local-record-declaration-stmt
[:ref :javaparser-clj.malli/local-record-declaration-stmt]]
[:return-stmt [:ref :javaparser-clj.malli/return-stmt]]
[:switch-stmt [:ref :javaparser-clj.malli/switch-stmt]]
[:synchronized-stmt [:ref :javaparser-clj.malli/synchronized-stmt]]
[:throw-stmt [:ref :javaparser-clj.malli/throw-stmt]]
[:try-stmt [:ref :javaparser-clj.malli/try-stmt]]
[:unparsable-stmt [:ref :javaparser-clj.malli/unparsable-stmt]]
[:while-stmt [:ref :javaparser-clj.malli/while-stmt]]
[:yield-stmt [:ref :javaparser-clj.malli/yield-stmt]]],
:javaparser-clj.malli/statement-base
[:merge
[:ref :javaparser-clj.malli/node-base]
[:map [:node/kind {:optional true} [:= :statement]]]],
:javaparser-clj.malli/string-literal-expr
[:merge
[:ref :javaparser-clj.malli/literal-string-value-expr-base]
[:map [:node/kind {:optional true} [:= :string-literal-expr]]]],
:javaparser-clj.malli/super-expr
[:merge
[:ref :javaparser-clj.malli/expression-base]
[:map
[:node/kind {:optional true} [:= :super-expr]]
[:type-name {:optional true} [:ref :javaparser-clj.malli/name]]]],
:javaparser-clj.malli/switch-entry
[:merge
[:ref :javaparser-clj.malli/node-base]
[:map
[:node/kind {:optional true} [:= :switch-entry]]
[:labels
{:optional nil}
[:sequential [:ref :javaparser-clj.malli/expression]]]
[:statements
{:optional nil}
[:sequential [:ref :javaparser-clj.malli/statement]]]
[:type
{:optional nil}
[:ref :javaparser-clj.malli/switch-entry-type]]]],
:javaparser-clj.malli/switch-entry-type
[:enum :classic :expression :block :throw],
:javaparser-clj.malli/switch-expr
[:merge
[:ref :javaparser-clj.malli/expression-base]
[:map
[:node/kind {:optional true} [:= :switch-expr]]
[:selector {:optional nil} [:ref :javaparser-clj.malli/expression]]
[:entries
{:optional nil}
[:sequential [:ref :javaparser-clj.malli/switch-entry]]]]],
:javaparser-clj.malli/switch-stmt
[:merge
[:ref :javaparser-clj.malli/statement-base]
[:map
[:node/kind {:optional true} [:= :switch-stmt]]
[:selector {:optional nil} [:ref :javaparser-clj.malli/expression]]
[:entries
{:optional nil}
[:sequential [:ref :javaparser-clj.malli/switch-entry]]]]],
:javaparser-clj.malli/synchronized-stmt
[:merge
[:ref :javaparser-clj.malli/statement-base]
[:map
[:node/kind {:optional true} [:= :synchronized-stmt]]
[:expression
{:optional nil}
[:ref :javaparser-clj.malli/expression]]
[:body {:optional nil} [:ref :javaparser-clj.malli/block-stmt]]]],
:javaparser-clj.malli/text-block-literal-expr
[:merge
[:ref :javaparser-clj.malli/literal-string-value-expr-base]
[:map [:node/kind {:optional true} [:= :text-block-literal-expr]]]],
:javaparser-clj.malli/this-expr
[:merge
[:ref :javaparser-clj.malli/expression-base]
[:map
[:node/kind {:optional true} [:= :this-expr]]
[:type-name {:optional true} [:ref :javaparser-clj.malli/name]]]],
:javaparser-clj.malli/throw-stmt
[:merge
[:ref :javaparser-clj.malli/statement-base]
[:map
[:node/kind {:optional true} [:= :throw-stmt]]
[:expression
{:optional nil}
[:ref :javaparser-clj.malli/expression]]]],
:javaparser-clj.malli/try-stmt
[:merge
[:ref :javaparser-clj.malli/statement-base]
[:map
[:node/kind {:optional true} [:= :try-stmt]]
[:resources
{:optional nil}
[:sequential [:ref :javaparser-clj.malli/expression]]]
[:try-block {:optional nil} [:ref :javaparser-clj.malli/block-stmt]]
[:catch-clauses
{:optional nil}
[:sequential [:ref :javaparser-clj.malli/catch-clause]]]
[:finally-block
{:optional true}
[:ref :javaparser-clj.malli/block-stmt]]]],
:javaparser-clj.malli/type
[:multi
{:dispatch :node/kind}
[:intersection-type [:ref :javaparser-clj.malli/intersection-type]]
[:primitive-type [:ref :javaparser-clj.malli/primitive-type]]
[:reference-type [:ref :javaparser-clj.malli/reference-type]]
[:union-type [:ref :javaparser-clj.malli/union-type]]
[:unknown-type [:ref :javaparser-clj.malli/unknown-type]]
[:var-type [:ref :javaparser-clj.malli/var-type]]
[:void-type [:ref :javaparser-clj.malli/void-type]]
[:wildcard-type [:ref :javaparser-clj.malli/wildcard-type]]],
:javaparser-clj.malli/type-base
[:merge
[:ref :javaparser-clj.malli/node-base]
[:map
[:node/kind {:optional true} [:= :type]]
[:annotations
{:optional nil}
[:sequential [:ref :javaparser-clj.malli/annotation-expr]]]]],
:javaparser-clj.malli/type-declaration
[:multi
{:dispatch :node/kind}
[:annotation-declaration
[:ref :javaparser-clj.malli/annotation-declaration]]
[:class-or-interface-declaration
[:ref :javaparser-clj.malli/class-or-interface-declaration]]
[:enum-declaration [:ref :javaparser-clj.malli/enum-declaration]]
[:record-declaration
[:ref :javaparser-clj.malli/record-declaration]]],
:javaparser-clj.malli/type-declaration-base
[:merge
[:ref :javaparser-clj.malli/body-declaration-base]
[:map
[:node/kind {:optional true} [:= :type-declaration]]
[:name {:optional nil} [:ref :javaparser-clj.malli/simple-name]]
[:modifiers
{:optional nil}
[:sequential [:ref :javaparser-clj.malli/modifier]]]
[:members
{:optional nil}
[:sequential [:ref :javaparser-clj.malli/body-declaration]]]]],
:javaparser-clj.malli/type-expr
[:merge
[:ref :javaparser-clj.malli/expression-base]
[:map
[:node/kind {:optional true} [:= :type-expr]]
[:type {:optional nil} [:ref :javaparser-clj.malli/type]]]],
:javaparser-clj.malli/type-parameter
[:merge
[:ref :javaparser-clj.malli/reference-type-base]
[:map
[:node/kind {:optional true} [:= :type-parameter]]
[:name {:optional nil} [:ref :javaparser-clj.malli/simple-name]]
[:type-bound
{:optional nil}
[:sequential
[:ref :javaparser-clj.malli/class-or-interface-type]]]]],
:javaparser-clj.malli/unary-expr
[:merge
[:ref :javaparser-clj.malli/expression-base]
[:map
[:node/kind {:optional true} [:= :unary-expr]]
[:expression
{:optional nil}
[:ref :javaparser-clj.malli/expression]]
[:operator {:optional nil} [:ref :javaparser-clj.malli/unary-op]]]],
:javaparser-clj.malli/unary-op
[:enum
:plus
:minus
:inc-prefix
:dec-prefix
:not
:bit-not
:inc-postfix
:dec-postfix],
:javaparser-clj.malli/union-type
[:merge
[:ref :javaparser-clj.malli/type-base]
[:map
[:node/kind {:optional true} [:= :union-type]]
[:elements
{:optional nil}
[:sequential [:ref :javaparser-clj.malli/reference-type]]]]],
:javaparser-clj.malli/unknown-type
[:merge
[:ref :javaparser-clj.malli/type-base]
[:map [:node/kind {:optional true} [:= :unknown-type]]]],
:javaparser-clj.malli/unparsable-stmt
[:merge
[:ref :javaparser-clj.malli/statement-base]
[:map [:node/kind {:optional true} [:= :unparsable-stmt]]]],
:javaparser-clj.malli/var-type
[:merge
[:ref :javaparser-clj.malli/type-base]
[:map [:node/kind {:optional true} [:= :var-type]]]],
:javaparser-clj.malli/variable-declaration-expr
[:merge
[:ref :javaparser-clj.malli/expression-base]
[:map
[:node/kind {:optional true} [:= :variable-declaration-expr]]
[:modifiers
{:optional nil}
[:sequential [:ref :javaparser-clj.malli/modifier]]]
[:annotations
{:optional nil}
[:sequential [:ref :javaparser-clj.malli/annotation-expr]]]
[:variables
{:optional nil}
[:sequential [:ref :javaparser-clj.malli/variable-declarator]]]]],
:javaparser-clj.malli/variable-declarator
[:merge
[:ref :javaparser-clj.malli/node-base]
[:map
[:node/kind {:optional true} [:= :variable-declarator]]
[:name {:optional nil} [:ref :javaparser-clj.malli/simple-name]]
[:initializer
{:optional true}
[:ref :javaparser-clj.malli/expression]]
[:type {:optional nil} [:ref :javaparser-clj.malli/type]]]],
:javaparser-clj.malli/void-type
[:merge
[:ref :javaparser-clj.malli/type-base]
[:map [:node/kind {:optional true} [:= :void-type]]]],
:javaparser-clj.malli/while-stmt
[:merge
[:ref :javaparser-clj.malli/statement-base]
[:map
[:node/kind {:optional true} [:= :while-stmt]]
[:condition {:optional nil} [:ref :javaparser-clj.malli/expression]]
[:body {:optional nil} [:ref :javaparser-clj.malli/statement]]]],
:javaparser-clj.malli/wildcard-type
[:merge
[:ref :javaparser-clj.malli/type-base]
[:map
[:node/kind {:optional true} [:= :wildcard-type]]
[:extended-type
{:optional true}
[:ref :javaparser-clj.malli/reference-type]]
[:super-type
{:optional true}
[:ref :javaparser-clj.malli/reference-type]]]],
:javaparser-clj.malli/yield-stmt
[:merge
[:ref :javaparser-clj.malli/statement-base]
[:map
[:node/kind {:optional true} [:= :yield-stmt]]
[:expression
{:optional nil}
[:ref :javaparser-clj.malli/expression]]]]}
The following are all schemas for the java AST:
```clojure
{:javaparser-clj.malli/annotation-declaration
[:merge
[:ref :javaparser-clj.malli/type-declaration-base]
[:map [:node/kind {:optional true} [:= :annotation-declaration]]]],
:javaparser-clj.malli/annotation-expr
[:multi
{:dispatch :node/kind}
[:marker-annotation-expr
[:ref :javaparser-clj.malli/marker-annotation-expr]]
[:normal-annotation-expr
[:ref :javaparser-clj.malli/normal-annotation-expr]]
[:single-member-annotation-expr
[:ref :javaparser-clj.malli/single-member-annotation-expr]]],
:javaparser-clj.malli/annotation-expr-base
[:merge
[:ref :javaparser-clj.malli/expression-base]
[:map
[:node/kind {:optional true} [:= :annotation-expr]]
[:name {:optional nil} [:ref :javaparser-clj.malli/name]]]],
:javaparser-clj.malli/annotation-member-declaration
[:merge
[:ref :javaparser-clj.malli/body-declaration-base]
[:map
[:node/kind {:optional true} [:= :annotation-member-declaration]]
[:modifiers
{:optional nil}
[:sequential [:ref :javaparser-clj.malli/modifier]]]
[:type {:optional nil} [:ref :javaparser-clj.malli/type]]
[:name {:optional nil} [:ref :javaparser-clj.malli/simple-name]]
[:default-value
{:optional true}
[:ref :javaparser-clj.malli/expression]]]],
:javaparser-clj.malli/array-access-expr
[:merge
[:ref :javaparser-clj.malli/expression-base]
[:map
[:node/kind {:optional true} [:= :array-access-expr]]
[:name {:optional nil} [:ref :javaparser-clj.malli/expression]]
[:index {:optional nil} [:ref :javaparser-clj.malli/expression]]]],
:javaparser-clj.malli/array-brackets-position [:enum :name :type],
:javaparser-clj.malli/array-creation-expr
[:merge
[:ref :javaparser-clj.malli/expression-base]
[:map
[:node/kind {:optional true} [:= :array-creation-expr]]
[:levels
{:optional nil}
[:sequential [:ref :javaparser-clj.malli/array-creation-level]]]
[:element-type {:optional nil} [:ref :javaparser-clj.malli/type]]
[:initializer
{:optional true}
[:ref :javaparser-clj.malli/array-initializer-expr]]]],
:javaparser-clj.malli/array-creation-level
[:merge
[:ref :javaparser-clj.malli/node-base]
[:map
[:node/kind {:optional true} [:= :array-creation-level]]
[:dimension
{:optional true}
[:ref :javaparser-clj.malli/expression]]
[:annotations
{:optional nil}
[:sequential [:ref :javaparser-clj.malli/annotation-expr]]]]],
:javaparser-clj.malli/array-initializer-expr
[:merge
[:ref :javaparser-clj.malli/expression-base]
[:map
[:node/kind {:optional true} [:= :array-initializer-expr]]
[:values
{:optional nil}
[:sequential [:ref :javaparser-clj.malli/expression]]]]],
:javaparser-clj.malli/array-type
[:merge
[:ref :javaparser-clj.malli/reference-type-base]
[:map
[:node/kind {:optional true} [:= :array-type]]
[:component-type {:optional nil} [:ref :javaparser-clj.malli/type]]
[:origin
{:optional nil}
[:ref :javaparser-clj.malli/array-brackets-position]]]],
:javaparser-clj.malli/assert-stmt
[:merge
[:ref :javaparser-clj.malli/statement-base]
[:map
[:node/kind {:optional true} [:= :assert-stmt]]
[:check {:optional nil} [:ref :javaparser-clj.malli/expression]]
[:message
{:optional true}
[:ref :javaparser-clj.malli/expression]]]],
:javaparser-clj.malli/assign-expr
[:merge
[:ref :javaparser-clj.malli/expression-base]
[:map
[:node/kind {:optional true} [:= :assign-expr]]
[:target {:optional nil} [:ref :javaparser-clj.malli/expression]]
[:value {:optional nil} [:ref :javaparser-clj.malli/expression]]
[:operator
{:optional nil}
[:ref :javaparser-clj.malli/assign-op]]]],
:javaparser-clj.malli/assign-op
[:enum
:assign
:add
:sub
:mul
:div
:bit-and
:bit-or
:xor
:mod
:bit-shift-left
:bit-shift-right
:unsigned-bit-shift-right],
:javaparser-clj.malli/binary-expr
[:merge
[:ref :javaparser-clj.malli/expression-base]
[:map
[:node/kind {:optional true} [:= :binary-expr]]
[:left {:optional nil} [:ref :javaparser-clj.malli/expression]]
[:right {:optional nil} [:ref :javaparser-clj.malli/expression]]
[:operator
{:optional nil}
[:ref :javaparser-clj.malli/binary-op]]]],
:javaparser-clj.malli/binary-op
[:enum
:or
:and
:bit-or
:bit-and
:xor
:equal
:not-equal
:less
:greater
:less-or-equal
:greater-or-equal
:bit-shift-left
:bit-shift-right
:unsigned-bit-shift-right
:add
:sub
:mul
:div
:mod],
:javaparser-clj.malli/block-comment
[:merge
[:ref :javaparser-clj.malli/comment-base]
[:map [:node/kind {:optional true} [:= :block-comment]]]],
:javaparser-clj.malli/block-stmt
[:merge
[:ref :javaparser-clj.malli/statement-base]
[:map
[:node/kind {:optional true} [:= :block-stmt]]
[:statements
{:optional nil}
[:sequential [:ref :javaparser-clj.malli/statement]]]]],
:javaparser-clj.malli/body-declaration
[:multi
{:dispatch :node/kind}
[:annotation-member-declaration
[:ref :javaparser-clj.malli/annotation-member-declaration]]
[:callable-declaration
[:ref :javaparser-clj.malli/callable-declaration]]
[:compact-constructor-declaration
[:ref :javaparser-clj.malli/compact-constructor-declaration]]
[:enum-constant-declaration
[:ref :javaparser-clj.malli/enum-constant-declaration]]
[:field-declaration [:ref :javaparser-clj.malli/field-declaration]]
[:initializer-declaration
[:ref :javaparser-clj.malli/initializer-declaration]]
[:type-declaration [:ref :javaparser-clj.malli/type-declaration]]],
:javaparser-clj.malli/body-declaration-base
[:merge
[:ref :javaparser-clj.malli/node-base]
[:map
[:node/kind {:optional true} [:= :body-declaration]]
[:annotations
{:optional nil}
[:sequential [:ref :javaparser-clj.malli/annotation-expr]]]]],
:javaparser-clj.malli/boolean-literal-expr
[:merge
[:ref :javaparser-clj.malli/literal-expr-base]
[:map
[:node/kind {:optional true} [:= :boolean-literal-expr]]
[:value {:optional nil} :boolean]]],
:javaparser-clj.malli/break-stmt
[:merge
[:ref :javaparser-clj.malli/statement-base]
[:map
[:node/kind {:optional true} [:= :break-stmt]]
[:label
{:optional true}
[:ref :javaparser-clj.malli/simple-name]]]],
:javaparser-clj.malli/callable-declaration
[:multi
{:dispatch :node/kind}
[:constructor-declaration
[:ref :javaparser-clj.malli/constructor-declaration]]
[:method-declaration
[:ref :javaparser-clj.malli/method-declaration]]],
:javaparser-clj.malli/callable-declaration-base
[:merge
[:ref :javaparser-clj.malli/body-declaration-base]
[:map
[:node/kind {:optional true} [:= :callable-declaration]]
[:modifiers
{:optional nil}
[:sequential [:ref :javaparser-clj.malli/modifier]]]
[:type-parameters
{:optional nil}
[:sequential [:ref :javaparser-clj.malli/type-parameter]]]
[:name {:optional nil} [:ref :javaparser-clj.malli/simple-name]]
[:parameters
{:optional nil}
[:sequential [:ref :javaparser-clj.malli/parameter]]]
[:thrown-exceptions
{:optional nil}
[:sequential [:ref :javaparser-clj.malli/reference-type]]]
[:receiver-parameter
{:optional true}
[:ref :javaparser-clj.malli/receiver-parameter]]]],
:javaparser-clj.malli/cast-expr
[:merge
[:ref :javaparser-clj.malli/expression-base]
[:map
[:node/kind {:optional true} [:= :cast-expr]]
[:type {:optional nil} [:ref :javaparser-clj.malli/type]]
[:expression
{:optional nil}
[:ref :javaparser-clj.malli/expression]]]],
:javaparser-clj.malli/catch-clause
[:merge
[:ref :javaparser-clj.malli/node-base]
[:map
[:node/kind {:optional true} [:= :catch-clause]]
[:parameter {:optional nil} [:ref :javaparser-clj.malli/parameter]]
[:body {:optional nil} [:ref :javaparser-clj.malli/block-stmt]]]],
:javaparser-clj.malli/char-literal-expr
[:merge
[:ref :javaparser-clj.malli/literal-string-value-expr-base]
[:map [:node/kind {:optional true} [:= :char-literal-expr]]]],
:javaparser-clj.malli/class-expr
[:merge
[:ref :javaparser-clj.malli/expression-base]
[:map
[:node/kind {:optional true} [:= :class-expr]]
[:type {:optional nil} [:ref :javaparser-clj.malli/type]]]],
:javaparser-clj.malli/class-or-interface-declaration
[:merge
[:ref :javaparser-clj.malli/type-declaration-base]
[:map
[:node/kind {:optional true} [:= :class-or-interface-declaration]]
[:interface? {:optional nil} :boolean]
[:type-parameters
{:optional nil}
[:sequential [:ref :javaparser-clj.malli/type-parameter]]]
[:extended-types
{:optional nil}
[:sequential [:ref :javaparser-clj.malli/class-or-interface-type]]]
[:implemented-types
{:optional nil}
[:sequential
[:ref :javaparser-clj.malli/class-or-interface-type]]]]],
:javaparser-clj.malli/class-or-interface-type
[:merge
[:ref :javaparser-clj.malli/reference-type-base]
[:map
[:node/kind {:optional true} [:= :class-or-interface-type]]
[:scope
{:optional true}
[:ref :javaparser-clj.malli/class-or-interface-type]]
[:name {:optional nil} [:ref :javaparser-clj.malli/simple-name]]
[:type-arguments
{:optional true}
[:sequential [:ref :javaparser-clj.malli/type]]]]],
:javaparser-clj.malli/comment
[:multi
{:dispatch :node/kind}
[:block-comment [:ref :javaparser-clj.malli/block-comment]]
[:javadoc-comment [:ref :javaparser-clj.malli/javadoc-comment]]
[:line-comment [:ref :javaparser-clj.malli/line-comment]]],
:javaparser-clj.malli/comment-base
[:merge
[:map [:range {:optional true} [:ref :javaparser-clj.malli/range]]]
[:map [:content {:optional nil} :string]]],
:javaparser-clj.malli/compact-constructor-declaration
[:merge
[:ref :javaparser-clj.malli/body-declaration-base]
[:map
[:node/kind {:optional true} [:= :compact-constructor-declaration]]
[:modifiers
{:optional nil}
[:sequential [:ref :javaparser-clj.malli/modifier]]]
[:body {:optional nil} [:ref :javaparser-clj.malli/block-stmt]]
[:type-parameters
{:optional nil}
[:sequential [:ref :javaparser-clj.malli/type-parameter]]]
[:name {:optional nil} [:ref :javaparser-clj.malli/simple-name]]
[:thrown-exceptions
{:optional nil}
[:sequential [:ref :javaparser-clj.malli/reference-type]]]]],
:javaparser-clj.malli/compilation-unit
[:merge
[:ref :javaparser-clj.malli/node-base]
[:map
[:node/kind {:optional true} [:= :compilation-unit]]
[:package
{:optional true}
[:ref :javaparser-clj.malli/package-declaration]]
[:imports
{:optional nil}
[:sequential [:ref :javaparser-clj.malli/import-declaration]]]
[:types
{:optional nil}
[:sequential [:ref :javaparser-clj.malli/type-declaration]]]
[:module
{:optional true}
[:ref :javaparser-clj.malli/module-declaration]]]],
:javaparser-clj.malli/conditional-expr
[:merge
[:ref :javaparser-clj.malli/expression-base]
[:map
[:node/kind {:optional true} [:= :conditional-expr]]
[:condition {:optional nil} [:ref :javaparser-clj.malli/expression]]
[:then-expr {:optional nil} [:ref :javaparser-clj.malli/expression]]
[:else-expr
{:optional nil}
[:ref :javaparser-clj.malli/expression]]]],
:javaparser-clj.malli/constructor-declaration
[:merge
[:ref :javaparser-clj.malli/callable-declaration-base]
[:map
[:node/kind {:optional true} [:= :constructor-declaration]]
[:body {:optional nil} [:ref :javaparser-clj.malli/block-stmt]]]],
:javaparser-clj.malli/continue-stmt
[:merge
[:ref :javaparser-clj.malli/statement-base]
[:map
[:node/kind {:optional true} [:= :continue-stmt]]
[:label
{:optional true}
[:ref :javaparser-clj.malli/simple-name]]]],
:javaparser-clj.malli/do-stmt
[:merge
[:ref :javaparser-clj.malli/statement-base]
[:map
[:node/kind {:optional true} [:= :do-stmt]]
[:body {:optional nil} [:ref :javaparser-clj.malli/statement]]
[:condition
{:optional nil}
[:ref :javaparser-clj.malli/expression]]]],
:javaparser-clj.malli/double-literal-expr
[:merge
[:ref :javaparser-clj.malli/literal-string-value-expr-base]
[:map [:node/kind {:optional true} [:= :double-literal-expr]]]],
:javaparser-clj.malli/empty-stmt
[:merge
[:ref :javaparser-clj.malli/statement-base]
[:map [:node/kind {:optional true} [:= :empty-stmt]]]],
:javaparser-clj.malli/enclosed-expr
[:merge
[:ref :javaparser-clj.malli/expression-base]
[:map
[:node/kind {:optional true} [:= :enclosed-expr]]
[:inner {:optional nil} [:ref :javaparser-clj.malli/expression]]]],
:javaparser-clj.malli/enum-constant-declaration
[:merge
[:ref :javaparser-clj.malli/body-declaration-base]
[:map
[:node/kind {:optional true} [:= :enum-constant-declaration]]
[:name {:optional nil} [:ref :javaparser-clj.malli/simple-name]]
[:arguments
{:optional nil}
[:sequential [:ref :javaparser-clj.malli/expression]]]
[:class-body
{:optional nil}
[:sequential [:ref :javaparser-clj.malli/body-declaration]]]]],
:javaparser-clj.malli/enum-declaration
[:merge
[:ref :javaparser-clj.malli/type-declaration-base]
[:map
[:node/kind {:optional true} [:= :enum-declaration]]
[:implemented-types
{:optional nil}
[:sequential [:ref :javaparser-clj.malli/class-or-interface-type]]]
[:entries
{:optional nil}
[:sequential
[:ref :javaparser-clj.malli/enum-constant-declaration]]]]],
:javaparser-clj.malli/explicit-constructor-invocation-stmt
[:merge
[:ref :javaparser-clj.malli/statement-base]
[:map
[:node/kind
{:optional true}
[:= :explicit-constructor-invocation-stmt]]
[:type-arguments
{:optional true}
[:sequential [:ref :javaparser-clj.malli/type]]]
[:this? {:optional nil} :boolean]
[:expression
{:optional true}
[:ref :javaparser-clj.malli/expression]]
[:arguments
{:optional nil}
[:sequential [:ref :javaparser-clj.malli/expression]]]]],
:javaparser-clj.malli/expression
[:multi
{:dispatch :node/kind}
[:annotation-expr [:ref :javaparser-clj.malli/annotation-expr]]
[:array-access-expr [:ref :javaparser-clj.malli/array-access-expr]]
[:array-creation-expr
[:ref :javaparser-clj.malli/array-creation-expr]]
[:array-initializer-expr
[:ref :javaparser-clj.malli/array-initializer-expr]]
[:assign-expr [:ref :javaparser-clj.malli/assign-expr]]
[:binary-expr [:ref :javaparser-clj.malli/binary-expr]]
[:cast-expr [:ref :javaparser-clj.malli/cast-expr]]
[:class-expr [:ref :javaparser-clj.malli/class-expr]]
[:conditional-expr [:ref :javaparser-clj.malli/conditional-expr]]
[:enclosed-expr [:ref :javaparser-clj.malli/enclosed-expr]]
[:field-access-expr [:ref :javaparser-clj.malli/field-access-expr]]
[:instance-of-expr [:ref :javaparser-clj.malli/instance-of-expr]]
[:lambda-expr [:ref :javaparser-clj.malli/lambda-expr]]
[:literal-expr [:ref :javaparser-clj.malli/literal-expr]]
[:method-call-expr [:ref :javaparser-clj.malli/method-call-expr]]
[:method-reference-expr
[:ref :javaparser-clj.malli/method-reference-expr]]
[:name-expr [:ref :javaparser-clj.malli/name-expr]]
[:object-creation-expr
[:ref :javaparser-clj.malli/object-creation-expr]]
[:pattern-expr [:ref :javaparser-clj.malli/pattern-expr]]
[:super-expr [:ref :javaparser-clj.malli/super-expr]]
[:switch-expr [:ref :javaparser-clj.malli/switch-expr]]
[:this-expr [:ref :javaparser-clj.malli/this-expr]]
[:type-expr [:ref :javaparser-clj.malli/type-expr]]
[:unary-expr [:ref :javaparser-clj.malli/unary-expr]]
[:variable-declaration-expr
[:ref :javaparser-clj.malli/variable-declaration-expr]]],
:javaparser-clj.malli/expression-base
[:merge
[:ref :javaparser-clj.malli/node-base]
[:map [:node/kind {:optional true} [:= :expression]]]],
:javaparser-clj.malli/expression-stmt
[:merge
[:ref :javaparser-clj.malli/statement-base]
[:map
[:node/kind {:optional true} [:= :expression-stmt]]
[:expression
{:optional nil}
[:ref :javaparser-clj.malli/expression]]]],
:javaparser-clj.malli/field-access-expr
[:merge
[:ref :javaparser-clj.malli/expression-base]
[:map
[:node/kind {:optional true} [:= :field-access-expr]]
[:scope {:optional nil} [:ref :javaparser-clj.malli/expression]]
[:type-arguments
{:optional true}
[:sequential [:ref :javaparser-clj.malli/type]]]
[:name {:optional nil} [:ref :javaparser-clj.malli/simple-name]]]],
:javaparser-clj.malli/field-declaration
[:merge
[:ref :javaparser-clj.malli/body-declaration-base]
[:map
[:node/kind {:optional true} [:= :field-declaration]]
[:modifiers
{:optional nil}
[:sequential [:ref :javaparser-clj.malli/modifier]]]
[:variables
{:optional nil}
[:sequential [:ref :javaparser-clj.malli/variable-declarator]]]]],
:javaparser-clj.malli/for-each-stmt
[:merge
[:ref :javaparser-clj.malli/statement-base]
[:map
[:node/kind {:optional true} [:= :for-each-stmt]]
[:variable
{:optional nil}
[:ref :javaparser-clj.malli/variable-declaration-expr]]
[:iterable {:optional nil} [:ref :javaparser-clj.malli/expression]]
[:body {:optional nil} [:ref :javaparser-clj.malli/statement]]]],
:javaparser-clj.malli/for-stmt
[:merge
[:ref :javaparser-clj.malli/statement-base]
[:map
[:node/kind {:optional true} [:= :for-stmt]]
[:initialization
{:optional nil}
[:sequential [:ref :javaparser-clj.malli/expression]]]
[:compare {:optional true} [:ref :javaparser-clj.malli/expression]]
[:update
{:optional nil}
[:sequential [:ref :javaparser-clj.malli/expression]]]
[:body {:optional nil} [:ref :javaparser-clj.malli/statement]]]],
:javaparser-clj.malli/if-stmt
[:merge
[:ref :javaparser-clj.malli/statement-base]
[:map
[:node/kind {:optional true} [:= :if-stmt]]
[:condition {:optional nil} [:ref :javaparser-clj.malli/expression]]
[:then-stmt {:optional nil} [:ref :javaparser-clj.malli/statement]]
[:else-stmt
{:optional true}
[:ref :javaparser-clj.malli/statement]]]],
:javaparser-clj.malli/import-declaration
[:merge
[:ref :javaparser-clj.malli/node-base]
[:map
[:node/kind {:optional true} [:= :import-declaration]]
[:name {:optional nil} [:ref :javaparser-clj.malli/name]]
[:static? {:optional nil} :boolean]
[:asterisk? {:optional nil} :boolean]]],
:javaparser-clj.malli/initializer-declaration
[:merge
[:ref :javaparser-clj.malli/body-declaration-base]
[:map
[:node/kind {:optional true} [:= :initializer-declaration]]
[:static? {:optional nil} :boolean]
[:body {:optional nil} [:ref :javaparser-clj.malli/block-stmt]]]],
:javaparser-clj.malli/instance-of-expr
[:merge
[:ref :javaparser-clj.malli/expression-base]
[:map
[:node/kind {:optional true} [:= :instance-of-expr]]
[:expression
{:optional nil}
[:ref :javaparser-clj.malli/expression]]
[:pattern
{:optional true}
[:ref :javaparser-clj.malli/pattern-expr]]
[:type
{:optional nil}
[:ref :javaparser-clj.malli/reference-type]]]],
:javaparser-clj.malli/integer-literal-expr
[:merge
[:ref :javaparser-clj.malli/literal-string-value-expr-base]
[:map [:node/kind {:optional true} [:= :integer-literal-expr]]]],
:javaparser-clj.malli/intersection-type
[:merge
[:ref :javaparser-clj.malli/type-base]
[:map
[:node/kind {:optional true} [:= :intersection-type]]
[:elements
{:optional nil}
[:sequential [:ref :javaparser-clj.malli/reference-type]]]]],
:javaparser-clj.malli/javadoc-comment
[:merge
[:ref :javaparser-clj.malli/comment-base]
[:map [:node/kind {:optional true} [:= :javadoc-comment]]]],
:javaparser-clj.malli/labeled-stmt
[:merge
[:ref :javaparser-clj.malli/statement-base]
[:map
[:node/kind {:optional true} [:= :labeled-stmt]]
[:label {:optional nil} [:ref :javaparser-clj.malli/simple-name]]
[:statement
{:optional nil}
[:ref :javaparser-clj.malli/statement]]]],
:javaparser-clj.malli/lambda-expr
[:merge
[:ref :javaparser-clj.malli/expression-base]
[:map
[:node/kind {:optional true} [:= :lambda-expr]]
[:parameters
{:optional nil}
[:sequential [:ref :javaparser-clj.malli/parameter]]]
[:enclosing-parameters? {:optional nil} :boolean]
[:body {:optional nil} [:ref :javaparser-clj.malli/statement]]]],
:javaparser-clj.malli/line-comment
[:merge
[:ref :javaparser-clj.malli/comment-base]
[:map [:node/kind {:optional true} [:= :line-comment]]]],
:javaparser-clj.malli/literal-expr
[:multi
{:dispatch :node/kind}
[:boolean-literal-expr
[:ref :javaparser-clj.malli/boolean-literal-expr]]
[:literal-string-value-expr
[:ref :javaparser-clj.malli/literal-string-value-expr]]
[:null-literal-expr [:ref :javaparser-clj.malli/null-literal-expr]]],
:javaparser-clj.malli/literal-expr-base
[:merge
[:ref :javaparser-clj.malli/expression-base]
[:map [:node/kind {:optional true} [:= :literal-expr]]]],
:javaparser-clj.malli/literal-string-value-expr
[:multi
{:dispatch :node/kind}
[:char-literal-expr [:ref :javaparser-clj.malli/char-literal-expr]]
[:double-literal-expr
[:ref :javaparser-clj.malli/double-literal-expr]]
[:integer-literal-expr
[:ref :javaparser-clj.malli/integer-literal-expr]]
[:long-literal-expr [:ref :javaparser-clj.malli/long-literal-expr]]
[:string-literal-expr
[:ref :javaparser-clj.malli/string-literal-expr]]
[:text-block-literal-expr
[:ref :javaparser-clj.malli/text-block-literal-expr]]],
:javaparser-clj.malli/literal-string-value-expr-base
[:merge
[:ref :javaparser-clj.malli/literal-expr-base]
[:map
[:node/kind {:optional true} [:= :literal-string-value-expr]]
[:value {:optional nil} :string]]],
:javaparser-clj.malli/local-class-declaration-stmt
[:merge
[:ref :javaparser-clj.malli/statement-base]
[:map
[:node/kind {:optional true} [:= :local-class-declaration-stmt]]
[:class-declaration
{:optional nil}
[:ref :javaparser-clj.malli/class-or-interface-declaration]]]],
:javaparser-clj.malli/local-record-declaration-stmt
[:merge
[:ref :javaparser-clj.malli/statement-base]
[:map
[:node/kind {:optional true} [:= :local-record-declaration-stmt]]
[:record-declaration
{:optional nil}
[:ref :javaparser-clj.malli/record-declaration]]]],
:javaparser-clj.malli/long-literal-expr
[:merge
[:ref :javaparser-clj.malli/literal-string-value-expr-base]
[:map [:node/kind {:optional true} [:= :long-literal-expr]]]],
:javaparser-clj.malli/marker-annotation-expr
[:merge
[:ref :javaparser-clj.malli/annotation-expr-base]
[:map [:node/kind {:optional true} [:= :marker-annotation-expr]]]],
:javaparser-clj.malli/member-value-pair
[:merge
[:ref :javaparser-clj.malli/node-base]
[:map
[:node/kind {:optional true} [:= :member-value-pair]]
[:name {:optional nil} [:ref :javaparser-clj.malli/simple-name]]
[:value {:optional nil} [:ref :javaparser-clj.malli/expression]]]],
:javaparser-clj.malli/method-call-expr
[:merge
[:ref :javaparser-clj.malli/expression-base]
[:map
[:node/kind {:optional true} [:= :method-call-expr]]
[:scope {:optional true} [:ref :javaparser-clj.malli/expression]]
[:type-arguments
{:optional true}
[:sequential [:ref :javaparser-clj.malli/type]]]
[:name {:optional nil} [:ref :javaparser-clj.malli/simple-name]]
[:arguments
{:optional nil}
[:sequential [:ref :javaparser-clj.malli/expression]]]]],
:javaparser-clj.malli/method-declaration
[:merge
[:ref :javaparser-clj.malli/callable-declaration-base]
[:map
[:node/kind {:optional true} [:= :method-declaration]]
[:type {:optional nil} [:ref :javaparser-clj.malli/type]]
[:body {:optional true} [:ref :javaparser-clj.malli/block-stmt]]]],
:javaparser-clj.malli/method-reference-expr
[:merge
[:ref :javaparser-clj.malli/expression-base]
[:map
[:node/kind {:optional true} [:= :method-reference-expr]]
[:scope {:optional nil} [:ref :javaparser-clj.malli/expression]]
[:type-arguments
{:optional true}
[:sequential [:ref :javaparser-clj.malli/type]]]
[:identifier {:optional nil} :string]]],
:javaparser-clj.malli/modifier
[:enum
:abstract
:default
:final
:native
:private
:protected
:public
:static
:strictfp
:synchronized
:transient
:transitive
:volatile],
:javaparser-clj.malli/module-declaration
[:merge
[:ref :javaparser-clj.malli/node-base]
[:map
[:node/kind {:optional true} [:= :module-declaration]]
[:name {:optional nil} [:ref :javaparser-clj.malli/name]]
[:annotations
{:optional nil}
[:sequential [:ref :javaparser-clj.malli/annotation-expr]]]
[:open? {:optional nil} :boolean]
[:directives
{:optional nil}
[:sequential [:ref :javaparser-clj.malli/module-directive]]]]],
:javaparser-clj.malli/module-directive
[:multi {:dispatch :node/kind}],
:javaparser-clj.malli/module-directive-base
[:merge
[:ref :javaparser-clj.malli/node-base]
[:map [:node/kind {:optional true} [:= :module-directive]]]],
:javaparser-clj.malli/name
[:map
[:identifier [:string {:min 1}]]
[:qualifier {:optional true} [:vector [:string {:min 1}]]]],
:javaparser-clj.malli/name-expr
[:merge
[:ref :javaparser-clj.malli/expression-base]
[:map
[:node/kind {:optional true} [:= :name-expr]]
[:name {:optional nil} [:ref :javaparser-clj.malli/simple-name]]]],
:javaparser-clj.malli/node
[:map
[:node/kind {:optional true} [:= :node]]
[:range {:optional true} [:ref :javaparser-clj.malli/range]]
[:orphan-comments
{:optional true}
[:sequential [:ref :javaparser-clj.malli/comment]]]
[:comment {:optional true} [:ref :javaparser-clj.malli/comment]]],
:javaparser-clj.malli/node-base
[:map
[:node/kind {:optional true} [:= :node]]
[:range {:optional true} [:ref :javaparser-clj.malli/range]]
[:orphan-comments
{:optional true}
[:sequential [:ref :javaparser-clj.malli/comment]]]
[:comment {:optional true} [:ref :javaparser-clj.malli/comment]]],
:javaparser-clj.malli/nodes :sequential,
:javaparser-clj.malli/normal-annotation-expr
[:merge
[:ref :javaparser-clj.malli/annotation-expr-base]
[:map
[:node/kind {:optional true} [:= :normal-annotation-expr]]
[:pairs
{:optional nil}
[:sequential [:ref :javaparser-clj.malli/member-value-pair]]]]],
:javaparser-clj.malli/null-literal-expr
[:merge
[:ref :javaparser-clj.malli/literal-expr-base]
[:map [:node/kind {:optional true} [:= :null-literal-expr]]]],
:javaparser-clj.malli/object-creation-expr
[:merge
[:ref :javaparser-clj.malli/expression-base]
[:map
[:node/kind {:optional true} [:= :object-creation-expr]]
[:scope {:optional true} [:ref :javaparser-clj.malli/expression]]
[:type
{:optional nil}
[:ref :javaparser-clj.malli/class-or-interface-type]]
[:type-arguments
{:optional true}
[:sequential [:ref :javaparser-clj.malli/type]]]
[:arguments
{:optional nil}
[:sequential [:ref :javaparser-clj.malli/expression]]]
[:anonymous-class-body
{:optional true}
[:sequential [:ref :javaparser-clj.malli/body-declaration]]]]],
:javaparser-clj.malli/package-declaration
[:merge
[:ref :javaparser-clj.malli/node-base]
[:map
[:node/kind {:optional true} [:= :package-declaration]]
[:annotations
{:optional nil}
[:sequential [:ref :javaparser-clj.malli/annotation-expr]]]
[:name {:optional nil} [:ref :javaparser-clj.malli/name]]]],
:javaparser-clj.malli/parameter
[:merge
[:ref :javaparser-clj.malli/node-base]
[:map
[:node/kind {:optional true} [:= :parameter]]
[:type {:optional nil} [:ref :javaparser-clj.malli/type]]
[:var-args? {:optional nil} :boolean]
[:var-args-annotations
{:optional nil}
[:sequential [:ref :javaparser-clj.malli/annotation-expr]]]
[:modifiers
{:optional nil}
[:sequential [:ref :javaparser-clj.malli/modifier]]]
[:annotations
{:optional nil}
[:sequential [:ref :javaparser-clj.malli/annotation-expr]]]
[:name {:optional nil} [:ref :javaparser-clj.malli/simple-name]]]],
:javaparser-clj.malli/pattern-expr
[:merge
[:ref :javaparser-clj.malli/expression-base]
[:map
[:node/kind {:optional true} [:= :pattern-expr]]
[:name {:optional nil} [:ref :javaparser-clj.malli/simple-name]]
[:type
{:optional nil}
[:ref :javaparser-clj.malli/reference-type]]]],
:javaparser-clj.malli/position
[:map
[:line #IntoSchema{:type :javaparser-clj.malli/int}]
[:column #IntoSchema{:type :javaparser-clj.malli/int}]],
:javaparser-clj.malli/primitive
[:enum :boolean :char :byte :short :int :long :float :double],
:javaparser-clj.malli/primitive-type
[:merge
[:ref :javaparser-clj.malli/type-base]
[:map
[:node/kind {:optional true} [:= :primitive-type]]
[:type {:optional nil} [:ref :javaparser-clj.malli/primitive]]]],
:javaparser-clj.malli/range
[:map
[:begin :javaparser-clj.malli/position]
[:end :javaparser-clj.malli/position]],
:javaparser-clj.malli/receiver-parameter
[:merge
[:ref :javaparser-clj.malli/node-base]
[:map
[:node/kind {:optional true} [:= :receiver-parameter]]
[:type {:optional nil} [:ref :javaparser-clj.malli/type]]
[:annotations
{:optional nil}
[:sequential [:ref :javaparser-clj.malli/annotation-expr]]]
[:name {:optional nil} [:ref :javaparser-clj.malli/name]]]],
:javaparser-clj.malli/record-declaration
[:merge
[:ref :javaparser-clj.malli/type-declaration-base]
[:map
[:node/kind {:optional true} [:= :record-declaration]]
[:type-parameters
{:optional nil}
[:sequential [:ref :javaparser-clj.malli/type-parameter]]]
[:implemented-types
{:optional nil}
[:sequential [:ref :javaparser-clj.malli/class-or-interface-type]]]
[:receiver-parameter
{:optional true}
[:ref :javaparser-clj.malli/receiver-parameter]]
[:parameters
{:optional nil}
[:sequential [:ref :javaparser-clj.malli/parameter]]]]],
:javaparser-clj.malli/reference-type
[:multi
{:dispatch :node/kind}
[:array-type [:ref :javaparser-clj.malli/array-type]]
[:class-or-interface-type
[:ref :javaparser-clj.malli/class-or-interface-type]]
[:type-parameter [:ref :javaparser-clj.malli/type-parameter]]],
:javaparser-clj.malli/reference-type-base
[:merge
[:ref :javaparser-clj.malli/type-base]
[:map [:node/kind {:optional true} [:= :reference-type]]]],
:javaparser-clj.malli/return-stmt
[:merge
[:ref :javaparser-clj.malli/statement-base]
[:map
[:node/kind {:optional true} [:= :return-stmt]]
[:expression
{:optional true}
[:ref :javaparser-clj.malli/expression]]]],
:javaparser-clj.malli/simple-name [:string {:min 1}],
:javaparser-clj.malli/single-member-annotation-expr
[:merge
[:ref :javaparser-clj.malli/annotation-expr-base]
[:map
[:node/kind {:optional true} [:= :single-member-annotation-expr]]
[:member-value
{:optional nil}
[:ref :javaparser-clj.malli/expression]]]],
:javaparser-clj.malli/statement
[:multi
{:dispatch :node/kind}
[:assert-stmt [:ref :javaparser-clj.malli/assert-stmt]]
[:block-stmt [:ref :javaparser-clj.malli/block-stmt]]
[:break-stmt [:ref :javaparser-clj.malli/break-stmt]]
[:continue-stmt [:ref :javaparser-clj.malli/continue-stmt]]
[:do-stmt [:ref :javaparser-clj.malli/do-stmt]]
[:empty-stmt [:ref :javaparser-clj.malli/empty-stmt]]
[:explicit-constructor-invocation-stmt
[:ref :javaparser-clj.malli/explicit-constructor-invocation-stmt]]
[:expression-stmt [:ref :javaparser-clj.malli/expression-stmt]]
[:for-each-stmt [:ref :javaparser-clj.malli/for-each-stmt]]
[:for-stmt [:ref :javaparser-clj.malli/for-stmt]]
[:if-stmt [:ref :javaparser-clj.malli/if-stmt]]
[:labeled-stmt [:ref :javaparser-clj.malli/labeled-stmt]]
[:local-class-declaration-stmt
[:ref :javaparser-clj.malli/local-class-declaration-stmt]]
[:local-record-declaration-stmt
[:ref :javaparser-clj.malli/local-record-declaration-stmt]]
[:return-stmt [:ref :javaparser-clj.malli/return-stmt]]
[:switch-stmt [:ref :javaparser-clj.malli/switch-stmt]]
[:synchronized-stmt [:ref :javaparser-clj.malli/synchronized-stmt]]
[:throw-stmt [:ref :javaparser-clj.malli/throw-stmt]]
[:try-stmt [:ref :javaparser-clj.malli/try-stmt]]
[:unparsable-stmt [:ref :javaparser-clj.malli/unparsable-stmt]]
[:while-stmt [:ref :javaparser-clj.malli/while-stmt]]
[:yield-stmt [:ref :javaparser-clj.malli/yield-stmt]]],
:javaparser-clj.malli/statement-base
[:merge
[:ref :javaparser-clj.malli/node-base]
[:map [:node/kind {:optional true} [:= :statement]]]],
:javaparser-clj.malli/string-literal-expr
[:merge
[:ref :javaparser-clj.malli/literal-string-value-expr-base]
[:map [:node/kind {:optional true} [:= :string-literal-expr]]]],
:javaparser-clj.malli/super-expr
[:merge
[:ref :javaparser-clj.malli/expression-base]
[:map
[:node/kind {:optional true} [:= :super-expr]]
[:type-name {:optional true} [:ref :javaparser-clj.malli/name]]]],
:javaparser-clj.malli/switch-entry
[:merge
[:ref :javaparser-clj.malli/node-base]
[:map
[:node/kind {:optional true} [:= :switch-entry]]
[:labels
{:optional nil}
[:sequential [:ref :javaparser-clj.malli/expression]]]
[:statements
{:optional nil}
[:sequential [:ref :javaparser-clj.malli/statement]]]
[:type
{:optional nil}
[:ref :javaparser-clj.malli/switch-entry-type]]]],
:javaparser-clj.malli/switch-entry-type
[:enum :classic :expression :block :throw],
:javaparser-clj.malli/switch-expr
[:merge
[:ref :javaparser-clj.malli/expression-base]
[:map
[:node/kind {:optional true} [:= :switch-expr]]
[:selector {:optional nil} [:ref :javaparser-clj.malli/expression]]
[:entries
{:optional nil}
[:sequential [:ref :javaparser-clj.malli/switch-entry]]]]],
:javaparser-clj.malli/switch-stmt
[:merge
[:ref :javaparser-clj.malli/statement-base]
[:map
[:node/kind {:optional true} [:= :switch-stmt]]
[:selector {:optional nil} [:ref :javaparser-clj.malli/expression]]
[:entries
{:optional nil}
[:sequential [:ref :javaparser-clj.malli/switch-entry]]]]],
:javaparser-clj.malli/synchronized-stmt
[:merge
[:ref :javaparser-clj.malli/statement-base]
[:map
[:node/kind {:optional true} [:= :synchronized-stmt]]
[:expression
{:optional nil}
[:ref :javaparser-clj.malli/expression]]
[:body {:optional nil} [:ref :javaparser-clj.malli/block-stmt]]]],
:javaparser-clj.malli/text-block-literal-expr
[:merge
[:ref :javaparser-clj.malli/literal-string-value-expr-base]
[:map [:node/kind {:optional true} [:= :text-block-literal-expr]]]],
:javaparser-clj.malli/this-expr
[:merge
[:ref :javaparser-clj.malli/expression-base]
[:map
[:node/kind {:optional true} [:= :this-expr]]
[:type-name {:optional true} [:ref :javaparser-clj.malli/name]]]],
:javaparser-clj.malli/throw-stmt
[:merge
[:ref :javaparser-clj.malli/statement-base]
[:map
[:node/kind {:optional true} [:= :throw-stmt]]
[:expression
{:optional nil}
[:ref :javaparser-clj.malli/expression]]]],
:javaparser-clj.malli/try-stmt
[:merge
[:ref :javaparser-clj.malli/statement-base]
[:map
[:node/kind {:optional true} [:= :try-stmt]]
[:resources
{:optional nil}
[:sequential [:ref :javaparser-clj.malli/expression]]]
[:try-block {:optional nil} [:ref :javaparser-clj.malli/block-stmt]]
[:catch-clauses
{:optional nil}
[:sequential [:ref :javaparser-clj.malli/catch-clause]]]
[:finally-block
{:optional true}
[:ref :javaparser-clj.malli/block-stmt]]]],
:javaparser-clj.malli/type
[:multi
{:dispatch :node/kind}
[:intersection-type [:ref :javaparser-clj.malli/intersection-type]]
[:primitive-type [:ref :javaparser-clj.malli/primitive-type]]
[:reference-type [:ref :javaparser-clj.malli/reference-type]]
[:union-type [:ref :javaparser-clj.malli/union-type]]
[:unknown-type [:ref :javaparser-clj.malli/unknown-type]]
[:var-type [:ref :javaparser-clj.malli/var-type]]
[:void-type [:ref :javaparser-clj.malli/void-type]]
[:wildcard-type [:ref :javaparser-clj.malli/wildcard-type]]],
:javaparser-clj.malli/type-base
[:merge
[:ref :javaparser-clj.malli/node-base]
[:map
[:node/kind {:optional true} [:= :type]]
[:annotations
{:optional nil}
[:sequential [:ref :javaparser-clj.malli/annotation-expr]]]]],
:javaparser-clj.malli/type-declaration
[:multi
{:dispatch :node/kind}
[:annotation-declaration
[:ref :javaparser-clj.malli/annotation-declaration]]
[:class-or-interface-declaration
[:ref :javaparser-clj.malli/class-or-interface-declaration]]
[:enum-declaration [:ref :javaparser-clj.malli/enum-declaration]]
[:record-declaration
[:ref :javaparser-clj.malli/record-declaration]]],
:javaparser-clj.malli/type-declaration-base
[:merge
[:ref :javaparser-clj.malli/body-declaration-base]
[:map
[:node/kind {:optional true} [:= :type-declaration]]
[:name {:optional nil} [:ref :javaparser-clj.malli/simple-name]]
[:modifiers
{:optional nil}
[:sequential [:ref :javaparser-clj.malli/modifier]]]
[:members
{:optional nil}
[:sequential [:ref :javaparser-clj.malli/body-declaration]]]]],
:javaparser-clj.malli/type-expr
[:merge
[:ref :javaparser-clj.malli/expression-base]
[:map
[:node/kind {:optional true} [:= :type-expr]]
[:type {:optional nil} [:ref :javaparser-clj.malli/type]]]],
:javaparser-clj.malli/type-parameter
[:merge
[:ref :javaparser-clj.malli/reference-type-base]
[:map
[:node/kind {:optional true} [:= :type-parameter]]
[:name {:optional nil} [:ref :javaparser-clj.malli/simple-name]]
[:type-bound
{:optional nil}
[:sequential
[:ref :javaparser-clj.malli/class-or-interface-type]]]]],
:javaparser-clj.malli/unary-expr
[:merge
[:ref :javaparser-clj.malli/expression-base]
[:map
[:node/kind {:optional true} [:= :unary-expr]]
[:expression
{:optional nil}
[:ref :javaparser-clj.malli/expression]]
[:operator {:optional nil} [:ref :javaparser-clj.malli/unary-op]]]],
:javaparser-clj.malli/unary-op
[:enum
:plus
:minus
:inc-prefix
:dec-prefix
:not
:bit-not
:inc-postfix
:dec-postfix],
:javaparser-clj.malli/union-type
[:merge
[:ref :javaparser-clj.malli/type-base]
[:map
[:node/kind {:optional true} [:= :union-type]]
[:elements
{:optional nil}
[:sequential [:ref :javaparser-clj.malli/reference-type]]]]],
:javaparser-clj.malli/unknown-type
[:merge
[:ref :javaparser-clj.malli/type-base]
[:map [:node/kind {:optional true} [:= :unknown-type]]]],
:javaparser-clj.malli/unparsable-stmt
[:merge
[:ref :javaparser-clj.malli/statement-base]
[:map [:node/kind {:optional true} [:= :unparsable-stmt]]]],
:javaparser-clj.malli/var-type
[:merge
[:ref :javaparser-clj.malli/type-base]
[:map [:node/kind {:optional true} [:= :var-type]]]],
:javaparser-clj.malli/variable-declaration-expr
[:merge
[:ref :javaparser-clj.malli/expression-base]
[:map
[:node/kind {:optional true} [:= :variable-declaration-expr]]
[:modifiers
{:optional nil}
[:sequential [:ref :javaparser-clj.malli/modifier]]]
[:annotations
{:optional nil}
[:sequential [:ref :javaparser-clj.malli/annotation-expr]]]
[:variables
{:optional nil}
[:sequential [:ref :javaparser-clj.malli/variable-declarator]]]]],
:javaparser-clj.malli/variable-declarator
[:merge
[:ref :javaparser-clj.malli/node-base]
[:map
[:node/kind {:optional true} [:= :variable-declarator]]
[:name {:optional nil} [:ref :javaparser-clj.malli/simple-name]]
[:initializer
{:optional true}
[:ref :javaparser-clj.malli/expression]]
[:type {:optional nil} [:ref :javaparser-clj.malli/type]]]],
:javaparser-clj.malli/void-type
[:merge
[:ref :javaparser-clj.malli/type-base]
[:map [:node/kind {:optional true} [:= :void-type]]]],
:javaparser-clj.malli/while-stmt
[:merge
[:ref :javaparser-clj.malli/statement-base]
[:map
[:node/kind {:optional true} [:= :while-stmt]]
[:condition {:optional nil} [:ref :javaparser-clj.malli/expression]]
[:body {:optional nil} [:ref :javaparser-clj.malli/statement]]]],
:javaparser-clj.malli/wildcard-type
[:merge
[:ref :javaparser-clj.malli/type-base]
[:map
[:node/kind {:optional true} [:= :wildcard-type]]
[:extended-type
{:optional true}
[:ref :javaparser-clj.malli/reference-type]]
[:super-type
{:optional true}
[:ref :javaparser-clj.malli/reference-type]]]],
:javaparser-clj.malli/yield-stmt
[:merge
[:ref :javaparser-clj.malli/statement-base]
[:map
[:node/kind {:optional true} [:= :yield-stmt]]
[:expression
{:optional nil}
[:ref :javaparser-clj.malli/expression]]]]}
```cljdoc builds & hosts documentation for Clojure/Script libraries
| Ctrl+k | Jump to recent docs |
| ← | Move to previous article |
| → | Move to next article |
| Ctrl+/ | Jump to the search field |