Overriding mark and reset methods in emulated StringReader. Change-Id: If7b9a6dbd324d8571d1c103bc4a9f66d86e8e3d6
diff --git a/user/super/com/google/gwt/emul/java/io/StringReader.java b/user/super/com/google/gwt/emul/java/io/StringReader.java index 08d3241..d0e8a0f 100644 --- a/user/super/com/google/gwt/emul/java/io/StringReader.java +++ b/user/super/com/google/gwt/emul/java/io/StringReader.java
@@ -15,12 +15,15 @@ */ package java.io; +import static javaemul.internal.InternalPreconditions.checkArgument; + /** * Reads characters from a string. */ public class StringReader extends Reader { private final String text; private int position; + private int mark; /** * Constructs a reader which will read from the given string. @@ -45,4 +48,20 @@ position += length; return length; } + + @Override + public boolean markSupported() { + return true; + } + + @Override + public void mark(int readAheadLimit) throws IOException { + checkArgument(readAheadLimit >= 0); + mark = position; + } + + @Override + public void reset() throws IOException { + position = mark; + } }