@@ -3,17 +3,17 @@ package scala.runtime
33import scala .collection .immutable .ArraySeq
44import scala .reflect .ClassTag
55
6- sealed abstract class ArraySeqBuilder [T ]:
6+ sealed abstract class VarArgsBuilder [T ]:
77 def add (elem : T ): this .type
88 def addSeq (elems : Seq [T ]): this .type
99 def addArray (elems : Array [T ]): this .type
10- def result : ArraySeq [T ]
10+ def result () : Seq [T ]
1111
12- object ArraySeqBuilder :
12+ object VarArgsBuilder :
1313
14- def generic [T ](n : Int ) = new ArraySeqBuilder [T ]:
14+ def generic [T ](n : Int ): VarArgsBuilder [ T ] = new VarArgsBuilder [T ]:
1515 private val xs = new Array [AnyRef ](n)
16- def result = ArraySeq .ofRef(xs).asInstanceOf [ArraySeq [T ]]
16+ def result () = ArraySeq .ofRef(xs).asInstanceOf [ArraySeq [T ]]
1717 private var i = 0
1818 def add (elem : T ): this .type =
1919 xs(i) = elem.asInstanceOf [AnyRef ]
@@ -30,9 +30,9 @@ object ArraySeqBuilder:
3030 i += 1
3131 this
3232
33- def ofRef [T <: AnyRef ](n : Int )( using ClassTag [T ]) = new ArraySeqBuilder [T ]:
34- private val xs = new Array [T ](n)
35- def result = ArraySeq .ofRef(xs)
33+ def ofRef [T <: AnyRef ](n : Int ): VarArgsBuilder [T ] = new VarArgsBuilder [T ]:
34+ private val xs = new Array [AnyRef ](n)
35+ def result () = ArraySeq .ofRef(xs). asInstanceOf [ ArraySeq [ T ]]
3636 private var i = 0
3737 def add (elem : T ): this .type =
3838 xs(i) = elem
@@ -49,9 +49,9 @@ object ArraySeqBuilder:
4949 i += 1
5050 this
5151
52- def ofByte (n : Int ) = new ArraySeqBuilder [Byte ]:
52+ def ofByte (n : Int ): VarArgsBuilder [ Byte ] = new VarArgsBuilder [Byte ]:
5353 private val xs = new Array [Byte ](n)
54- def result = ArraySeq .ofByte(xs)
54+ def result () = ArraySeq .ofByte(xs)
5555 private var i = 0
5656 def add (elem : Byte ): this .type =
5757 xs(i) = elem
@@ -68,9 +68,9 @@ object ArraySeqBuilder:
6868 i += 1
6969 this
7070
71- def ofShort (n : Int ) = new ArraySeqBuilder [Short ]:
71+ def ofShort (n : Int ): VarArgsBuilder [ Short ] = new VarArgsBuilder [Short ]:
7272 private val xs = new Array [Short ](n)
73- def result = ArraySeq .ofShort(xs)
73+ def result () = ArraySeq .ofShort(xs)
7474 private var i = 0
7575 def add (elem : Short ): this .type =
7676 xs(i) = elem
@@ -87,9 +87,9 @@ object ArraySeqBuilder:
8787 i += 1
8888 this
8989
90- def ofChar (n : Int ) = new ArraySeqBuilder [Char ]:
90+ def ofChar (n : Int ): VarArgsBuilder [ Char ] = new VarArgsBuilder [Char ]:
9191 private val xs = new Array [Char ](n)
92- def result = ArraySeq .ofChar(xs)
92+ def result () = ArraySeq .ofChar(xs)
9393 private var i = 0
9494 def add (elem : Char ): this .type =
9595 xs(i) = elem
@@ -106,9 +106,9 @@ object ArraySeqBuilder:
106106 i += 1
107107 this
108108
109- def ofInt (n : Int ) = new ArraySeqBuilder [Int ]:
109+ def ofInt (n : Int ): VarArgsBuilder [ Int ] = new VarArgsBuilder [Int ]:
110110 private val xs = new Array [Int ](n)
111- def result = ArraySeq .ofInt(xs)
111+ def result () = ArraySeq .ofInt(xs)
112112 private var i = 0
113113 def add (elem : Int ): this .type =
114114 xs(i) = elem
@@ -125,9 +125,9 @@ object ArraySeqBuilder:
125125 i += 1
126126 this
127127
128- def ofLong (n : Int ) = new ArraySeqBuilder [Long ]:
128+ def ofLong (n : Int ): VarArgsBuilder [ Long ] = new VarArgsBuilder [Long ]:
129129 private val xs = new Array [Long ](n)
130- def result = ArraySeq .ofLong(xs)
130+ def result () = ArraySeq .ofLong(xs)
131131 private var i = 0
132132 def add (elem : Long ): this .type =
133133 xs(i) = elem
@@ -144,9 +144,9 @@ object ArraySeqBuilder:
144144 i += 1
145145 this
146146
147- def ofFloat (n : Int ) = new ArraySeqBuilder [Float ]:
147+ def ofFloat (n : Int ): VarArgsBuilder [ Float ] = new VarArgsBuilder [Float ]:
148148 private val xs = new Array [Float ](n)
149- def result = ArraySeq .ofFloat(xs)
149+ def result () = ArraySeq .ofFloat(xs)
150150 private var i = 0
151151 def add (elem : Float ): this .type =
152152 xs(i) = elem
@@ -163,9 +163,9 @@ object ArraySeqBuilder:
163163 i += 1
164164 this
165165
166- def ofDouble (n : Int ) = new ArraySeqBuilder [Double ]:
166+ def ofDouble (n : Int ): VarArgsBuilder [ Double ] = new VarArgsBuilder [Double ]:
167167 private val xs = new Array [Double ](n)
168- def result = ArraySeq .ofDouble(xs)
168+ def result () = ArraySeq .ofDouble(xs)
169169 private var i = 0
170170 def add (elem : Double ): this .type =
171171 xs(i) = elem
@@ -182,9 +182,9 @@ object ArraySeqBuilder:
182182 i += 1
183183 this
184184
185- def ofBoolean (n : Int ) = new ArraySeqBuilder [Boolean ]:
185+ def ofBoolean (n : Int ): VarArgsBuilder [ Boolean ] = new VarArgsBuilder [Boolean ]:
186186 private val xs = new Array [Boolean ](n)
187- def result = ArraySeq .ofBoolean(xs)
187+ def result () = ArraySeq .ofBoolean(xs)
188188 private var i = 0
189189 def add (elem : Boolean ): this .type =
190190 xs(i) = elem
@@ -201,9 +201,9 @@ object ArraySeqBuilder:
201201 i += 1
202202 this
203203
204- def ofUnit (n : Int ) = new ArraySeqBuilder [Unit ]:
204+ def ofUnit (n : Int ): VarArgsBuilder [ Unit ] = new VarArgsBuilder [Unit ]:
205205 private val xs = new Array [Unit ](n)
206- def result = ArraySeq .ofUnit(xs)
206+ def result () = ArraySeq .ofUnit(xs)
207207 private var i = 0
208208 def add (elem : Unit ): this .type =
209209 xs(i) = elem
@@ -220,4 +220,4 @@ object ArraySeqBuilder:
220220 i += 1
221221 this
222222
223- end ArraySeqBuilder
223+ end VarArgsBuilder
0 commit comments