summaryrefslogtreecommitdiff
path: root/src/compiler/scala/tools/nsc/typechecker/Contexts.scala
diff options
context:
space:
mode:
authorMartin Odersky <odersky@gmail.com>2007-03-09 15:55:43 +0000
committerMartin Odersky <odersky@gmail.com>2007-03-09 15:55:43 +0000
commit87db2fe78421dd61d5b3955612e5b8dd0710cdbe (patch)
tree744145d1989716d9fdcbbf5efd393b4ac2359a00 /src/compiler/scala/tools/nsc/typechecker/Contexts.scala
parentab6384691801ae589265a0f4d15c79f11d7fc35c (diff)
downloadscala-87db2fe78421dd61d5b3955612e5b8dd0710cdbe.tar.gz
scala-87db2fe78421dd61d5b3955612e5b8dd0710cdbe.tar.bz2
scala-87db2fe78421dd61d5b3955612e5b8dd0710cdbe.zip
revised deadcode detection
Diffstat (limited to 'src/compiler/scala/tools/nsc/typechecker/Contexts.scala')
-rw-r--r--src/compiler/scala/tools/nsc/typechecker/Contexts.scala10
1 files changed, 8 insertions, 2 deletions
diff --git a/src/compiler/scala/tools/nsc/typechecker/Contexts.scala b/src/compiler/scala/tools/nsc/typechecker/Contexts.scala
index 6157e32aad..407c50caf1 100644
--- a/src/compiler/scala/tools/nsc/typechecker/Contexts.scala
+++ b/src/compiler/scala/tools/nsc/typechecker/Contexts.scala
@@ -89,6 +89,7 @@ trait Contexts requires Analyzer {
var prefix: Type = NoPrefix
var inConstructorSuffix = false // are we in a secondary constructor
// after the this constructor call?
+ var returnsSeen = false // for method context: were returns encountered?
var reportAmbiguousErrors = false
var reportGeneralErrors = false
var implicitsEnabled = false
@@ -237,7 +238,7 @@ trait Contexts requires Analyzer {
c
}
- def error(pos: Int, err: Error): Unit = {
+ def error(pos: Int, err: Error) {
val msg = err.getMessage()
if (reportGeneralErrors)
unit.error(pos, if (checking) "**** ERROR DURING INTERNAL CHECKING ****\n" + msg else msg)
@@ -245,11 +246,16 @@ trait Contexts requires Analyzer {
throw err
}
- def error(pos: PositionType, msg: String): unit =
+ def error(pos: PositionType, msg: String) {
if (reportGeneralErrors)
unit.error(pos, if (checking) "**** ERROR DURING INTERNAL CHECKING ****\n" + msg else msg)
else
throw new TypeError(pos, msg)
+ }
+
+ def warning(pos: PositionType, msg: String) {
+ if (reportGeneralErrors) unit.warning(pos, msg)
+ }
/**
* @param pos ...