diff options
author | Martin Odersky <odersky@gmail.com> | 2005-06-17 12:49:08 +0000 |
---|---|---|
committer | Martin Odersky <odersky@gmail.com> | 2005-06-17 12:49:08 +0000 |
commit | d8f34726bc5147f67ccb1f9f1377d4f503c556ae (patch) | |
tree | 849c704cd8c1c22a3dc2efb7344fcc8827173a1e /sources | |
parent | 7fd0b4b8c8db2b9e186904018a28f90fe35d085b (diff) | |
download | scala-d8f34726bc5147f67ccb1f9f1377d4f503c556ae.tar.gz scala-d8f34726bc5147f67ccb1f9f1377d4f503c556ae.tar.bz2 scala-d8f34726bc5147f67ccb1f9f1377d4f503c556ae.zip |
*** empty log message ***
Diffstat (limited to 'sources')
-rwxr-xr-x | sources/scala/tools/nsc/Global.scala | 2 | ||||
-rwxr-xr-x | sources/scala/tools/nsc/typechecker/Namers.scala | 2 | ||||
-rwxr-xr-x | sources/scala/tools/nsc/typechecker/RefChecks.scala | 3 |
3 files changed, 4 insertions, 3 deletions
diff --git a/sources/scala/tools/nsc/Global.scala b/sources/scala/tools/nsc/Global.scala index c065cc60eb..3545d18b5d 100755 --- a/sources/scala/tools/nsc/Global.scala +++ b/sources/scala/tools/nsc/Global.scala @@ -16,7 +16,7 @@ import util._; import ast._; import ast.parser._; import typechecker._; -import matching._; +//import matching._; import transform._; class Global(val settings: Settings, val reporter: Reporter) extends SymbolTable with Trees with CompilationUnits { diff --git a/sources/scala/tools/nsc/typechecker/Namers.scala b/sources/scala/tools/nsc/typechecker/Namers.scala index 4b1a2ec39f..87aa573efa 100755 --- a/sources/scala/tools/nsc/typechecker/Namers.scala +++ b/sources/scala/tools/nsc/typechecker/Namers.scala @@ -137,7 +137,7 @@ trait Namers: Analyzer { case ClassDef(mods, name, tparams, _, _) => if ((mods & (CASE | ABSTRACT)) == CASE) { // enter case factory method. tree.symbol = enterCaseFactorySymbol( - tree.pos, mods & AccessFlags | CASE, name.toTermName) + tree.pos, mods & AccessFlags | METHOD | CASE, name.toTermName) setInfo innerNamer.caseFactoryCompleter(tree) } tree.symbol = enterClassSymbol(tree.pos, mods, name); diff --git a/sources/scala/tools/nsc/typechecker/RefChecks.scala b/sources/scala/tools/nsc/typechecker/RefChecks.scala index 9f8ec0aa2f..50798d65a2 100755 --- a/sources/scala/tools/nsc/typechecker/RefChecks.scala +++ b/sources/scala/tools/nsc/typechecker/RefChecks.scala @@ -526,7 +526,7 @@ abstract class RefChecks extends Transform { var tpe = tree.tpe; while (!tpe.symbol.isClass) tpe = tpe.resultType; assert(tpe.symbol hasFlag CASE); - typedOperator(atPos(tree.pos)(Select(New(TypeTree(tpe)), tpe.symbol.primaryConstructor))) + typedOperator(atPos(tree.pos)(Select(New(TypeTree(tpe)), tpe.symbol.primaryConstructor))); } /* Check whether argument types conform to bounds of type parameters */ @@ -571,6 +571,7 @@ abstract class RefChecks extends Transform { case TypeApply(fn, args) => checkBounds(fn.tpe.typeParams, args map (.tpe)); + if (sym.isMethod && sym.hasFlag(CASE)) result = toConstructor; case New(tpt) => enterReference(tree.pos, tpt.tpe.symbol); |