summaryrefslogtreecommitdiff
path: root/sources
diff options
context:
space:
mode:
authorMartin Odersky <odersky@gmail.com>2005-06-17 12:49:08 +0000
committerMartin Odersky <odersky@gmail.com>2005-06-17 12:49:08 +0000
commitd8f34726bc5147f67ccb1f9f1377d4f503c556ae (patch)
tree849c704cd8c1c22a3dc2efb7344fcc8827173a1e /sources
parent7fd0b4b8c8db2b9e186904018a28f90fe35d085b (diff)
downloadscala-d8f34726bc5147f67ccb1f9f1377d4f503c556ae.tar.gz
scala-d8f34726bc5147f67ccb1f9f1377d4f503c556ae.tar.bz2
scala-d8f34726bc5147f67ccb1f9f1377d4f503c556ae.zip
*** empty log message ***
Diffstat (limited to 'sources')
-rwxr-xr-xsources/scala/tools/nsc/Global.scala2
-rwxr-xr-xsources/scala/tools/nsc/typechecker/Namers.scala2
-rwxr-xr-xsources/scala/tools/nsc/typechecker/RefChecks.scala3
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);