diff options
author | Martin Odersky <odersky@gmail.com> | 2016-09-29 14:00:29 +0200 |
---|---|---|
committer | Martin Odersky <odersky@gmail.com> | 2016-09-29 14:00:52 +0200 |
commit | 887a63a3dac0dcbaa7fc07ebb6ccac0dbe515427 (patch) | |
tree | f5c0addd467cbf0d6d1ce2ac456dee96cf763eaf /src/dotty/tools/dotc/ast/Trees.scala | |
parent | 992c72ee5f2f105d587de20efd3858824fc7e7c8 (diff) | |
download | dotty-887a63a3dac0dcbaa7fc07ebb6ccac0dbe515427.tar.gz dotty-887a63a3dac0dcbaa7fc07ebb6ccac0dbe515427.tar.bz2 dotty-887a63a3dac0dcbaa7fc07ebb6ccac0dbe515427.zip |
Make namePos a member of memberDef
That way it can be accessed by other parts which deal with
error messages.
Diffstat (limited to 'src/dotty/tools/dotc/ast/Trees.scala')
-rw-r--r-- | src/dotty/tools/dotc/ast/Trees.scala | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/src/dotty/tools/dotc/ast/Trees.scala b/src/dotty/tools/dotc/ast/Trees.scala index 619ac36e5..bb6fbd5ba 100644 --- a/src/dotty/tools/dotc/ast/Trees.scala +++ b/src/dotty/tools/dotc/ast/Trees.scala @@ -297,6 +297,20 @@ object Trees { } protected def setMods(mods: untpd.Modifiers) = myMods = mods + + /** The position of the name defined by this definition. + * This is a point position if the definition is synthetic, or a range position + * if the definition comes from source. + * It might also be that the definition does not have a position (for instance when synthesized by + * a calling chain from `viewExists`), in that case the return position is NoPosition. + */ + def namePos = + if (pos.exists) + if (rawMods.is(Synthetic)) Position(pos.point, pos.point) + else Position(pos.point, pos.point + name.length, pos.point) + else pos + + } /** A ValDef or DefDef tree */ |