summaryrefslogtreecommitdiff
path: root/src/compiler/scala/reflect/internal/Flags.scala
diff options
context:
space:
mode:
authorPaul Phillips <paulp@improving.org>2011-10-17 22:00:57 +0000
committerPaul Phillips <paulp@improving.org>2011-10-17 22:00:57 +0000
commit23ab7e3c9a46ef6c509a452f8ee3d2f224235bde (patch)
tree3aab2bd751a9825afc567ccb1055cd215de71cce /src/compiler/scala/reflect/internal/Flags.scala
parenta98d0903a8a02f806726a45b65842a0da21115b7 (diff)
downloadscala-23ab7e3c9a46ef6c509a452f8ee3d2f224235bde.tar.gz
scala-23ab7e3c9a46ef6c509a452f8ee3d2f224235bde.tar.bz2
scala-23ab7e3c9a46ef6c509a452f8ee3d2f224235bde.zip
Overhaul of Namers.
I can't go bear hunting without a clean gun. Basically I iterated over Namers until I could understand it. I added a variety of documentation there and elsewhere. There shouldn't be anything particularly behavioral changing in this commit, but I did delete some years-old code (having huge commented out blocks of way-out-of-date code is not a boon to understanding) and the debugging output will look different. Better, one can hope. How about, review by moors.
Diffstat (limited to 'src/compiler/scala/reflect/internal/Flags.scala')
-rw-r--r--src/compiler/scala/reflect/internal/Flags.scala20
1 files changed, 18 insertions, 2 deletions
diff --git a/src/compiler/scala/reflect/internal/Flags.scala b/src/compiler/scala/reflect/internal/Flags.scala
index 13feff36b9..447c6c92b5 100644
--- a/src/compiler/scala/reflect/internal/Flags.scala
+++ b/src/compiler/scala/reflect/internal/Flags.scala
@@ -220,11 +220,27 @@ class Flags extends ModifierFlags {
/** The two bridge flags */
final val BRIDGES = BRIDGE | VBRIDGE
+ /** When a symbol for a field is created, only these flags survive
+ * from Modifiers. Others which may be applied at creation time are:
+ * PRIVATE, LOCAL.
+ */
final val FieldFlags: Long =
MUTABLE | CASEACCESSOR | PARAMACCESSOR | STATIC | FINAL | PRESUPER | LAZY
- final val VarianceFlags = COVARIANT | CONTRAVARIANT
- final val ConstrFlags: Long = JAVA
+ /** When a symbol for a default getter is created, it inherits these
+ * flags from the method with the default. Other flags applied at creation
+ * time are SYNTHETIC, DEFAULTPARAM, and possibly OVERRIDE.
+ */
+ final val DefaultGetterFlags: Long =
+ PRIVATE | PROTECTED | FINAL
+
+ /** When a symbol for a method parameter is created, only these flags survive
+ * from Modifiers. Others which may be applied at creation time are:
+ * SYNTHETIC.
+ */
+ final val ValueParameterFlags: Long = BYNAMEPARAM | IMPLICIT | DEFAULTPARAM
+ final val VarianceFlags = COVARIANT | CONTRAVARIANT
+ final val ConstrFlags: Long = JAVA
/** Module flags inherited by their module-class */
final val ModuleToClassFlags: Long = AccessFlags | MODULE | PACKAGE | CASE | SYNTHETIC | JAVA | FINAL