summaryrefslogtreecommitdiff
path: root/src/compiler
diff options
context:
space:
mode:
authorPaul Phillips <paulp@improving.org>2010-10-15 06:30:07 +0000
committerPaul Phillips <paulp@improving.org>2010-10-15 06:30:07 +0000
commit6e18fbbd388afcb4627a97fb7bae141b7c36a86a (patch)
treefed9eae69d19a266df36166c4318b8d6f5146e24 /src/compiler
parentc5c38fc6420ce5a22448a2eeb3b45e1644358575 (diff)
downloadscala-6e18fbbd388afcb4627a97fb7bae141b7c36a86a.tar.gz
scala-6e18fbbd388afcb4627a97fb7bae141b7c36a86a.tar.bz2
scala-6e18fbbd388afcb4627a97fb7bae141b7c36a86a.zip
Working out some more of the flags situation.
Diffstat (limited to 'src/compiler')
-rw-r--r--src/compiler/scala/tools/nsc/ast/Trees.scala3
-rw-r--r--src/compiler/scala/tools/nsc/symtab/Symbols.scala7
-rw-r--r--src/compiler/scala/tools/nsc/transform/CleanUp.scala2
3 files changed, 6 insertions, 6 deletions
diff --git a/src/compiler/scala/tools/nsc/ast/Trees.scala b/src/compiler/scala/tools/nsc/ast/Trees.scala
index 17a932575b..1d914aa414 100644
--- a/src/compiler/scala/tools/nsc/ast/Trees.scala
+++ b/src/compiler/scala/tools/nsc/ast/Trees.scala
@@ -251,8 +251,7 @@ trait Trees extends reflect.generic.Trees { self: SymbolTable =>
DefDef(NoMods, nme.MIXIN_CONSTRUCTOR, List(), List(List()), TypeTree(), Block(lvdefs, Literal(())))))
} else {
// convert (implicit ... ) to ()(implicit ... ) if its the only parameter section
- if (vparamss1.isEmpty ||
- !vparamss1.head.isEmpty && (vparamss1.head.head.mods.flags & IMPLICIT) != 0L)
+ if (vparamss1.isEmpty || !vparamss1.head.isEmpty && vparamss1.head.head.mods.isImplicit)
vparamss1 = List() :: vparamss1;
val superRef: Tree = atPos(superPos) {
Select(Super(nme.EMPTY.toTypeName, nme.EMPTY.toTypeName), nme.CONSTRUCTOR)
diff --git a/src/compiler/scala/tools/nsc/symtab/Symbols.scala b/src/compiler/scala/tools/nsc/symtab/Symbols.scala
index 567754dc2e..60ae6b3f07 100644
--- a/src/compiler/scala/tools/nsc/symtab/Symbols.scala
+++ b/src/compiler/scala/tools/nsc/symtab/Symbols.scala
@@ -393,7 +393,6 @@ trait Symbols extends reflect.generic.Symbols { self: SymbolTable =>
final def isValueParameter = isTerm && hasFlag(PARAM)
final def isLocalDummy = isTerm && nme.isLocalDummyName(name)
- final def isLabel = isMethod && !hasFlag(ACCESSOR) && hasFlag(LABEL)
final def isInitializedToDefault = !isType && hasAllFlags(DEFAULTINIT | ACCESSOR)
final def isClassConstructor = isTerm && (name == nme.CONSTRUCTOR)
final def isMixinConstructor = isTerm && (name == nme.MIXIN_CONSTRUCTOR)
@@ -512,8 +511,10 @@ trait Symbols extends reflect.generic.Symbols { self: SymbolTable =>
((hasFlag(notPRIVATE | LIFTED) && !hasFlag(ACCESSOR | SUPERACCESSOR | MODULE) || isConstructor) ||
(hasFlag(LIFTED) && isModule && isMethod))
- /** Is this symbol a module variable ? */
- final def isModuleVar: Boolean = isVariable && hasFlag(MODULEVAR)
+ /** Is this symbol a module variable ?
+ * MUTABLE is needed to partition overloaded flags MODULEVAR and SYNTHETICMETH.
+ */
+ final def isModuleVar: Boolean = hasAllFlags(MODULEVAR | MUTABLE)
/** Is this symbol static (i.e. with no outer instance)? */
final def isStatic: Boolean =
diff --git a/src/compiler/scala/tools/nsc/transform/CleanUp.scala b/src/compiler/scala/tools/nsc/transform/CleanUp.scala
index 932b05c250..2d9c89bea0 100644
--- a/src/compiler/scala/tools/nsc/transform/CleanUp.scala
+++ b/src/compiler/scala/tools/nsc/transform/CleanUp.scala
@@ -104,7 +104,7 @@ abstract class CleanUp extends Transform with ast.TreeDSL {
def addStaticVariableToClass(forName: String, forType: Type, forInit: Tree, isFinal: Boolean): Symbol = {
val varSym = currentClass.newVariable(ad.pos, mkName(forName))
- .setFlag(PRIVATE | STATIC | MUTABLE | SYNTHETIC)
+ .setFlag(PRIVATE | STATIC | SYNTHETIC)
.setInfo(forType)
if (isFinal) varSym setFlag FINAL else varSym addAnnotation AnnotationInfo(VolatileAttr.tpe, Nil, Nil)
currentClass.info.decls enter varSym