Sfoglia il codice sorgente

remove skipWhitespaces

Tao Wen 9 anni fa
parent
commit
247a23a637
4 ha cambiato i file con 1 aggiunte e 24 eliminazioni
  1. 0 0
      feature_adapter.go
  2. 0 0
      feature_any.go
  3. 0 0
      feature_reflect.go
  4. 1 24
      jsoniter.go

+ 0 - 0
jsoniter_adapter.go → feature_adapter.go


+ 0 - 0
any.go → feature_any.go


+ 0 - 0
jsoniter_reflect.go → feature_reflect.go


+ 1 - 24
jsoniter.go

@@ -76,7 +76,6 @@ func Parse(reader io.Reader, bufSize int) *Iterator {
 		head: 0,
 		tail: 0,
 	}
-	iter.skipWhitespaces()
 	return iter
 }
 
@@ -87,7 +86,6 @@ func ParseBytes(input []byte) *Iterator {
 		head: 0,
 		tail: len(input),
 	}
-	iter.skipWhitespaces()
 	return iter
 }
 
@@ -99,7 +97,6 @@ func (iter *Iterator) Reset(reader io.Reader) *Iterator {
 	iter.reader = reader
 	iter.head = 0
 	iter.tail = 0
-	iter.skipWhitespaces()
 	return iter
 }
 
@@ -110,7 +107,6 @@ func (iter *Iterator) ResetBytes(input []byte) *Iterator {
 	iter.buf = input
 	iter.head = 0
 	iter.tail = len(input)
-	iter.skipWhitespaces()
 	return iter
 }
 
@@ -120,23 +116,6 @@ func (iter *Iterator) WhatIsNext() ValueType {
 	return valueType;
 }
 
-func (iter *Iterator) skipWhitespaces() {
-	for {
-		for i := iter.head; i < iter.tail; i++ {
-			c := iter.buf[i]
-			switch c {
-			case ' ', '\n', '\t', '\r':
-				continue
-			}
-			iter.head = i
-			return
-		}
-		if !iter.loadMore() {
-			return
-		}
-	}
-}
-
 func (iter *Iterator) skipWhitespacesWithoutLoadMore() bool {
 	for i := iter.head; i < iter.tail; i++ {
 		c := iter.buf[i]
@@ -370,7 +349,7 @@ func (iter *Iterator) ReadString() (ret string) {
 
 
 func (iter *Iterator) readStringAsBytes() (ret []byte) {
-	c := iter.readByte()
+	c := iter.nextToken()
 	if c == 'n' {
 		iter.skipUntilBreak()
 		return
@@ -560,7 +539,6 @@ func (iter *Iterator) ReadArray() (ret bool) {
 	}
 	case ']': return false
 	case ',':
-		iter.skipWhitespaces()
 		return true
 	default:
 		iter.ReportError("ReadArray", "expect [ or , or ] or n")
@@ -598,7 +576,6 @@ func (iter *Iterator) ReadObject() (ret string) {
 		}
 	}
 	case ',':
-		iter.skipWhitespaces()
 		return iter.readObjectField()
 	case '}':
 		return "" // end of object