@@ -54,37 +54,25 @@ class PersistentListGenerator {
54
54
55
55
object HeadSubList : TestStringListGenerator() {
56
56
override fun create (elements : Array <out String >): List <String > {
57
- val suffix = arrayOf(" f" , " g" )
58
- val all = Array (elements.size + suffix.size) {
59
- if (it < elements.size) elements[it] else suffix[it - elements.size]
60
- }
61
- return persistentListOf<String >().addAll(all.toList())
57
+ return persistentListOf<String >()
58
+ .addAll(listOf (* elements, " f" , " g" ))
62
59
.subList(0 , elements.size)
63
60
}
64
61
}
65
62
66
63
object TailSubList : TestStringListGenerator() {
67
64
override fun create (elements : Array <String >): List <String > {
68
- val prefix = arrayOf(" f" , " g" )
69
- val all = Array (elements.size + prefix.size) {
70
- if (it < prefix.size) prefix[it] else elements[it - prefix.size]
71
- }
72
- return persistentListOf<String >().addAll(all.toList())
65
+ return persistentListOf<String >()
66
+ .addAll(listOf (" f" , " g" , * elements))
73
67
.subList(2 , elements.size + 2 )
74
68
}
75
69
}
76
70
77
71
object MiddleSubList : TestStringListGenerator() {
78
72
override fun create (elements : Array <String >): List <String > {
79
- val prefix = arrayOf(" f" , " g" )
80
- val suffix = arrayOf(" h" , " i" )
81
73
82
- val all = arrayOfNulls<String >(2 + elements.size + 2 )
83
- System .arraycopy(prefix, 0 , all, 0 , 2 )
84
- System .arraycopy(elements, 0 , all, 2 , elements.size)
85
- System .arraycopy(suffix, 0 , all, 2 + elements.size, 2 )
86
-
87
- return persistentListOf<String >().addAll(all.toList() as List <String >)
74
+ return persistentListOf<String >()
75
+ .addAll(listOf (" f" , " g" , * elements, " h" , " i" ))
88
76
.subList(2 , elements.size + 2 )
89
77
}
90
78
}
@@ -125,37 +113,24 @@ class PersistentListGenerator {
125
113
126
114
object HeadSubList : TestStringListGenerator() {
127
115
override fun create (elements : Array <out String >): MutableList <String > {
128
- val suffix = arrayOf(" f" , " g" )
129
- val all = Array (elements.size + suffix.size) {
130
- if (it < elements.size) elements[it] else suffix[it - elements.size]
131
- }
132
- return persistentListOf<String >().builder().apply { addAll(all.toList()) }
116
+ return persistentListOf<String >().builder()
117
+ .apply { addAll(listOf (* elements, " f" , " g" )) }
133
118
.subList(0 , elements.size)
134
119
}
135
120
}
136
121
137
122
object TailSubList : TestStringListGenerator() {
138
123
override fun create (elements : Array <String >): MutableList <String > {
139
- val prefix = arrayOf(" f" , " g" )
140
- val all = Array (elements.size + prefix.size) {
141
- if (it < prefix.size) prefix[it] else elements[it - prefix.size]
142
- }
143
- return persistentListOf<String >().builder().apply { addAll(all.toList()) }
124
+ return persistentListOf<String >().builder()
125
+ .apply { addAll(listOf (" f" , " g" , * elements)) }
144
126
.subList(2 , elements.size + 2 )
145
127
}
146
128
}
147
129
148
130
object MiddleSubList : TestStringListGenerator() {
149
131
override fun create (elements : Array <String >): MutableList <String > {
150
- val prefix = arrayOf(" f" , " g" )
151
- val suffix = arrayOf(" h" , " i" )
152
-
153
- val all = arrayOfNulls<String >(2 + elements.size + 2 )
154
- System .arraycopy(prefix, 0 , all, 0 , 2 )
155
- System .arraycopy(elements, 0 , all, 2 , elements.size)
156
- System .arraycopy(suffix, 0 , all, 2 + elements.size, 2 )
157
-
158
- return persistentListOf<String >().builder().apply { addAll(all.toList() as List <String >) }
132
+ return persistentListOf<String >().builder()
133
+ .apply { addAll(listOf (" f" , " g" , * elements, " h" , " i" )) }
159
134
.subList(2 , elements.size + 2 )
160
135
}
161
136
}
0 commit comments