summaryrefslogtreecommitdiff
path: root/src/reflect/scala/reflect/internal/Flags.scala
diff options
context:
space:
mode:
authorLukas Rytz <lukas.rytz@epfl.ch>2012-08-16 10:22:25 +0200
committerLukas Rytz <lukas.rytz@epfl.ch>2012-08-16 14:24:14 +0200
commitffa9b1afc9168e699cfa568a94f84e40b5cc62b7 (patch)
tree389408cc60c0eacee6059b0e4178ccdd61ce1e12 /src/reflect/scala/reflect/internal/Flags.scala
parent3ccaa1026e7e74d99fe39c9608e28c48b422e2c9 (diff)
parente05122cdb38c5c6bd4900247f371fa23b46f9c22 (diff)
downloadscala-ffa9b1afc9168e699cfa568a94f84e40b5cc62b7.tar.gz
scala-ffa9b1afc9168e699cfa568a94f84e40b5cc62b7.tar.bz2
scala-ffa9b1afc9168e699cfa568a94f84e40b5cc62b7.zip
Merge remote-tracking branch 'upstream/2.10.x' into merge-210
Required a few changes of `HIDDEN` -> `ARTIFACT` and `isHidden` -> `isArtifact` Conflicts: src/reflect/scala/reflect/internal/Flags.scala
Diffstat (limited to 'src/reflect/scala/reflect/internal/Flags.scala')
-rw-r--r--src/reflect/scala/reflect/internal/Flags.scala30
1 files changed, 15 insertions, 15 deletions
diff --git a/src/reflect/scala/reflect/internal/Flags.scala b/src/reflect/scala/reflect/internal/Flags.scala
index 3f4f24a9f4..f021a9eebd 100644
--- a/src/reflect/scala/reflect/internal/Flags.scala
+++ b/src/reflect/scala/reflect/internal/Flags.scala
@@ -116,9 +116,9 @@ class ModifierFlags {
final val LAZY = 1L << 31 // symbol is a lazy val. can't have MUTABLE unless transformed by typer
final val PRESUPER = 1L << 37 // value is evaluated before super call
final val DEFAULTINIT = 1L << 41 // symbol is initialized to the default value: used by -Xcheckinit
- final val HIDDEN = 1L << 46 // symbol should be ignored when typechecking; will be marked ACC_SYNTHETIC in bytecode
+ final val ARTIFACT = 1L << 46 // symbol should be ignored when typechecking; will be marked ACC_SYNTHETIC in bytecode
- /** Symbols which are marked HIDDEN. (Expand this list?)
+ /** Symbols which are marked ARTIFACT. (Expand this list?)
*
* - $outer fields and accessors
* - super accessors
@@ -128,7 +128,7 @@ class ModifierFlags {
* - default argument getters
* - evaluation-order preserving locals for right-associative and out-of-order named arguments
* - catch-expression storing vals
- * - anything else which feels a setFlag(HIDDEN)
+ * - anything else which feels a setFlag(ARTIFACT)
*/
// Overridden.
@@ -149,7 +149,7 @@ class Flags extends ModifierFlags {
final val CAPTURED = 1 << 16 // variable is accessed from nested function. Set by LambdaLift.
final val LABEL = 1 << 17 // method symbol is a label. Set by TailCall
final val INCONSTRUCTOR = 1 << 17 // class symbol is defined in this/superclass constructor.
- final val SYNTHETIC = 1 << 21 // symbol is compiler-generated (compare with HIDDEN)
+ final val SYNTHETIC = 1 << 21 // symbol is compiler-generated (compare with ARTIFACT)
final val STABLE = 1 << 22 // functions that are assumed to be stable
// (typically, access methods for valdefs)
// or classes that do not contain abstract types.
@@ -231,7 +231,7 @@ class Flags extends ModifierFlags {
/** To be a little clearer to people who aren't habitual bit twiddlers.
*/
final val AllFlags = -1L
-
+
/** These flags can be set when class or module symbol is first created.
* They are the only flags to survive a call to resetFlags().
*/
@@ -261,7 +261,7 @@ class Flags extends ModifierFlags {
/** These modifiers appear in TreePrinter output. */
final val PrintableFlags =
ExplicitFlags | BridgeFlags | LOCAL | SYNTHETIC | STABLE | CASEACCESSOR | MACRO |
- ACCESSOR | SUPERACCESSOR | PARAMACCESSOR | STATIC | SPECIALIZED | SYNCHRONIZED | HIDDEN
+ ACCESSOR | SUPERACCESSOR | PARAMACCESSOR | STATIC | SPECIALIZED | SYNCHRONIZED | ARTIFACT
/** When a symbol for a field is created, only these flags survive
* from Modifiers. Others which may be applied at creation time are:
@@ -301,11 +301,11 @@ class Flags extends ModifierFlags {
/** These flags are not pickled */
final val FlagsNotPickled = IS_ERROR | OVERLOADED | LIFTED | TRANS_FLAG | LOCKED | TRIEDCOOKING
-
+
// A precaution against future additions to FlagsNotPickled turning out
// to be overloaded flags thus not-pickling more than intended.
assert((OverloadedFlagsMask & FlagsNotPickled) == 0, flagsToString(OverloadedFlagsMask & FlagsNotPickled))
-
+
/** These flags are pickled */
final val PickledFlags = InitialFlags & ~FlagsNotPickled
@@ -352,13 +352,13 @@ class Flags extends ModifierFlags {
(SEALED, SEALED_PKL),
(ABSTRACT, ABSTRACT_PKL)
)
-
+
private val mappedRawFlags = rawPickledCorrespondence map (_._1)
private val mappedPickledFlags = rawPickledCorrespondence map (_._2)
-
+
private class MapFlags(from: Array[Long], to: Array[Long]) extends (Long => Long) {
val fromSet = (0L /: from) (_ | _)
-
+
def apply(flags: Long): Long = {
var result = flags & ~fromSet
var tobeMapped = flags & fromSet
@@ -373,7 +373,7 @@ class Flags extends ModifierFlags {
result
}
}
-
+
val rawToPickledFlags: Long => Long = new MapFlags(mappedRawFlags, mappedPickledFlags)
val pickledToRawFlags: Long => Long = new MapFlags(mappedPickledFlags, mappedRawFlags)
@@ -427,7 +427,7 @@ class Flags extends ModifierFlags {
case VARARGS => "<varargs>" // (1L << 43)
case TRIEDCOOKING => "<triedcooking>" // (1L << 44)
case SYNCHRONIZED => "<synchronized>" // (1L << 45)
- case HIDDEN => "<hidden>" // (1L << 46)
+ case ARTIFACT => "<artifact>" // (1L << 46)
case 0x800000000000L => "" // (1L << 47)
case 0x1000000000000L => "" // (1L << 48)
case 0x2000000000000L => "" // (1L << 49)
@@ -447,7 +447,7 @@ class Flags extends ModifierFlags {
case 0x8000000000000000L => "" // (1L << 63)
case _ => ""
}
-
+
private def accessString(flags: Long, privateWithin: String)= (
if (privateWithin == "") {
if ((flags & PrivateLocal) == PrivateLocal) "private[this]"
@@ -459,7 +459,7 @@ class Flags extends ModifierFlags {
else if ((flags & PROTECTED) != 0) "protected[" + privateWithin + "]"
else "private[" + privateWithin + "]"
)
-
+
@deprecated("Use flagString on the flag-carrying member", "2.10.0")
def flagsToString(flags: Long, privateWithin: String): String = {
val access = accessString(flags, privateWithin)