diff options
author | Paul Phillips <paulp@improving.org> | 2012-03-15 09:28:07 -0700 |
---|---|---|
committer | Paul Phillips <paulp@improving.org> | 2012-03-15 19:59:46 -0700 |
commit | acb2c851720141982514b11b4b34ba68dc868bf2 (patch) | |
tree | c6aa85586f6f673e5975266314cc613a7d36ed05 /src/compiler/scala/tools/nsc/transform/AddInterfaces.scala | |
parent | 2dd0af0675ea0c4d696a46bf36d7bd9406a64cd0 (diff) | |
download | scala-acb2c851720141982514b11b4b34ba68dc868bf2.tar.gz scala-acb2c851720141982514b11b4b34ba68dc868bf2.tar.bz2 scala-acb2c851720141982514b11b4b34ba68dc868bf2.zip |
New option -Ypos-debug, and fixed range position breakage.
(Looks like there is more range position breakage yet, but
this gets the outermost layer.)
Channeling my struggles into a slightly easier future.
% scalac -Ypos-debug -d /tmp ./src/library/scala/Predef.scala
./src/library/scala/Predef.scala:222: warning: Positioned tree has unpositioned child in phase extmethods
def x = __resultOfEnsuring
^
parent: #7109 line 222 Select // (value __resultOfEnsuring in class Ensuring)
child: #7108 Ident // (value $this)
./src/library/scala/Predef.scala:258: warning: Positioned tree has unpositioned child in phase extmethods
def x = __leftOfArrow
^
parent: #7280 line 258 Select // (value __leftOfArrow in class ArrowAssoc)
child: #7279 Ident // (value $this)
two warnings found
Or try this to really see some output:
% scalac -Yrangepos -Ypos-debug
Diffstat (limited to 'src/compiler/scala/tools/nsc/transform/AddInterfaces.scala')
-rw-r--r-- | src/compiler/scala/tools/nsc/transform/AddInterfaces.scala | 9 |
1 files changed, 4 insertions, 5 deletions
diff --git a/src/compiler/scala/tools/nsc/transform/AddInterfaces.scala b/src/compiler/scala/tools/nsc/transform/AddInterfaces.scala index 555d0700ae..39e2cbe694 100644 --- a/src/compiler/scala/tools/nsc/transform/AddInterfaces.scala +++ b/src/compiler/scala/tools/nsc/transform/AddInterfaces.scala @@ -264,11 +264,10 @@ abstract class AddInterfaces extends InfoTransform { self: Erasure => else DefDef(clazz.primaryConstructor, Block(List(), Literal(Constant()))) :: stats private def implTemplate(clazz: Symbol, templ: Template): Template = atPos(templ.pos) { - val templ1 = atPos(templ.pos) { - Template(templ.parents, emptyValDef, - addMixinConstructorDef(clazz, templ.body map implMemberDef)) - .setSymbol(clazz.newLocalDummy(templ.pos)) - } + val templ1 = ( + Template(templ.parents, emptyValDef, addMixinConstructorDef(clazz, templ.body map implMemberDef)) + setSymbol clazz.newLocalDummy(templ.pos) + ) templ1.changeOwner(templ.symbol.owner -> clazz, templ.symbol -> templ1.symbol) templ1 } |