MCPcopy Create free account
hub / github.com/apache/solr / readStringChars2

Method readStringChars2

solr/solrj/src/java/org/noggit/JSONParser.java:732–761  ·  view source on GitHub ↗
(CharArr arr, int middle)

Source from the content-addressed store, hash-verified

730 // character ('"' or "/"). start<=middle<end
731 // this should be faster for strings with fewer escapes, but probably slower for many escapes.
732 private void readStringChars2(CharArr arr, int middle) throws IOException {
733 if (stringTerm == 0) {
734 readStringBare(arr);
735 return;
736 }
737
738 char terminator = (char) stringTerm;
739
740 for (; ; ) {
741 if (middle >= end) {
742 arr.write(buf, start, middle - start);
743 start = middle;
744 getMore();
745 middle = start;
746 }
747 int ch = buf[middle++];
748 if (ch == terminator) {
749 int len = middle - start - 1;
750 if (len > 0) arr.write(buf, start, len);
751 start = middle;
752 return;
753 } else if (ch == '\\') {
754 int len = middle - start - 1;
755 if (len > 0) arr.write(buf, start, len);
756 start = middle;
757 arr.write(readEscapedChar());
758 middle = start;
759 }
760 }
761 }
762
763 private void readStringBare(CharArr arr) throws IOException {
764 if (arr != out) {

Callers 3

readStringCharsMethod · 0.95
nextEventMethod · 0.95
getStringMethod · 0.95

Calls 4

readStringBareMethod · 0.95
getMoreMethod · 0.95
readEscapedCharMethod · 0.95
writeMethod · 0.65

Tested by

no test coverage detected