# HG changeset patch # User Jaroslav Tulach # Date 1424976068 -3600 # Node ID 64fa3f15cb499e25248c9ea18e04eba1e4e50675 # Parent 7b3c3c327cf064adf7c180169a3e30285a723126 A bit more reasonable toString() describing real content on the stack diff -r 7b3c3c327cf0 -r 64fa3f15cb49 rt/vm/src/main/java/org/apidesign/vm4brwsr/ByteCodeParser.java --- a/rt/vm/src/main/java/org/apidesign/vm4brwsr/ByteCodeParser.java Thu Feb 26 19:19:59 2015 +0100 +++ b/rt/vm/src/main/java/org/apidesign/vm4brwsr/ByteCodeParser.java Thu Feb 26 19:41:08 2015 +0100 @@ -2651,14 +2651,11 @@ @Override public String toString() { final StringBuilder sb = new StringBuilder("["); - if (size > 0) { - sb.append(typeString(types[0])); - for (int i = 1; i < size; ++i) { - sb.append(", "); - sb.append(typeString(types[i])); - } + String sep = ""; + for (int i = 0; i < size; ++i) { + sb.append(sep).append(VarType.toString(types[i] & 0xff)); + sep = ", "; } - return sb.append(']').toString(); } diff -r 7b3c3c327cf0 -r 64fa3f15cb49 rt/vm/src/main/java/org/apidesign/vm4brwsr/VarType.java --- a/rt/vm/src/main/java/org/apidesign/vm4brwsr/VarType.java Thu Feb 26 19:19:59 2015 +0100 +++ b/rt/vm/src/main/java/org/apidesign/vm4brwsr/VarType.java Thu Feb 26 19:41:08 2015 +0100 @@ -105,4 +105,16 @@ throw new IllegalStateException("Unhandled field type"); } } + + public static String toString(final int varType) { + switch (varType) { + case VarType.INTEGER: return "int"; + case VarType.LONG: return "long"; + case VarType.FLOAT: return "float"; + case VarType.DOUBLE: return "double"; + case VarType.REFERENCE: return "ref"; + default: + throw new IllegalStateException("Unhandled field type"); + } + } }