diff options
author | Martin Odersky <odersky@gmail.com> | 2006-10-06 15:26:53 +0000 |
---|---|---|
committer | Martin Odersky <odersky@gmail.com> | 2006-10-06 15:26:53 +0000 |
commit | dc2f20666817ee127588e1071e5f57a0faae7730 (patch) | |
tree | 0face5d8522cedf3bca595e658edd2314ab48385 /src/compiler/scala/tools/nsc/typechecker/Typers.scala | |
parent | 0f6e14043510907ef0ee0f6a86699064b017f0de (diff) | |
download | scala-dc2f20666817ee127588e1071e5f57a0faae7730.tar.gz scala-dc2f20666817ee127588e1071e5f57a0faae7730.tar.bz2 scala-dc2f20666817ee127588e1071e5f57a0faae7730.zip |
fixed bugs 764 and 771
Diffstat (limited to 'src/compiler/scala/tools/nsc/typechecker/Typers.scala')
-rw-r--r-- | src/compiler/scala/tools/nsc/typechecker/Typers.scala | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/src/compiler/scala/tools/nsc/typechecker/Typers.scala b/src/compiler/scala/tools/nsc/typechecker/Typers.scala index 0305a6123f..7a452479d6 100644 --- a/src/compiler/scala/tools/nsc/typechecker/Typers.scala +++ b/src/compiler/scala/tools/nsc/typechecker/Typers.scala @@ -719,7 +719,8 @@ trait Typers requires Analyzer { } def addGetterSetter(stat: Tree): List[Tree] = stat match { - case ValDef(mods, name, tpt, rhs) if !(mods hasFlag LOCAL) && !stat.symbol.isModuleVar => + case ValDef(mods, name, tpt, rhs) + if !(mods hasFlag LOCAL) && !stat.symbol.isModuleVar => val vdef = copy.ValDef(stat, mods | PRIVATE | LOCAL, nme.getterToLocal(name), tpt, rhs) val value = vdef.symbol val getter = if (mods hasFlag DEFERRED) value else value.getter(value.owner) @@ -769,8 +770,10 @@ trait Typers requires Analyzer { // the following is necessary for templates generated later new Namer(context.outer.make(templ, clazz, clazz.info.decls)).enterSyms(templ.body) validateParentClasses(parents1, selfType) - val body = if (phase.id <= currentRun.typerPhase.id) templ.body flatMap addGetterSetter - else templ.body + val body = + if (phase.id <= currentRun.typerPhase.id && reporter.errors == 0) + templ.body flatMap addGetterSetter + else templ.body val body1 = typedStats(body, templ.symbol) copy.Template(templ, parents1, body1) setType clazz.tpe } |