diff options
author | Paul Phillips <paulp@improving.org> | 2011-05-29 18:41:11 +0000 |
---|---|---|
committer | Paul Phillips <paulp@improving.org> | 2011-05-29 18:41:11 +0000 |
commit | 94e1965b645475c3c7bfb3d1e3b4743fb23808d7 (patch) | |
tree | 981933e2081b743eb9e81fb62eb2b0d86ef80b01 | |
parent | ccb438ff74eececcffdb2fc5c4aeafe8a96307d6 (diff) | |
download | scala-94e1965b645475c3c7bfb3d1e3b4743fb23808d7.tar.gz scala-94e1965b645475c3c7bfb3d1e3b4743fb23808d7.tar.bz2 scala-94e1965b645475c3c7bfb3d1e3b4743fb23808d7.zip |
Altered the positioning of XML literal trees.
with the earliest position later than the earliest character in the
source code, which was breaking some repl logic. No review.
-rw-r--r-- | src/compiler/scala/tools/nsc/ast/parser/Parsers.scala | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/src/compiler/scala/tools/nsc/ast/parser/Parsers.scala b/src/compiler/scala/tools/nsc/ast/parser/Parsers.scala index c7134ce91a..1a0409d440 100644 --- a/src/compiler/scala/tools/nsc/ast/parser/Parsers.scala +++ b/src/compiler/scala/tools/nsc/ast/parser/Parsers.scala @@ -1429,11 +1429,17 @@ self => */ def simpleExpr(): Tree = { var canApply = true + val start = in.offset val t = - if (isLiteral) atPos(in.offset)(literal(false)) + if (isLiteral) atPos(start)(literal(false)) else in.token match { case XMLSTART => - xmlLiteral() + // Using setPos here because the generated tree has its position + // off by one and I'm not sure where to fix it. + // <a></a> + // ^--- This was positioned at the a, not the < + val lit = xmlLiteral() + lit setPos r2p(start, start, in.offset) case IDENTIFIER | BACKQUOTED_IDENT | THIS | SUPER => path(true, false) case USCORE => |