| 161 | class LConstantType54 extends LConstantType { |
| 162 | |
| 163 | @Override |
| 164 | public LObject parse(ByteBuffer buffer, BHeader header) { |
| 165 | int type = 0xFF & buffer.get(); |
| 166 | switch(type) { |
| 167 | case 0: |
| 168 | return LNil.NIL; |
| 169 | case 1: |
| 170 | return LBoolean.LFALSE; |
| 171 | case 0x11: |
| 172 | return LBoolean.LTRUE; |
| 173 | case 3: |
| 174 | return header.linteger.parse(buffer, header); |
| 175 | case 0x13: |
| 176 | return header.lfloat.parse(buffer, header); |
| 177 | case 4: |
| 178 | return header.string.parse(buffer, header); |
| 179 | case 0x14: { |
| 180 | LString s = header.string.parse(buffer, header); |
| 181 | s.islong = true; |
| 182 | return s; |
| 183 | } |
| 184 | default: |
| 185 | throw new IllegalStateException(); |
| 186 | } |
| 187 | } |
| 188 | |
| 189 | @Override |
| 190 | public void write(OutputStream out, BHeader header, LObject object) throws IOException { |