@@ -45,9 +45,6 @@ object Scanners {
45
45
/** the string value of a literal */
46
46
var strVal : String = null
47
47
48
- /** the started parsing of a literal */
49
- var startedLiteral : String = null
50
-
51
48
/** the base of a number */
52
49
var base : Int = 0
53
50
@@ -177,13 +174,8 @@ object Scanners {
177
174
178
175
}
179
176
180
- class Scanner (
181
- source : SourceFile ,
182
- override val startFrom : Offset = 0 ,
183
- preserveWhitespace : Boolean = false
184
- )(implicit ctx : Context ) extends ScannerCommon (source)(ctx) {
185
- val keepComments = ctx.settings.YkeepComments .value
186
- val whitespace = new StringBuilder
177
+ class Scanner (source : SourceFile , override val startFrom : Offset = 0 )(implicit ctx : Context ) extends ScannerCommon (source)(ctx) {
178
+ val keepComments = ctx.settings.YkeepComments .value
187
179
188
180
/** All doc comments as encountered, each list contains doc comments from
189
181
* the same block level. Starting with the deepest level and going upward
@@ -247,13 +239,13 @@ object Scanners {
247
239
248
240
/** Are we directly in a string interpolation expression?
249
241
*/
250
- def inStringInterpolation =
242
+ private def inStringInterpolation =
251
243
sepRegions.nonEmpty && sepRegions.head == STRINGLIT
252
244
253
245
/** Are we directly in a multiline string interpolation expression?
254
246
* @pre inStringInterpolation
255
247
*/
256
- def inMultiLineInterpolation =
248
+ private def inMultiLineInterpolation =
257
249
inStringInterpolation && sepRegions.tail.nonEmpty && sepRegions.tail.head == STRINGPART
258
250
259
251
/** read next token and return last offset
@@ -324,7 +316,7 @@ object Scanners {
324
316
token = if (pastBlankLine()) NEWLINES else NEWLINE
325
317
}
326
318
327
- if ( ! preserveWhitespace) postProcessToken()
319
+ postProcessToken()
328
320
// print("[" + this +"]")
329
321
}
330
322
@@ -383,20 +375,9 @@ object Scanners {
383
375
offset = charOffset - 1
384
376
(ch : @ switch) match {
385
377
case ' ' | '\t ' | CR | LF | FF =>
386
- if (preserveWhitespace) {
387
- while ((' ' :: '\t ' :: CR :: LF :: FF :: Nil ) contains ch) {
388
- whitespace += ch
389
- nextChar()
390
- }
391
- token = WHITESPACE
392
- strVal = whitespace.toString
393
- whitespace.clear()
394
- } else {
395
- nextChar()
396
- fetchToken()
397
- }
398
- case c @ (
399
- 'A' | 'B' | 'C' | 'D' | 'E' |
378
+ nextChar()
379
+ fetchToken()
380
+ case 'A' | 'B' | 'C' | 'D' | 'E' |
400
381
'F' | 'G' | 'H' | 'I' | 'J' |
401
382
'K' | 'L' | 'M' | 'N' | 'O' |
402
383
'P' | 'Q' | 'R' | 'S' | 'T' |
@@ -407,14 +388,12 @@ object Scanners {
407
388
'k' | 'l' | 'm' | 'n' | 'o' |
408
389
'p' | 'q' | 'r' | 's' | 't' |
409
390
'u' | 'v' | 'w' | 'x' | 'y' |
410
- 'z' ) =>
391
+ 'z' =>
411
392
putChar(ch)
412
393
nextChar()
413
394
getIdentRest()
414
- if (ch == '"' && token == IDENTIFIER ) {
395
+ if (ch == '"' && token == IDENTIFIER )
415
396
token = INTERPOLATIONID
416
- startedLiteral = " \" "
417
- }
418
397
case '<' => // is XMLSTART?
419
398
def fetchLT () = {
420
399
val last = if (charOffset >= 2 ) buf(charOffset - 2 ) else ' '
@@ -515,11 +494,9 @@ object Scanners {
515
494
getLitChar()
516
495
if (ch == '\' ' ) {
517
496
nextChar()
518
- startedLiteral = null
519
497
token = CHARLIT
520
498
setStrVal()
521
499
} else {
522
- startedLiteral = " \' "
523
500
error(" unclosed character literal" )
524
501
}
525
502
}
@@ -709,12 +686,8 @@ object Scanners {
709
686
if (ch == '"' ) {
710
687
setStrVal()
711
688
nextChar()
712
- startedLiteral = null
713
689
token = STRINGLIT
714
- } else {
715
- startedLiteral = " \" "
716
- error(" unclosed string literal" )
717
- }
690
+ } else error(" unclosed string literal" )
718
691
}
719
692
720
693
private def getRawStringLit (): Unit = {
0 commit comments