summaryrefslogtreecommitdiff
path: root/src/compiler/scala/tools/nsc/typechecker/Typers.scala
diff options
context:
space:
mode:
authorSean McDirmid <sean.mcdirmid@gmail.com>2006-02-09 15:03:35 +0000
committerSean McDirmid <sean.mcdirmid@gmail.com>2006-02-09 15:03:35 +0000
commit25eb10e214a35aa9f8c5a811a668e1fcfeed842c (patch)
tree3857ce17f503f6d4bf79c32437d50e94c7d7e324 /src/compiler/scala/tools/nsc/typechecker/Typers.scala
parent1d7dd9a70a0d47268e784a78460fe224c741426e (diff)
downloadscala-25eb10e214a35aa9f8c5a811a668e1fcfeed842c.tar.gz
scala-25eb10e214a35aa9f8c5a811a668e1fcfeed842c.tar.bz2
scala-25eb10e214a35aa9f8c5a811a668e1fcfeed842c.zip
Diffstat (limited to 'src/compiler/scala/tools/nsc/typechecker/Typers.scala')
-rw-r--r--src/compiler/scala/tools/nsc/typechecker/Typers.scala18
1 files changed, 15 insertions, 3 deletions
diff --git a/src/compiler/scala/tools/nsc/typechecker/Typers.scala b/src/compiler/scala/tools/nsc/typechecker/Typers.scala
index 3fb8af5111..fd2a9239b9 100644
--- a/src/compiler/scala/tools/nsc/typechecker/Typers.scala
+++ b/src/compiler/scala/tools/nsc/typechecker/Typers.scala
@@ -380,10 +380,22 @@ mixin class Typers requires Analyzer {
val tree1 = TypeTree(clazz.primaryConstructor.tpe.asSeenFrom(tree.tpe.prefix, clazz.owner)) setPos tree.pos
// tree.tpe.prefix.memberType(clazz.primaryConstructor); //!!!
- inferConstructorInstance(tree1, clazz.unsafeTypeParams, pt)
- tree1
+ try {
+ inferConstructorInstance(tree1, clazz.unsafeTypeParams, pt)
+ } catch {
+ case npe : NullPointerException =>
+ logError("CONTEXT: " + context . unit . source .dbg(tree.pos), npe);
+ throw npe;
+ case fe : FatalError =>
+ logError("CONTEXT: " + context . unit . source .dbg(tree.pos), fe);
+ throw fe;
+ case t : Throwable =>
+ logError("CONTEXT: " + context . unit . source .dbg(tree.pos), t);
+ throw t;
+ }
+ tree1
} else if (clazz.isSubClass(SeqClass)) { // (5.2)
- pt.baseType(clazz).baseType(SeqClass) match {
+ pt.baseType(clazz).baseType(SeqClass) match {
case TypeRef(pre, seqClass, args) =>
tree.setType(MethodType(List(typeRef(pre, RepeatedParamClass, args)), pt))
case NoType =>