summaryrefslogtreecommitdiff
path: root/src/compiler/scala/reflect/internal/Flags.scala
diff options
context:
space:
mode:
Diffstat (limited to 'src/compiler/scala/reflect/internal/Flags.scala')
-rw-r--r--src/compiler/scala/reflect/internal/Flags.scala31
1 files changed, 31 insertions, 0 deletions
diff --git a/src/compiler/scala/reflect/internal/Flags.scala b/src/compiler/scala/reflect/internal/Flags.scala
index 12dc5854db..f6cfb6680f 100644
--- a/src/compiler/scala/reflect/internal/Flags.scala
+++ b/src/compiler/scala/reflect/internal/Flags.scala
@@ -6,6 +6,8 @@
package scala.reflect
package internal
+import api.Modifier
+
// Flags at each index of a flags Long. Those marked with /M are used in
// Parsers/JavaParsers and therefore definitely appear on Modifiers; but the
// absence of /M on the other flags does not imply they aren't.
@@ -423,6 +425,35 @@ class Flags extends ModifierFlags {
front.toList ++ (all filterNot (front contains _))
}
+
+ def flagOfModifier(mod: Modifier.Value): Long = mod match {
+ case Modifier.`protected` => PROTECTED
+ case Modifier.`private` => PRIVATE
+ case Modifier.`override` => OVERRIDE
+ case Modifier.`abstract` => ABSTRACT
+ case Modifier.`final`=> FINAL
+ case Modifier.`sealed`=> SEALED
+ case Modifier.`implicit`=> IMPLICIT
+ case Modifier.`lazy`=> LAZY
+ case Modifier.`case`=> CASE
+ case Modifier.`trait`=> TRAIT
+ case Modifier.deferred => DEFERRED
+ case Modifier.interface => INTERFACE
+ case Modifier.mutable => MUTABLE
+ case Modifier.parameter => PARAM
+ case Modifier.covariant => COVARIANT
+ case Modifier.contravariant => CONTRAVARIANT
+ case Modifier.preSuper => PRESUPER
+ case Modifier.abstractOverride => ABSOVERRIDE
+ case Modifier.local => LOCAL
+ case Modifier.java => JAVA
+ case Modifier.static => STATIC
+ case Modifier.caseAccessor => CASEACCESSOR
+ case Modifier.defaultParameter => DEFAULTPARAM
+ case Modifier.defaultInit => DEFAULTINIT
+ case Modifier.paramAccessor => PARAMACCESSOR
+ case Modifier.bynameParameter => BYNAMEPARAM
+ }
}
object Flags extends Flags { }