@@ -95,7 +95,7 @@ object JSONScanner {
95
95
}
96
96
97
97
private [json] final val whiteSpaceBitVector : Array [Long ] = {
98
- var b = new Array [Long ](256 / 64 )
98
+ val b = new Array [Long ](256 / 64 )
99
99
for (i <- 0 until 256 ) {
100
100
import JSONToken ._
101
101
i match {
@@ -139,6 +139,7 @@ class JSONScanner[J](private[this] val s: JSONSource, private[this] val handler:
139
139
private [this ] var cursor : Int = 0
140
140
private [this ] var lineStartPos : Int = 0
141
141
private [this ] var line : Int = 0
142
+ private [this ] val sb = new StringBuilder ()
142
143
143
144
import JSONScanner ._
144
145
import JSONToken ._
@@ -187,16 +188,16 @@ class JSONScanner[J](private[this] val s: JSONSource, private[this] val handler:
187
188
}
188
189
}
189
190
190
- final def scanObject (stack : List [JSONContext [J ]]): Unit = {
191
+ private final def scanObject (stack : List [JSONContext [J ]]): Unit = {
191
192
cursor += 1
192
193
rscan(OBJECT_START , stack.head.objectContext(s, cursor - 1 ) :: stack)
193
194
}
194
- final def scanArray (stack : List [JSONContext [J ]]): Unit = {
195
+ private final def scanArray (stack : List [JSONContext [J ]]): Unit = {
195
196
cursor += 1
196
197
rscan(ARRAY_START , stack.head.arrayContext(s, cursor - 1 ) :: stack)
197
198
}
198
199
199
- final def scanAny (ctx : JSONContext [J ]): J = {
200
+ private final def scanAny (ctx : JSONContext [J ]): J = {
200
201
skipWhiteSpaces
201
202
if (cursor >= s.length) {
202
203
throw new UnexpectedEOF (line, cursor - lineStartPos, cursor, " Unexpected EOF" )
@@ -230,7 +231,7 @@ class JSONScanner[J](private[this] val s: JSONSource, private[this] val handler:
230
231
231
232
@ tailrec
232
233
private final def rscan (state : Int , stack : List [JSONContext [J ]]): Unit = {
233
- var ch = s(cursor)
234
+ val ch = s(cursor)
234
235
if (ch == WS_N ) {
235
236
cursor += 1
236
237
line += 1
@@ -446,6 +447,7 @@ class JSONScanner[J](private[this] val s: JSONSource, private[this] val handler:
446
447
}
447
448
448
449
private final def scanString (ctx : JSONContext [J ]): Unit = {
450
+ sb.clear()
449
451
cursor += 1
450
452
val stringStart = cursor
451
453
val k = scanSimpleString
@@ -455,7 +457,6 @@ class JSONScanner[J](private[this] val s: JSONSource, private[this] val handler:
455
457
return
456
458
}
457
459
458
- val sb = new StringBuilder
459
460
var continue = true
460
461
while (continue) {
461
462
val ch = s(cursor)
@@ -496,10 +497,10 @@ class JSONScanner[J](private[this] val s: JSONSource, private[this] val handler:
496
497
// }
497
498
// }
498
499
499
- def scanUtf8 (sb : StringBuilder ): Unit = {
500
+ private def scanUtf8 (sb : StringBuilder ): Unit = {
500
501
val ch = s(cursor)
501
502
val first5bit = (ch & 0xF8 ) >> 3
502
- val isValidUtf8Header = ( validUtf8BitVector & (1L << first5bit) )
503
+ val isValidUtf8Header = validUtf8BitVector & (1L << first5bit)
503
504
if (isValidUtf8Header != 0L ) {
504
505
val pos = (ch & 0xF0 ) >> (4 - 1 )
505
506
val mask = 0x03L << pos
0 commit comments