summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorEugene Burmako <xeno.by@gmail.com>2014-03-01 09:34:35 -0500
committerEugene Burmako <xeno.by@gmail.com>2014-03-01 09:34:35 -0500
commitda124b33956f83be8b2ebbb77208c4aecde1c6dc (patch)
tree93f460f61eac9f6b26493cee43724cd6e4605591 /src
parentcfac5e9e540434d5d1fc6decc2e6669995473c87 (diff)
parent6ec0f2f44f74657799b4b215c913a67089110061 (diff)
downloadscala-da124b33956f83be8b2ebbb77208c4aecde1c6dc.tar.gz
scala-da124b33956f83be8b2ebbb77208c4aecde1c6dc.tar.bz2
scala-da124b33956f83be8b2ebbb77208c4aecde1c6dc.zip
Merge pull request #3596 from densh/si/8333
SI-8333 can't use modifiers if class is in a block
Diffstat (limited to 'src')
-rw-r--r--src/compiler/scala/tools/nsc/ast/parser/Parsers.scala8
-rw-r--r--src/compiler/scala/tools/reflect/quasiquotes/Parsers.scala2
2 files changed, 6 insertions, 4 deletions
diff --git a/src/compiler/scala/tools/nsc/ast/parser/Parsers.scala b/src/compiler/scala/tools/nsc/ast/parser/Parsers.scala
index 3542fe5945..9e631febee 100644
--- a/src/compiler/scala/tools/nsc/ast/parser/Parsers.scala
+++ b/src/compiler/scala/tools/nsc/ast/parser/Parsers.scala
@@ -3096,10 +3096,6 @@ self =>
stats ++= importClause()
acceptStatSepOpt()
}
- else if (isExprIntro) {
- stats += statement(InBlock)
- if (!isCaseDefEnd) acceptStatSep()
- }
else if (isDefIntro || isLocalModifier || isAnnotation) {
if (in.token == IMPLICIT) {
val start = in.skipToken()
@@ -3110,6 +3106,10 @@ self =>
}
acceptStatSepOpt()
}
+ else if (isExprIntro) {
+ stats += statement(InBlock)
+ if (!isCaseDefEnd) acceptStatSep()
+ }
else if (isStatSep) {
in.nextToken()
}
diff --git a/src/compiler/scala/tools/reflect/quasiquotes/Parsers.scala b/src/compiler/scala/tools/reflect/quasiquotes/Parsers.scala
index b22e0b0e82..af17ae9ac0 100644
--- a/src/compiler/scala/tools/reflect/quasiquotes/Parsers.scala
+++ b/src/compiler/scala/tools/reflect/quasiquotes/Parsers.scala
@@ -118,6 +118,8 @@ trait Parsers { self: Quasiquotes =>
override def isTemplateIntro: Boolean = super.isTemplateIntro || (isHole && lookingAhead { isTemplateIntro })
+ override def isDefIntro: Boolean = super.isDefIntro || (isHole && lookingAhead { isDefIntro })
+
override def isDclIntro: Boolean = super.isDclIntro || (isHole && lookingAhead { isDclIntro })
override def isStatSep(token: Int) = token == EOF || super.isStatSep(token)