diff options
Diffstat (limited to '')
-rw-r--r-- | src/lang/compiler.clj | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/src/lang/compiler.clj b/src/lang/compiler.clj index e7d1ed582..b29bc38d1 100644 --- a/src/lang/compiler.clj +++ b/src/lang/compiler.clj @@ -73,15 +73,24 @@ (cond (instance? java.lang.Integer ?literal) (doto *writer* (.visitTypeInsn Opcodes/NEW (->class "java.lang.Integer")) - (.visitInsn Opcodes/DUP)(.visitLdcInsn ?literal) + (.visitInsn Opcodes/DUP) + (.visitLdcInsn ?literal) (.visitMethodInsn Opcodes/INVOKESPECIAL (->class "java.lang.Integer") "<init>" "(I)V")) (instance? java.lang.Float ?literal) (doto *writer* (.visitTypeInsn Opcodes/NEW (->class "java.lang.Float")) - (.visitInsn Opcodes/DUP)(.visitLdcInsn ?literal) + (.visitInsn Opcodes/DUP) + (.visitLdcInsn ?literal) (.visitMethodInsn Opcodes/INVOKESPECIAL (->class "java.lang.Float") "<init>" "(F)V")) + (instance? java.lang.Character ?literal) + (doto *writer* + (.visitTypeInsn Opcodes/NEW (->class "java.lang.Character")) + (.visitInsn Opcodes/DUP) + (.visitLdcInsn ?literal) + (.visitMethodInsn Opcodes/INVOKESPECIAL (->class "java.lang.Character") "<init>" "(C)V")) + (instance? java.lang.Boolean ?literal) (if ?literal ;; (.visitLdcInsn *writer* (int 1)) |