@@ -15,83 +15,119 @@ trait ConstantOps extends Core {
15
15
/** Module of Null literals */
16
16
val Unit : UnitModule
17
17
abstract class UnitModule {
18
+ /** Unit `()` literal */
19
+ def apply (): Constant
20
+
18
21
/** Extractor for Unit literals */
19
22
def unapply (constant : Constant ): Boolean
20
23
}
21
24
22
25
/** Module of Null literals */
23
26
val Null : NullModule
24
27
abstract class NullModule {
28
+ /** `null` literal */
29
+ def apply (): Constant
30
+
25
31
/** Extractor for Null literals */
26
32
def unapply (constant : Constant ): Boolean
27
33
}
28
34
29
35
/** Module of Boolean literals */
30
36
val Boolean : BooleanModule
31
37
abstract class BooleanModule {
38
+ /** Boolean literal */
39
+ def apply (x : Boolean ): Constant
40
+
32
41
/** Extractor for Boolean literals */
33
42
def unapply (constant : Constant ): Option [Boolean ]
34
43
}
35
44
36
45
/** Module of Byte literals */
37
46
val Byte : ByteModule
38
47
abstract class ByteModule {
48
+ /** Byte literal */
49
+ def apply (x : Byte ): Constant
50
+
39
51
/** Extractor for Byte literals */
40
52
def unapply (constant : Constant ): Option [Byte ]
41
53
}
42
54
43
55
/** Module of Short literals */
44
56
val Short : ShortModule
45
57
abstract class ShortModule {
58
+ /** Short literal */
59
+ def apply (x : Short ): Constant
60
+
46
61
/** Extractor for Short literals */
47
62
def unapply (constant : Constant ): Option [Short ]
48
63
}
49
64
50
65
/** Module of Char literals */
51
66
val Char : CharModule
52
67
abstract class CharModule {
68
+ /** Char literal */
69
+ def apply (x : Char ): Constant
70
+
53
71
/** Extractor for Char literals */
54
72
def unapply (constant : Constant ): Option [Char ]
55
73
}
56
74
57
75
/** Module of Int literals */
58
76
val Int : IntModule
59
77
abstract class IntModule {
78
+ /** Int literal */
79
+ def apply (x : Int ): Constant
80
+
60
81
/** Extractor for Int literals */
61
82
def unapply (constant : Constant ): Option [Int ]
62
83
}
63
84
64
85
/** Module of Long literals */
65
86
val Long : LongModule
66
87
abstract class LongModule {
88
+ /** Long literal */
89
+ def apply (x : Long ): Constant
90
+
67
91
/** Extractor for Long literals */
68
92
def unapply (constant : Constant ): Option [Long ]
69
93
}
70
94
71
95
/** Module of Float literals */
72
96
val Float : FloatModule
73
97
abstract class FloatModule {
98
+ /** Float literal */
99
+ def apply (x : Float ): Constant
100
+
74
101
/** Extractor for Float literals */
75
102
def unapply (constant : Constant ): Option [Float ]
76
103
}
77
104
78
105
/** Module of Double literals */
79
106
val Double : DoubleModule
80
107
abstract class DoubleModule {
108
+ /** Double literal */
109
+ def apply (x : Double ): Constant
110
+
81
111
/** Extractor for Double literals */
82
112
def unapply (constant : Constant ): Option [Double ]
83
113
}
84
114
85
115
/** Module of String literals */
86
116
val String : StringModule
87
117
abstract class StringModule {
118
+ /** String literal */
119
+ def apply (x : String ): Constant
120
+
88
121
/** Extractor for String literals */
89
122
def unapply (constant : Constant ): Option [String ]
90
123
}
91
124
92
125
/** Module of ClassTag literals */
93
126
val ClassTag : ClassTagModule
94
127
abstract class ClassTagModule {
128
+ /** scala.reflect.ClassTag literal */
129
+ def apply [T ](implicit x : scala.reflect.ClassTag [T ]): Constant
130
+
95
131
/** Extractor for ClassTag literals */
96
132
def unapply (constant : Constant ): Option [Type ]
97
133
}
@@ -100,6 +136,10 @@ trait ConstantOps extends Core {
100
136
val Symbol : SymbolModule
101
137
/** Extractor for scala.Symbol literals */
102
138
abstract class SymbolModule {
139
+ /** scala.Symbol literal */
140
+ def apply (x : scala.Symbol ): Constant
141
+
142
+ /** Extractor for scala.Symbol literals */
103
143
def unapply (constant : Constant ): Option [scala.Symbol ]
104
144
}
105
145
}
0 commit comments