diff options
author | Jason Zaugg <jzaugg@gmail.com> | 2015-04-15 22:21:14 +1000 |
---|---|---|
committer | Jason Zaugg <jzaugg@gmail.com> | 2015-04-15 22:25:13 +1000 |
commit | 4ff3abbe950c0bd703298d7808e1de38894ddac7 (patch) | |
tree | 617a429238d02a13f658d58182a419d17133b398 /test/files/neg/t9273.scala | |
parent | 029cce77bd72cd8255c6dee08a227796cdb158b1 (diff) | |
download | scala-4ff3abbe950c0bd703298d7808e1de38894ddac7.tar.gz scala-4ff3abbe950c0bd703298d7808e1de38894ddac7.tar.bz2 scala-4ff3abbe950c0bd703298d7808e1de38894ddac7.zip |
SI-9273 Avoid unpositioned error for bare classOf
A bare identifier `classOf` in a position wth an expected type of
`Class[_]` was leading to an unpositioned error.
This is due to special treatment of bare `classOf` in `typedIdent`
creating an ephemeral, but unpositioned, `TypeTree`.
This commit positions that tree and tests that the error is
issued at a sensible position.
There is still an irregularity between `classOf` and `Predef.classOf`,
but that seems esoteric enough to leave alone for now.
Diffstat (limited to 'test/files/neg/t9273.scala')
-rw-r--r-- | test/files/neg/t9273.scala | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/test/files/neg/t9273.scala b/test/files/neg/t9273.scala new file mode 100644 index 0000000000..3f99dff17f --- /dev/null +++ b/test/files/neg/t9273.scala @@ -0,0 +1,9 @@ +class MissingLineNumbers { + val foo: Class[_] = classOf // error without position, line or file + val foo1: Class[_] = classOf[X] // good error, all info contained + val foo2 = classOf // Infers T=Nothing + + val foo3: Class[_] = Predef.classOf // Infers T=Nothing. Irregular wrt typedIdent. + val foo4: Class[_] = Predef.classOf[X] // good error, all info contained + val foo5 = Predef.classOf // Infers T=Nothing +} |