| 23 | class LConstantType50 extends LConstantType { |
| 24 | |
| 25 | @Override |
| 26 | public LObject parse(ByteBuffer buffer, BHeader header) { |
| 27 | int type = 0xFF & buffer.get(); |
| 28 | if(header.debug) { |
| 29 | System.out.print("-- parsing <constant>, type is "); |
| 30 | switch(type) { |
| 31 | case 0: |
| 32 | System.out.println("<nil>"); |
| 33 | break; |
| 34 | case 1: |
| 35 | System.out.println("<boolean>"); |
| 36 | break; |
| 37 | case 3: |
| 38 | System.out.println("<number>"); |
| 39 | break; |
| 40 | case 4: |
| 41 | System.out.println("<string>"); |
| 42 | break; |
| 43 | default: |
| 44 | System.out.println("illegal " + type); |
| 45 | break; |
| 46 | } |
| 47 | } |
| 48 | switch(type) { |
| 49 | case 0: |
| 50 | return LNil.NIL; |
| 51 | case 1: |
| 52 | return header.bool.parse(buffer, header); |
| 53 | case 3: |
| 54 | return header.number.parse(buffer, header); |
| 55 | case 4: |
| 56 | return header.string.parse(buffer, header); |
| 57 | default: |
| 58 | throw new IllegalStateException(); |
| 59 | } |
| 60 | } |
| 61 | |
| 62 | @Override |
| 63 | public void write(OutputStream out, BHeader header, LObject object) throws IOException { |