diff options
author | Som Snytt <som.snytt@gmail.com> | 2013-08-28 09:48:11 -0700 |
---|---|---|
committer | Som Snytt <som.snytt@gmail.com> | 2013-09-05 01:41:43 -0700 |
commit | e8af579a4442b3cda9ea82ddc1ce7f9bd6899418 (patch) | |
tree | 05e70d16bb0b6eed6d555132d4906de0e75b3e66 /test/files/run/t7791-script-linenums.scala | |
parent | a24fc60deed8fbed062ecd6ff96e434349cca75d (diff) | |
download | scala-e8af579a4442b3cda9ea82ddc1ce7f9bd6899418.tar.gz scala-e8af579a4442b3cda9ea82ddc1ce7f9bd6899418.tar.bz2 scala-e8af579a4442b3cda9ea82ddc1ce7f9bd6899418.zip |
SI-7791 Line number table reflects underlying file
Since positions ultimately know their ultimate
positions in their ultimate source, use that line
number, ultimately, when emitting line number
table entries.
It is possible, but possibly not useful, to emit
both the actual (ultimate) line number and the
nominal one.
The `int`-valued line number of the `StackTraceElement`
is "derived" from the attribute.
In global, wrapping a `BatchSourceFile` as a
`ScriptSource` happens in `compileSources` to
facilitate testing.
A `ScriptTest` facility is provided to facilitate
testing the script facility. It is rather facile.
Diffstat (limited to 'test/files/run/t7791-script-linenums.scala')
-rw-r--r-- | test/files/run/t7791-script-linenums.scala | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/test/files/run/t7791-script-linenums.scala b/test/files/run/t7791-script-linenums.scala new file mode 100644 index 0000000000..d89b8d4c63 --- /dev/null +++ b/test/files/run/t7791-script-linenums.scala @@ -0,0 +1,16 @@ + +import scala.tools.partest.ScriptTest + +object Test extends ScriptTest { + object ExceptionLine { + def unapply(e: Exception) = Some(e.getStackTrace()(0).getLineNumber) + } + override def show() = { + import util._ + Try(super.show()) match { + case Failure(ExceptionLine(7)) => () + case Failure(e) => e.printStackTrace() + case Success(_) => Console println "Expected error" + } + } +} |