(emit ast)
(emit {:keys [env o-tag tag op type unchecked?] :as ast} frame)
(λ AST) → Bytecode (λ AST → Options) → Bytecode
AST is an analyzed, macroexpanded t.a.jvm AST. Options is a map, the following values of which are significant. Returns a (potentially empty) sequence of bytecodes. classes must be bound before calling emit.
:debug? :- (Option bool) Controls development debug level printing throughout code generation.
(λ AST) → Bytecode (λ AST → Options) → Bytecode AST is an analyzed, macroexpanded t.a.jvm AST. Options is a map, the following values of which are significant. Returns a (potentially empty) sequence of bytecodes. *classes* must be bound before calling emit. Options ----------- :debug? :- (Option bool) Controls development debug level printing throughout code generation.
(emit-args-and-invoke args frame)
(emit-args-and-invoke args {:keys [to-clear?] :as frame} proto?)
(emit-class {:keys [class-name meta methods variadic? constants closed-overs
keyword-callsites protocol-callsites env annotations super
interfaces op fields class-id]
:as ast}
{:keys [debug? class-loader] :as frame})
(emit-classes ast)
(emit-classes ast opts)
(λ AST) → (Seq Class-AST) (λ AST → Options) → (Seq Class-AST)
Compiles the given AST into potentially several classes, returning a sequence of ASTs defining classes.
:debug :- (Option bool) Controls developlent debug level printing throughout code generation.
(λ AST) → (Seq Class-AST) (λ AST → Options) → (Seq Class-AST) Compiles the given AST into potentially several classes, returning a sequence of ASTs defining classes. Options ----------- :debug :- (Option bool) Controls developlent debug level printing throughout code generation.
cljdoc is a website building & hosting documentation for Clojure/Script libraries
× close