diff options
author | Eduardo Julian | 2015-08-10 23:55:56 -0400 |
---|---|---|
committer | Eduardo Julian | 2015-08-10 23:55:56 -0400 |
commit | 72a9ed29ca5518ca98658873f4616d5637db80af (patch) | |
tree | 4c70ff59d5101e9aa5deacaedd8a34a8b0afd442 /src/lux/compiler/case.clj | |
parent | 4134c811399abfce64b54a821e427d2b153f3e57 (diff) |
- Changing tags so they're actually indices (part 2).
- Fixed some bugs.
- Now pattern-matching on variants works with indices, rather than text tags.
Diffstat (limited to '')
-rw-r--r-- | src/lux/compiler/case.clj | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/src/lux/compiler/case.clj b/src/lux/compiler/case.clj index e2cbe77a2..b108d463c 100644 --- a/src/lux/compiler/case.clj +++ b/src/lux/compiler/case.clj @@ -132,6 +132,7 @@ (.visitLdcInsn (int 0)) (.visitInsn Opcodes/AALOAD) (.visitLdcInsn ?tag) + (&&/wrap-long) (.visitMethodInsn Opcodes/INVOKEVIRTUAL "java/lang/Object" "equals" "(Ljava/lang/Object;)Z") (.visitJumpInsn Opcodes/IFEQ $else) (.visitInsn Opcodes/DUP) |