summaryrefslogtreecommitdiff
path: root/sources/scala/tools/nsc/typechecker/Typers.scala
diff options
context:
space:
mode:
authorMartin Odersky <odersky@gmail.com>2005-12-16 14:10:52 +0000
committerMartin Odersky <odersky@gmail.com>2005-12-16 14:10:52 +0000
commit2eba60d6412a6fc9fef83c70ed6263b076fb3940 (patch)
treeb3a896c7e3889051920c7883119812076b17f882 /sources/scala/tools/nsc/typechecker/Typers.scala
parent8ef485ab1799a219407529851e6ac52d4392cec9 (diff)
downloadscala-2eba60d6412a6fc9fef83c70ed6263b076fb3940.tar.gz
scala-2eba60d6412a6fc9fef83c70ed6263b076fb3940.tar.bz2
scala-2eba60d6412a6fc9fef83c70ed6263b076fb3940.zip
Diffstat (limited to 'sources/scala/tools/nsc/typechecker/Typers.scala')
-rw-r--r--sources/scala/tools/nsc/typechecker/Typers.scala15
1 files changed, 7 insertions, 8 deletions
diff --git a/sources/scala/tools/nsc/typechecker/Typers.scala b/sources/scala/tools/nsc/typechecker/Typers.scala
index 7cfa781624..f4098b615a 100644
--- a/sources/scala/tools/nsc/typechecker/Typers.scala
+++ b/sources/scala/tools/nsc/typechecker/Typers.scala
@@ -548,16 +548,15 @@ import collection.mutable.HashMap;
}
def addGetterSetter(stat: Tree): List[Tree] = stat match {
- case ValDef(mods, name, tpe, rhs) if (mods & LOCAL) == 0 && !stat.symbol.isModuleVar =>
+ case ValDef(mods, name, tpe, rhs) if !(mods hasFlag LOCAL) && !stat.symbol.isModuleVar =>
val vdef = copy.ValDef(stat, mods | PRIVATE | LOCAL, nme.getterToLocal(name), tpe, rhs);
val value = vdef.symbol;
- val getter = if ((mods & DEFERRED) != 0) value else value.getter(value.owner);
- if (getter hasFlag OVERLOADED) System.out.println("overloaded getter: " + getter.alternatives + getter.alternatives.map(.tpe));//debug
- assert(getter != NoSymbol, value);//debug
+ val getter = if (mods hasFlag DEFERRED) value else value.getter(value.owner);
+ assert(getter != NoSymbol, getter);//debug
val getterDef: DefDef = {
val result = atPos(vdef.pos)(
DefDef(getter, vparamss =>
- if ((mods & DEFERRED) != 0) EmptyTree
+ if (mods hasFlag DEFERRED) EmptyTree
else typed(atPos(vdef.pos)(Select(This(value.owner), value)), EXPRmode, value.tpe)));
checkNoEscaping.privates(getter, result.tpt);
result
@@ -567,13 +566,13 @@ import collection.mutable.HashMap;
assert(setter != NoSymbol, getter);//debug
atPos(vdef.pos)(
DefDef(setter, vparamss =>
- if ((mods & DEFERRED) != 0) EmptyTree
+ if (mods hasFlag DEFERRED) EmptyTree
else typed(Assign(Select(This(value.owner), value),
Ident(vparamss.head.head)))))
}
- val gs = if ((mods & MUTABLE) != 0) List(getterDef, setterDef)
+ val gs = if (mods hasFlag MUTABLE) List(getterDef, setterDef)
else List(getterDef);
- if ((mods & DEFERRED) != 0) gs else vdef :: gs
+ if (mods hasFlag DEFERRED) gs else vdef :: gs
case DocDef(comment, defn) =>
addGetterSetter(defn) map (stat => DocDef(comment, stat))
case Attributed(attr, defn) =>