@@ -1994,7 +1994,7 @@ object Parsers {
1994
1994
/** ClsParamClauses ::= {ClsParamClause} [[nl] `(' [FunArgMods] ClsParams `)']
1995
1995
* ClsParamClause ::= [nl] `(' [`erased'] [ClsParams] ')'
1996
1996
* ClsParams ::= ClsParam {`' ClsParam}
1997
- * ClsParam ::= {Annotation} [{Modifier } (`val' | `var') | `inline'] Param
1997
+ * ClsParam ::= {Annotation} [{ParamModifier } (`val' | `var') | `inline'] Param
1998
1998
* DefParamClauses ::= {DefParamClause} [[nl] `(' [FunArgMods] DefParams `)']
1999
1999
* DefParamClause ::= [nl] `(' [`erased'] [DefParams] ')'
2000
2000
* DefParams ::= DefParam {`,' DefParam}
@@ -2594,7 +2594,7 @@ object Parsers {
2594
2594
}
2595
2595
2596
2596
/** TopStatSeq ::= TopStat {semi TopStat}
2597
- * TopStat ::= Annotations Modifiers TmplDef
2597
+ * TopStat ::= Annotations Modifiers Def
2598
2598
* | Packaging
2599
2599
* | package object objectDef
2600
2600
* | Import
@@ -2614,15 +2614,13 @@ object Parsers {
2614
2614
}
2615
2615
else if (in.token == IMPORT )
2616
2616
stats ++= importClause()
2617
- else if (in.token == AT || isTemplateIntro || isModifier )
2618
- stats +++= tmplDef (in.offset, defAnnotsMods(modifierTokens))
2617
+ else if (in.token == AT || isDefIntro(modifierTokens) )
2618
+ stats +++= defOrDcl (in.offset, defAnnotsMods(modifierTokens))
2619
2619
else if (! isStatSep) {
2620
2620
if (in.token == CASE )
2621
2621
syntaxErrorOrIncomplete(OnlyCaseClassOrCaseObjectAllowed ())
2622
2622
else
2623
2623
syntaxErrorOrIncomplete(ExpectedClassOrObjectDef ())
2624
- if (mustStartStat) // do parse all definitions even if they are probably local (i.e. a "}" has been forgotten)
2625
- defOrDcl(in.offset, defAnnotsMods(modifierTokens))
2626
2624
}
2627
2625
acceptStatSepUnlessAtEnd()
2628
2626
}
0 commit comments