From 739f8ea2c3b39f81f54bfea4b618770d7aa1a1c6 Mon Sep 17 00:00:00 2001 From: Martin Odersky Date: Mon, 24 Aug 2015 13:12:02 +0200 Subject: Make it a syntactic criterion whether a literal is a legal type Introduce a new non-terminal "SimpleLiteral". Only SimpleLiterals can be types. --- src/dotty/tools/dotc/parsing/Tokens.scala | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'src/dotty/tools/dotc/parsing/Tokens.scala') diff --git a/src/dotty/tools/dotc/parsing/Tokens.scala b/src/dotty/tools/dotc/parsing/Tokens.scala index 226a3710d..190226635 100644 --- a/src/dotty/tools/dotc/parsing/Tokens.scala +++ b/src/dotty/tools/dotc/parsing/Tokens.scala @@ -195,7 +195,8 @@ object Tokens extends TokensCommon { final val allTokens = tokenRange(minToken, maxToken) - final val literalTokens = tokenRange(CHARLIT, SYMBOLLIT) | BitSet(TRUE, FALSE, NULL) + final val simpleLiteralTokens = tokenRange(CHARLIT, STRINGLIT) | BitSet(TRUE, FALSE) + final val literalTokens = simpleLiteralTokens | BitSet(INTERPOLATIONID, SYMBOLLIT, NULL) final val atomicExprTokens = literalTokens | identifierTokens | BitSet( USCORE, NULL, THIS, SUPER, TRUE, FALSE, RETURN, XMLSTART) -- cgit v1.2.3