blob: ddf65df13104770bad43ee3bf1f24634a33821a5 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
|
package scala.scalajs.runtime
import java.lang.{Double => JDouble, Integer => JInteger}
/** Explicit box for number values when doing a reflective call that was
* identified to be a call on Int rather than on Double (based on the
* result type of the method called reflectively).
* This class and its methods are only here to properly support reflective
* calls on numbers.
*/
class IntegerReflectiveCall(value: Int) {
// Methods of scala.Int whose result type is different than in scala.Double
def unary_+ : scala.Int = value
def unary_- : scala.Int = -value
def +(x: scala.Byte): scala.Int = value + x
def +(x: scala.Short): scala.Int = value + x
def +(x: scala.Char): scala.Int = value + x
def +(x: scala.Int): scala.Int = value + x
def +(x: scala.Long): scala.Long = value + x
def +(x: scala.Float): scala.Float = value + x
def +(x: scala.Double): scala.Double = value + x
def -(x: scala.Byte): scala.Int = value - x
def -(x: scala.Short): scala.Int = value - x
def -(x: scala.Char): scala.Int = value - x
def -(x: scala.Int): scala.Int = value - x
def -(x: scala.Long): scala.Long = value - x
def -(x: scala.Float): scala.Float = value - x
def -(x: scala.Double): scala.Double = value - x
def *(x: scala.Byte): scala.Int = value * x
def *(x: scala.Short): scala.Int = value * x
def *(x: scala.Char): scala.Int = value * x
def *(x: scala.Int): scala.Int = value * x
def *(x: scala.Long): scala.Long = value * x
def *(x: scala.Float): scala.Float = value * x
def *(x: scala.Double): scala.Double = value * x
def /(x: scala.Byte): scala.Int = value / x
def /(x: scala.Short): scala.Int = value / x
def /(x: scala.Char): scala.Int = value / x
def /(x: scala.Int): scala.Int = value / x
def /(x: scala.Long): scala.Long = value / x
def /(x: scala.Float): scala.Float = value / x
def /(x: scala.Double): scala.Double = value / x
def %(x: scala.Byte): scala.Int = value % x
def %(x: scala.Short): scala.Int = value % x
def %(x: scala.Char): scala.Int = value % x
def %(x: scala.Int): scala.Int = value % x
def %(x: scala.Long): scala.Long = value % x
def %(x: scala.Float): scala.Float = value % x
def %(x: scala.Double): scala.Double = value % x
// Methods of scala.Int that are not defined on scala.Double
def unary_~ : scala.Int = ~value
def <<(x: scala.Int): scala.Int = value << x
def <<(x: scala.Long): scala.Int = value << x
def >>>(x: scala.Int): scala.Int = value >>> x
def >>>(x: scala.Long): scala.Int = value >>> x
def >>(x: scala.Int): scala.Int = value >> x
def >>(x: scala.Long): scala.Int = value >> x
def |(x: scala.Byte): scala.Int = value | x
def |(x: scala.Short): scala.Int = value | x
def |(x: scala.Char): scala.Int = value | x
def |(x: scala.Int): scala.Int = value | x
def |(x: scala.Long): scala.Long = value | x
def &(x: scala.Byte): scala.Int = value & x
def &(x: scala.Short): scala.Int = value & x
def &(x: scala.Char): scala.Int = value & x
def &(x: scala.Int): scala.Int = value & x
def &(x: scala.Long): scala.Long = value & x
def ^(x: scala.Byte): scala.Int = value ^ x
def ^(x: scala.Short): scala.Int = value ^ x
def ^(x: scala.Char): scala.Int = value ^ x
def ^(x: scala.Int): scala.Int = value ^ x
def ^(x: scala.Long): scala.Long = value ^ x
}
|