diff options
author | Martin Odersky <odersky@gmail.com> | 2017-03-22 17:59:25 +0100 |
---|---|---|
committer | Martin Odersky <odersky@gmail.com> | 2017-04-11 09:33:10 +0200 |
commit | 19bc1ff09fa73e13be7e3464b8440c04b657aa82 (patch) | |
tree | bc6934a3c47ab403f4dc3dd2c87531081887dc15 /compiler/src/dotty/tools/dotc/parsing | |
parent | 2cc16c4d990fa404577dbe1c944958a0cf9896a8 (diff) | |
download | dotty-19bc1ff09fa73e13be7e3464b8440c04b657aa82.tar.gz dotty-19bc1ff09fa73e13be7e3464b8440c04b657aa82.tar.bz2 dotty-19bc1ff09fa73e13be7e3464b8440c04b657aa82.zip |
Disentangle Names from Seqs
Structured names are not Seqs anymmore. But the Seq behavior
is required in many places that mangle names. As an intermediate step
we drop the Seq basetype but add Seq behavior through a decorator.
Most Seq operations only work on SimpleTermNames and their
TypeName analogue, will throw an exception wehn called on structured
names.
Diffstat (limited to 'compiler/src/dotty/tools/dotc/parsing')
-rw-r--r-- | compiler/src/dotty/tools/dotc/parsing/Scanners.scala | 2 | ||||
-rw-r--r-- | compiler/src/dotty/tools/dotc/parsing/Tokens.scala | 2 |
2 files changed, 2 insertions, 2 deletions
diff --git a/compiler/src/dotty/tools/dotc/parsing/Scanners.scala b/compiler/src/dotty/tools/dotc/parsing/Scanners.scala index ff5019dc9..bcf6eb4a5 100644 --- a/compiler/src/dotty/tools/dotc/parsing/Scanners.scala +++ b/compiler/src/dotty/tools/dotc/parsing/Scanners.scala @@ -101,7 +101,7 @@ object Scanners { target.name = flushBuf(litBuf).toTermName target.token = idtoken if (idtoken == IDENTIFIER) { - val idx = target.name.start + val idx = target.name.toSimpleName.start target.token = toToken(idx) } } diff --git a/compiler/src/dotty/tools/dotc/parsing/Tokens.scala b/compiler/src/dotty/tools/dotc/parsing/Tokens.scala index d2ea9240c..96ae25c9e 100644 --- a/compiler/src/dotty/tools/dotc/parsing/Tokens.scala +++ b/compiler/src/dotty/tools/dotc/parsing/Tokens.scala @@ -129,7 +129,7 @@ abstract class TokensCommon { final val lastParen = RBRACE def buildKeywordArray(keywords: TokenSet) = { - def start(tok: Token) = tokenString(tok).toTermName.start + def start(tok: Token) = tokenString(tok).toTermName.toSimpleName.start def sourceKeywords = keywords.toList.filter { (kw: Token) => val ts = tokenString(kw) (ts != null) && !ts.contains(' ') |