# HG changeset patch # User Jaroslav Tulach # Date 1349059204 25200 # Node ID e7be3cb29a722e9970c66df18b1b7b6e8dbf2c3e # Parent 0ca23816853786a706a2a34af40babd83d45e28d Separate the read method diff -r 0ca238168537 -r e7be3cb29a72 vm/src/main/java/org/apidesign/vm4brwsr/GenJS.java --- a/vm/src/main/java/org/apidesign/vm4brwsr/GenJS.java Fri Sep 28 14:47:12 2012 +0200 +++ b/vm/src/main/java/org/apidesign/vm4brwsr/GenJS.java Sun Sep 30 19:40:04 2012 -0700 @@ -56,49 +56,7 @@ } InputStream emul = GenJS.class.getResourceAsStream("emulation/" + name.replace('/', '_') + ".js"); if (emul != null) { - try { - int state = 0; - for (;;) { - int ch = emul.read(); - if (ch == -1) { - break; - } - if (ch < 0 || ch > 255) { - throw new IOException("Invalid char in emulation " + ch); - } - switch (state) { - case 0: - if (ch == '/') { - state = 1; - } else { - out.append((char)ch); - } - break; - case 1: - if (ch == '*') { - state = 2; - } else { - out.append('/').append((char)ch); - state = 0; - } - break; - case 2: - if (ch == '*') { - state = 3; - } - break; - case 3: - if (ch == '/') { - state = 0; - } else { - state = 2; - } - break; - } - } - } finally { - emul.close(); - } + readResource(emul, out); continue; } @@ -128,5 +86,50 @@ } } } + private static void readResource(InputStream emul, Appendable out) throws IOException { + try { + int state = 0; + for (;;) { + int ch = emul.read(); + if (ch == -1) { + break; + } + if (ch < 0 || ch > 255) { + throw new IOException("Invalid char in emulation " + ch); + } + switch (state) { + case 0: + if (ch == '/') { + state = 1; + } else { + out.append((char)ch); + } + break; + case 1: + if (ch == '*') { + state = 2; + } else { + out.append('/').append((char)ch); + state = 0; + } + break; + case 2: + if (ch == '*') { + state = 3; + } + break; + case 3: + if (ch == '/') { + state = 0; + } else { + state = 2; + } + break; + } + } + } finally { + emul.close(); + } + } }