File tree Expand file tree Collapse file tree 1 file changed +14
-10
lines changed
core/common/src/internal/format/parser Expand file tree Collapse file tree 1 file changed +14
-10
lines changed Original file line number Diff line number Diff line change @@ -97,22 +97,26 @@ internal fun <T> List<ParserStructure<T>>.concat(): ParserStructure<T> {
9797 } else {
9898 val newTails = mergedTails.map {
9999 when (val firstOperation = it.operations.firstOrNull()) {
100- is NumberSpanParserOperation -> {
101- ParserStructure (
102- listOf (NumberSpanParserOperation (currentNumberSpan + firstOperation.consumers)) + unconditionalModifications + it.operations.drop(
103- 1
104- ),
105- it.followedBy
106- )
107- }
100+ is NumberSpanParserOperation -> ParserStructure (buildList(unconditionalModifications.size + it.operations.size) {
101+ add(NumberSpanParserOperation (currentNumberSpan + firstOperation.consumers))
102+ addAll(unconditionalModifications)
103+ addAll(it.operations.drop(1 ))
104+ }, it.followedBy)
108105
109106 null -> ParserStructure (
110- unconditionalModifications + listOf (NumberSpanParserOperation (currentNumberSpan)),
107+ buildList(unconditionalModifications.size + 1 ) {
108+ addAll(unconditionalModifications)
109+ add(NumberSpanParserOperation (currentNumberSpan))
110+ },
111111 it.followedBy
112112 )
113113
114114 else -> ParserStructure (
115- unconditionalModifications + listOf (NumberSpanParserOperation (currentNumberSpan)) + it.operations,
115+ buildList(unconditionalModifications.size + 1 + it.operations.size) {
116+ addAll(unconditionalModifications)
117+ add(NumberSpanParserOperation (currentNumberSpan))
118+ addAll(it.operations)
119+ },
116120 it.followedBy
117121 )
118122 }
You can’t perform that action at this time.
0 commit comments