@@ -325,7 +325,7 @@ internal object Parsers : GlobalParserOptions {
325
325
parser
326
326
}
327
327
328
- private val parsersOrder = listOf (
328
+ internal val parsersOrder = listOf (
329
329
// Int
330
330
stringParser<Int > { it.toIntOrNull() },
331
331
// Long
@@ -415,7 +415,7 @@ internal object Parsers : GlobalParserOptions {
415
415
stringParser<String > { it },
416
416
)
417
417
418
- internal val parsersMap = parsersOrder.associateBy { it.type }
418
+ private val parsersMap = parsersOrder.associateBy { it.type }
419
419
420
420
val size: Int = parsersOrder.size
421
421
@@ -478,16 +478,16 @@ internal object Parsers : GlobalParserOptions {
478
478
internal fun DataColumn<String?>.tryParseImpl (options : ParserOptions ? ): DataColumn <* > {
479
479
val columnSize = size
480
480
val parsedValues = ArrayList <Any ?>(columnSize)
481
- var hasNulls: Boolean = false
482
- var hasNotNulls: Boolean = false
483
- var nullStringParsed: Boolean = false
481
+ var hasNulls = false
482
+ var hasNotNulls = false
483
+ var nullStringParsed = false
484
484
val nulls = options?.nullStrings ? : Parsers .nulls
485
485
486
- val parsersToCheck = Parsers .parsersMap
487
- val parserTypesToCheck = parsersToCheck.keys
486
+ val parsersToCheck = Parsers .parsersOrder
487
+ val parserTypesToCheck = parsersToCheck.map { it.type }.toSet()
488
488
489
489
var correctParser: StringParser <* >? = null
490
- for ((_, parser) in parsersToCheck) {
490
+ for (parser in parsersToCheck) {
491
491
if (parser.coveredBy.any { it in parserTypesToCheck }) continue
492
492
493
493
val parserWithOptions = parser.applyOptions(options)
@@ -496,24 +496,21 @@ internal fun DataColumn<String?>.tryParseImpl(options: ParserOptions?): DataColu
496
496
hasNotNulls = false
497
497
nullStringParsed = false
498
498
for (str in this ) {
499
- when {
500
- str == null -> {
499
+ when (str) {
500
+ null -> {
501
501
parsedValues + = null
502
502
hasNulls = true
503
503
}
504
504
505
- str in nulls -> {
505
+ in nulls -> {
506
506
parsedValues + = null
507
507
hasNulls = true
508
508
nullStringParsed = true
509
509
}
510
510
511
511
else -> {
512
512
val trimmed = str.trim()
513
- val res = parserWithOptions(trimmed)
514
- if (res == null ) {
515
- continue
516
- }
513
+ val res = parserWithOptions(trimmed) ? : continue
517
514
parsedValues + = res
518
515
hasNotNulls = true
519
516
}
0 commit comments