@@ -81,36 +81,36 @@ package internal
81
81
/** Flags set on Modifiers instances in the parsing stage.
82
82
*/
83
83
class ModifierFlags {
84
- final val IMPLICIT = 1 << 9
85
- final val FINAL = 1 << 5 // May not be overridden. Note that java final implies much more than scala final.
86
- final val PRIVATE = 1 << 2
87
- final val PROTECTED = 1 << 0
88
-
89
- final val SEALED = 1 << 10
90
- final val OVERRIDE = 1 << 1
91
- final val CASE = 1 << 11
92
- final val ABSTRACT = 1 << 3 // abstract class, or used in conjunction with abstract override.
84
+ final val IMPLICIT = 1L << 9
85
+ final val FINAL = 1L << 5 // May not be overridden. Note that java final implies much more than scala final.
86
+ final val PRIVATE = 1L << 2
87
+ final val PROTECTED = 1L << 0
88
+
89
+ final val SEALED = 1L << 10
90
+ final val OVERRIDE = 1L << 1
91
+ final val CASE = 1L << 11
92
+ final val ABSTRACT = 1L << 3 // abstract class, or used in conjunction with abstract override.
93
93
// Note difference to DEFERRED!
94
- final val DEFERRED = 1 << 4 // was `abstract' for members | trait is virtual
95
- final val INTERFACE = 1 << 7 // symbol is an interface. the flag is set for:
94
+ final val DEFERRED = 1L << 4 // was `abstract' for members | trait is virtual
95
+ final val INTERFACE = 1L << 7 // symbol is an interface. the flag is set for:
96
96
// - scala-defined traits with only abstract methods or fields
97
97
// - any java-defined interface (even if it has default methods)
98
- final val MUTABLE = 1 << 12 // symbol is a mutable variable.
99
- final val PARAM = 1 << 13 // symbol is a (value or type) parameter to a method
100
- final val MACRO = 1 << 15 // symbol is a macro definition
101
-
102
- final val COVARIANT = 1 << 16 // symbol is a covariant type variable
103
- final val BYNAMEPARAM = 1 << 16 // parameter is by name
104
- final val CONTRAVARIANT = 1 << 17 // symbol is a contravariant type variable
105
- final val ABSOVERRIDE = 1 << 18 // combination of abstract & override
106
- final val LOCAL = 1 << 19 // symbol is local to current class (i.e. private[this] or protected[this]
98
+ final val MUTABLE = 1L << 12 // symbol is a mutable variable.
99
+ final val PARAM = 1L << 13 // symbol is a (value or type) parameter to a method
100
+ final val MACRO = 1L << 15 // symbol is a macro definition
101
+
102
+ final val COVARIANT = 1L << 16 // symbol is a covariant type variable
103
+ final val BYNAMEPARAM = 1L << 16 // parameter is by name
104
+ final val CONTRAVARIANT = 1L << 17 // symbol is a contravariant type variable
105
+ final val ABSOVERRIDE = 1L << 18 // combination of abstract & override
106
+ final val LOCAL = 1L << 19 // symbol is local to current class (i.e. private[this] or protected[this]
107
107
// pre: PRIVATE or PROTECTED are also set
108
- final val JAVA = 1 << 20 // symbol was defined by a Java class
109
- final val STATIC = 1 << 23 // static field, method or class
110
- final val CASEACCESSOR = 1 << 24 // symbol is a case parameter (or its accessor, or a GADT skolem)
111
- final val TRAIT = 1 << 25 // symbol is a trait
112
- final val DEFAULTPARAM = 1 << 25 // the parameter has a default value
113
- final val PARAMACCESSOR = 1 << 29 // for field definitions generated for primary constructor
108
+ final val JAVA = 1L << 20 // symbol was defined by a Java class
109
+ final val STATIC = 1L << 23 // static field, method or class
110
+ final val CASEACCESSOR = 1L << 24 // symbol is a case parameter (or its accessor, or a GADT skolem)
111
+ final val TRAIT = 1L << 25 // symbol is a trait
112
+ final val DEFAULTPARAM = 1L << 25 // the parameter has a default value
113
+ final val PARAMACCESSOR = 1L << 29 // for field definitions generated for primary constructor
114
114
// parameters (no matter if it's a 'val' parameter or not)
115
115
// for parameters of a primary constructor ('val' or not)
116
116
// for the accessor methods generated for 'val' or 'var' parameters
@@ -134,22 +134,22 @@ object ModifierFlags extends ModifierFlags
134
134
135
135
/** All flags and associated operations */
136
136
class Flags extends ModifierFlags {
137
- final val METHOD = 1 << 6 // a method
138
- final val MODULE = 1 << 8 // symbol is module or class implementing a module
139
- final val PACKAGE = 1 << 14 // symbol is a java package
140
-
141
- final val CAPTURED = 1 << 16 // variable is accessed from nested function. Set by LambdaLift.
142
- final val LABEL = 1 << 17 // method symbol is a label. Set by TailCall
143
- final val INCONSTRUCTOR = 1 << 17 // class symbol is defined in this/superclass constructor.
144
- final val SYNTHETIC = 1 << 21 // symbol is compiler-generated (compare with ARTIFACT)
145
- final val STABLE = 1 << 22 // functions that are assumed to be stable
137
+ final val METHOD = 1L << 6 // a method
138
+ final val MODULE = 1L << 8 // symbol is module or class implementing a module
139
+ final val PACKAGE = 1L << 14 // symbol is a java package
140
+
141
+ final val CAPTURED = 1L << 16 // variable is accessed from nested function. Set by LambdaLift.
142
+ final val LABEL = 1L << 17 // method symbol is a label. Set by TailCall
143
+ final val INCONSTRUCTOR = 1L << 17 // class symbol is defined in this/superclass constructor.
144
+ final val SYNTHETIC = 1L << 21 // symbol is compiler-generated (compare with ARTIFACT)
145
+ final val STABLE = 1L << 22 // functions that are assumed to be stable
146
146
// (typically, access methods for valdefs)
147
147
// or classes that do not contain abstract types.
148
- final val BRIDGE = 1 << 26 // function is a bridge method. Set by Erasure
149
- final val ACCESSOR = 1 << 27 // a value or variable accessor (getter or setter)
148
+ final val BRIDGE = 1L << 26 // function is a bridge method. Set by Erasure
149
+ final val ACCESSOR = 1L << 27 // a value or variable accessor (getter or setter)
150
150
151
- final val SUPERACCESSOR = 1 << 28 // a super accessor
152
- final val MODULEVAR = 1 << 30 // for variables: is the variable caching a module value
151
+ final val SUPERACCESSOR = 1L << 28 // a super accessor
152
+ final val MODULEVAR = 1L << 30 // for variables: is the variable caching a module value
153
153
154
154
final val IS_ERROR = 1L << 32 // symbol is an error symbol
155
155
final val OVERLOADED = 1L << 33 // symbol is overloaded
@@ -348,18 +348,18 @@ class Flags extends ModifierFlags {
348
348
// The flags from 0x001 to 0x800 are different in the raw flags
349
349
// and in the pickled format.
350
350
351
- private final val IMPLICIT_PKL = (1 << 0 )
352
- private final val FINAL_PKL = (1 << 1 )
353
- private final val PRIVATE_PKL = (1 << 2 )
354
- private final val PROTECTED_PKL = (1 << 3 )
355
- private final val SEALED_PKL = (1 << 4 )
356
- private final val OVERRIDE_PKL = (1 << 5 )
357
- private final val CASE_PKL = (1 << 6 )
358
- private final val ABSTRACT_PKL = (1 << 7 )
359
- private final val DEFERRED_PKL = (1 << 8 )
360
- private final val METHOD_PKL = (1 << 9 )
361
- private final val MODULE_PKL = (1 << 10 )
362
- private final val INTERFACE_PKL = (1 << 11 )
351
+ private final val IMPLICIT_PKL = (1L << 0 )
352
+ private final val FINAL_PKL = (1L << 1 )
353
+ private final val PRIVATE_PKL = (1L << 2 )
354
+ private final val PROTECTED_PKL = (1L << 3 )
355
+ private final val SEALED_PKL = (1L << 4 )
356
+ private final val OVERRIDE_PKL = (1L << 5 )
357
+ private final val CASE_PKL = (1L << 6 )
358
+ private final val ABSTRACT_PKL = (1L << 7 )
359
+ private final val DEFERRED_PKL = (1L << 8 )
360
+ private final val METHOD_PKL = (1L << 9 )
361
+ private final val MODULE_PKL = (1L << 10 )
362
+ private final val INTERFACE_PKL = (1L << 11 )
363
363
364
364
private final val PKL_MASK = 0x00000FFF
365
365
0 commit comments