@@ -93,6 +93,12 @@ object ManifestFactory {
93
93
override def newArray (len : Int ): Array [Byte ] = new Array [Byte ](len)
94
94
override def newWrappedArray (len : Int ): WrappedArray [Byte ] = new WrappedArray .ofByte(new Array [Byte ](len))
95
95
override def newArrayBuilder (): ArrayBuilder [Byte ] = new ArrayBuilder .ofByte()
96
+ override def unapply (x : Any ): Option [Byte ] = {
97
+ x match {
98
+ case d : Byte => Some (d)
99
+ case _ => None
100
+ }
101
+ }
96
102
private def readResolve (): Any = Manifest .Byte
97
103
}
98
104
val Byte : AnyValManifest [Byte ] = new ByteManifest
@@ -103,6 +109,12 @@ object ManifestFactory {
103
109
override def newArray (len : Int ): Array [Short ] = new Array [Short ](len)
104
110
override def newWrappedArray (len : Int ): WrappedArray [Short ] = new WrappedArray .ofShort(new Array [Short ](len))
105
111
override def newArrayBuilder (): ArrayBuilder [Short ] = new ArrayBuilder .ofShort()
112
+ override def unapply (x : Any ): Option [Short ] = {
113
+ x match {
114
+ case d : Short => Some (d)
115
+ case _ => None
116
+ }
117
+ }
106
118
private def readResolve (): Any = Manifest .Short
107
119
}
108
120
val Short : AnyValManifest [Short ] = new ShortManifest
@@ -113,6 +125,12 @@ object ManifestFactory {
113
125
override def newArray (len : Int ): Array [Char ] = new Array [Char ](len)
114
126
override def newWrappedArray (len : Int ): WrappedArray [Char ] = new WrappedArray .ofChar(new Array [Char ](len))
115
127
override def newArrayBuilder (): ArrayBuilder [Char ] = new ArrayBuilder .ofChar()
128
+ override def unapply (x : Any ): Option [Char ] = {
129
+ x match {
130
+ case d : Char => Some (d)
131
+ case _ => None
132
+ }
133
+ }
116
134
private def readResolve (): Any = Manifest .Char
117
135
}
118
136
val Char : AnyValManifest [Char ] = new CharManifest
@@ -123,6 +141,12 @@ object ManifestFactory {
123
141
override def newArray (len : Int ): Array [Int ] = new Array [Int ](len)
124
142
override def newWrappedArray (len : Int ): WrappedArray [Int ] = new WrappedArray .ofInt(new Array [Int ](len))
125
143
override def newArrayBuilder (): ArrayBuilder [Int ] = new ArrayBuilder .ofInt()
144
+ override def unapply (x : Any ): Option [Int ] = {
145
+ x match {
146
+ case d : Int => Some (d)
147
+ case _ => None
148
+ }
149
+ }
126
150
private def readResolve (): Any = Manifest .Int
127
151
}
128
152
val Int : AnyValManifest [Int ] = new IntManifest
@@ -133,6 +157,12 @@ object ManifestFactory {
133
157
override def newArray (len : Int ): Array [Long ] = new Array [Long ](len)
134
158
override def newWrappedArray (len : Int ): WrappedArray [Long ] = new WrappedArray .ofLong(new Array [Long ](len))
135
159
override def newArrayBuilder (): ArrayBuilder [Long ] = new ArrayBuilder .ofLong()
160
+ override def unapply (x : Any ): Option [Long ] = {
161
+ x match {
162
+ case d : Long => Some (d)
163
+ case _ => None
164
+ }
165
+ }
136
166
private def readResolve (): Any = Manifest .Long
137
167
}
138
168
val Long : AnyValManifest [Long ] = new LongManifest
@@ -143,16 +173,31 @@ object ManifestFactory {
143
173
override def newArray (len : Int ): Array [Float ] = new Array [Float ](len)
144
174
override def newWrappedArray (len : Int ): WrappedArray [Float ] = new WrappedArray .ofFloat(new Array [Float ](len))
145
175
override def newArrayBuilder (): ArrayBuilder [Float ] = new ArrayBuilder .ofFloat()
176
+ override def unapply (x : Any ): Option [Float ] = {
177
+ x match {
178
+ case d : Float => Some (d)
179
+ case _ => None
180
+ }
181
+ }
146
182
private def readResolve (): Any = Manifest .Float
147
183
}
148
184
val Float : AnyValManifest [Float ] = new FloatManifest
149
185
150
186
@ SerialVersionUID (1L )
151
187
private class DoubleManifest extends AnyValManifest [scala.Double ](" Double" ) {
152
188
def runtimeClass = java.lang.Double .TYPE
153
- override def newArray (len : Int ): Array [Double ] = new Array [Double ](len)
189
+ override def newArray (len : Int ): Array [Double ] = {
190
+ new Array [Double ](len)
191
+ }
154
192
override def newWrappedArray (len : Int ): WrappedArray [Double ] = new WrappedArray .ofDouble(new Array [Double ](len))
155
193
override def newArrayBuilder (): ArrayBuilder [Double ] = new ArrayBuilder .ofDouble()
194
+
195
+ override def unapply (x : Any ): Option [Double ] = {
196
+ x match {
197
+ case d : Double => Some (d)
198
+ case _ => None
199
+ }
200
+ }
156
201
private def readResolve (): Any = Manifest .Double
157
202
}
158
203
val Double : AnyValManifest [Double ] = new DoubleManifest
@@ -163,6 +208,12 @@ object ManifestFactory {
163
208
override def newArray (len : Int ): Array [Boolean ] = new Array [Boolean ](len)
164
209
override def newWrappedArray (len : Int ): WrappedArray [Boolean ] = new WrappedArray .ofBoolean(new Array [Boolean ](len))
165
210
override def newArrayBuilder (): ArrayBuilder [Boolean ] = new ArrayBuilder .ofBoolean()
211
+ override def unapply (x : Any ): Option [Boolean ] = {
212
+ x match {
213
+ case d : Boolean => Some (d)
214
+ case _ => None
215
+ }
216
+ }
166
217
private def readResolve (): Any = Manifest .Boolean
167
218
}
168
219
val Boolean : AnyValManifest [Boolean ] = new BooleanManifest
@@ -176,6 +227,12 @@ object ManifestFactory {
176
227
override protected def arrayClass [T ](tp : Class [_]): Class [Array [T ]] =
177
228
if (tp eq runtimeClass) classOf [Array [scala.runtime.BoxedUnit ]].asInstanceOf [Class [Array [T ]]]
178
229
else super .arrayClass(tp)
230
+ override def unapply (x : Any ): Option [Unit ] = {
231
+ x match {
232
+ case d : Unit => Some (d)
233
+ case _ => None
234
+ }
235
+ }
179
236
private def readResolve (): Any = Manifest .Unit
180
237
}
181
238
val Unit : AnyValManifest [Unit ] = new UnitManifest
0 commit comments