@@ -735,7 +735,7 @@ object Parsers {
735
735
}
736
736
})
737
737
canRewrite &= (in.isAfterLineEnd || statCtdTokens.contains(in.token)) // test (5)
738
- if (canRewrite) {
738
+ if (canRewrite && ( ! colonRequired || in.colonSyntax) ) {
739
739
val openingPatchStr =
740
740
if (! colonRequired) " "
741
741
else if (testChar(startOpening - 1 , Chars .isOperatorPart(_))) " :"
@@ -1218,7 +1218,7 @@ object Parsers {
1218
1218
}
1219
1219
1220
1220
def possibleTemplateStart (): Unit = {
1221
- in.observeIndented()
1221
+ in.observeIndented(noIndentTemplateTokens, nme. derives )
1222
1222
newLineOptWhenFollowedBy(LBRACE )
1223
1223
}
1224
1224
@@ -1636,8 +1636,11 @@ object Parsers {
1636
1636
if (rewriteToOldSyntax()) revertToParens(t)
1637
1637
in.nextToken()
1638
1638
}
1639
- else if (rewriteToNewSyntax(t.span))
1640
- dropParensOrBraces(t.span.start, s " ${tokenString(altToken)}" )
1639
+ else {
1640
+ in.observeIndented(noIndentAfterConditionTokens)
1641
+ if (rewriteToNewSyntax(t.span))
1642
+ dropParensOrBraces(t.span.start, s " ${tokenString(altToken)}" )
1643
+ }
1641
1644
t
1642
1645
}
1643
1646
else {
@@ -2296,6 +2299,7 @@ object Parsers {
2296
2299
dropParensOrBraces(start, if (in.token == YIELD || in.token == DO ) " " else " do" )
2297
2300
}
2298
2301
}
2302
+ in.observeIndented(noIndentAfterEnumeratorTokens)
2299
2303
res
2300
2304
}
2301
2305
else {
@@ -3539,15 +3543,14 @@ object Parsers {
3539
3543
3540
3544
/** TemplateOpt = [Template]
3541
3545
*/
3542
- def templateOpt (constr : DefDef ): Template =
3543
- possibleBracesStart ()
3546
+ def templateOpt (constr : DefDef ): Template = {
3547
+ possibleTemplateStart ()
3544
3548
if (in.token == EXTENDS || isIdent(nme.derives ))
3545
3549
template(constr)
3546
- else {
3547
- possibleTemplateStart()
3550
+ else
3548
3551
if (in.isNestedStart) template(constr)
3549
3552
else Template (constr, Nil , Nil , EmptyValDef , Nil )
3550
- }
3553
+ }
3551
3554
3552
3555
/** TemplateBody ::= [nl] `{' TemplateStatSeq `}'
3553
3556
*/
0 commit comments