diff options
author | Martin Odersky <odersky@gmail.com> | 2007-03-09 15:55:43 +0000 |
---|---|---|
committer | Martin Odersky <odersky@gmail.com> | 2007-03-09 15:55:43 +0000 |
commit | 87db2fe78421dd61d5b3955612e5b8dd0710cdbe (patch) | |
tree | 744145d1989716d9fdcbbf5efd393b4ac2359a00 /src/compiler/scala/tools/nsc/typechecker/Contexts.scala | |
parent | ab6384691801ae589265a0f4d15c79f11d7fc35c (diff) | |
download | scala-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.scala | 10 |
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 ... |