test_class.file: dubbo-common/src/test/java/com/alibaba/dubbo/common/io/UnsafeStringReaderTest.java
test_class.identifier: UnsafeStringReaderTest
test_case.body: @Test(expected = IndexOutOfBoundsException.class)
      public void testWrongLength() throws IOException {
          UnsafeStringReader reader = new UnsafeStringReader("abc");
          char[] chars = new char[1];
          reader.read(chars, 0, 2);
      }
test_case.class_method_signature: UnsafeStringReaderTest.testWrongLength()
test_case.full_signature: @Test(expected = IndexOutOfBoundsException.class) public void testWrongLength()
test_case.identifier: testWrongLength
test_case.invocations: read
test_case.modifiers: @Test(expected = IndexOutOfBoundsException.class) public
test_case.parameters: ()
test_case.return: void
test_case.signature: void testWrongLength()
focal_class.declarator: mString
focal_class.modifier: private
focal_class.original_string: private String mString;
focal_class.type: String
focal_class.var_name: mString
focal_class.declarator: mPosition
focal_class.modifier: private
focal_class.original_string: private int mPosition, mLimit, mMark;
focal_class.type: int
focal_class.var_name: mPosition
focal_class.file: dubbo-common/src/main/java/com/alibaba/dubbo/common/io/UnsafeStringReader.java
focal_class.identifier: UnsafeStringReader
focal_class.class_method_signature: UnsafeStringReader.UnsafeStringReader(String str)
focal_class.full_signature: public  UnsafeStringReader(String str)
focal_class.identifier: UnsafeStringReader
focal_class.modifiers: public
focal_class.parameters: (String str)
focal_class.signature:  UnsafeStringReader(String str)
focal_class.class_method_signature: UnsafeStringReader.read()
focal_class.full_signature: @Override public int read()
focal_class.identifier: read
focal_class.modifiers: @Override public
focal_class.parameters: ()
focal_class.return: int
focal_class.signature: int read()
focal_class.class_method_signature: UnsafeStringReader.read(char[] cs, int off, int len)
focal_class.full_signature: @Override public int read(char[] cs, int off, int len)
focal_class.identifier: read
focal_class.modifiers: @Override public
focal_class.parameters: (char[] cs, int off, int len)
focal_class.return: int
focal_class.signature: int read(char[] cs, int off, int len)
focal_class.class_method_signature: UnsafeStringReader.skip(long ns)
focal_class.full_signature: @Override public long skip(long ns)
focal_class.identifier: skip
focal_class.modifiers: @Override public
focal_class.parameters: (long ns)
focal_class.return: long
focal_class.signature: long skip(long ns)
focal_class.class_method_signature: UnsafeStringReader.ready()
focal_class.full_signature: @Override public boolean ready()
focal_class.identifier: ready
focal_class.modifiers: @Override public
focal_class.parameters: ()
focal_class.return: boolean
focal_class.signature: boolean ready()
focal_class.class_method_signature: UnsafeStringReader.markSupported()
focal_class.full_signature: @Override public boolean markSupported()
focal_class.identifier: markSupported
focal_class.modifiers: @Override public
focal_class.parameters: ()
focal_class.return: boolean
focal_class.signature: boolean markSupported()
focal_class.class_method_signature: UnsafeStringReader.mark(int readAheadLimit)
focal_class.full_signature: @Override public void mark(int readAheadLimit)
focal_class.identifier: mark
focal_class.modifiers: @Override public
focal_class.parameters: (int readAheadLimit)
focal_class.return: void
focal_class.signature: void mark(int readAheadLimit)
focal_class.class_method_signature: UnsafeStringReader.reset()
focal_class.full_signature: @Override public void reset()
focal_class.identifier: reset
focal_class.modifiers: @Override public
focal_class.parameters: ()
focal_class.return: void
focal_class.signature: void reset()
focal_class.class_method_signature: UnsafeStringReader.close()
focal_class.full_signature: @Override public void close()
focal_class.identifier: close
focal_class.modifiers: @Override public
focal_class.parameters: ()
focal_class.return: void
focal_class.signature: void close()
focal_class.class_method_signature: UnsafeStringReader.ensureOpen()
focal_class.full_signature: private void ensureOpen()
focal_class.identifier: ensureOpen
focal_class.modifiers: private
focal_class.parameters: ()
focal_class.return: void
focal_class.signature: void ensureOpen()
focal_class.superclass: extends Reader
focal_method.body: @Override
      public int read() throws IOException {
          ensureOpen();
          if (mPosition >= mLimit)
              return -1;
  
          return mString.charAt(mPosition++);
      }
focal_method.class_method_signature: UnsafeStringReader.read()
focal_method.full_signature: @Override public int read()
focal_method.identifier: read
focal_method.invocations: ensureOpen charAt
focal_method.modifiers: @Override public
focal_method.parameters: ()
focal_method.return: int
focal_method.signature: int read()