diff options
author | Paul Phillips <paulp@improving.org> | 2011-10-17 22:00:57 +0000 |
---|---|---|
committer | Paul Phillips <paulp@improving.org> | 2011-10-17 22:00:57 +0000 |
commit | 23ab7e3c9a46ef6c509a452f8ee3d2f224235bde (patch) | |
tree | 3aab2bd751a9825afc567ccb1055cd215de71cce /src/compiler/scala/reflect/internal/Flags.scala | |
parent | a98d0903a8a02f806726a45b65842a0da21115b7 (diff) | |
download | scala-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.scala | 20 |
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 |