@@ -735,7 +735,7 @@ object Parsers {
735735 }
736736 })
737737 canRewrite &= (in.isAfterLineEnd || statCtdTokens.contains(in.token)) // test (5)
738- if (canRewrite) {
738+ if (canRewrite && ( ! colonRequired || in.colonSyntax) ) {
739739 val openingPatchStr =
740740 if (! colonRequired) " "
741741 else if (testChar(startOpening - 1 , Chars .isOperatorPart(_))) " :"
@@ -1218,7 +1218,7 @@ object Parsers {
12181218 }
12191219
12201220 def possibleTemplateStart (): Unit = {
1221- in.observeIndented()
1221+ in.observeIndented(noIndentTemplateTokens, nme. derives )
12221222 newLineOptWhenFollowedBy(LBRACE )
12231223 }
12241224
@@ -1636,8 +1636,11 @@ object Parsers {
16361636 if (rewriteToOldSyntax()) revertToParens(t)
16371637 in.nextToken()
16381638 }
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+ }
16411644 t
16421645 }
16431646 else {
@@ -2296,6 +2299,7 @@ object Parsers {
22962299 dropParensOrBraces(start, if (in.token == YIELD || in.token == DO ) " " else " do" )
22972300 }
22982301 }
2302+ in.observeIndented(noIndentAfterEnumeratorTokens)
22992303 res
23002304 }
23012305 else {
@@ -3539,15 +3543,14 @@ object Parsers {
35393543
35403544 /** TemplateOpt = [Template]
35413545 */
3542- def templateOpt (constr : DefDef ): Template =
3543- possibleBracesStart ()
3546+ def templateOpt (constr : DefDef ): Template = {
3547+ possibleTemplateStart ()
35443548 if (in.token == EXTENDS || isIdent(nme.derives ))
35453549 template(constr)
3546- else {
3547- possibleTemplateStart()
3550+ else
35483551 if (in.isNestedStart) template(constr)
35493552 else Template (constr, Nil , Nil , EmptyValDef , Nil )
3550- }
3553+ }
35513554
35523555 /** TemplateBody ::= [nl] `{' TemplateStatSeq `}'
35533556 */
0 commit comments