diff options
author | Eduardo Julian | 2014-12-16 00:58:36 -0400 |
---|---|---|
committer | Eduardo Julian | 2014-12-16 00:58:36 -0400 |
commit | 70fe9266ce1ccb4fe964b831a7ab61f0d6262111 (patch) | |
tree | eab9cca12d932a29b08a9ed0961b8d2600985c75 /src/lang/compiler.clj | |
parent | 08de30a36ff6599e583d22c4305bfee9878f92ea (diff) |
+ Strings now have escape characters.
+ Characters have been added.
% Unicode support is missing...
Diffstat (limited to 'src/lang/compiler.clj')
-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)) |