File tree Expand file tree Collapse file tree 4 files changed +20
-1
lines changed
test/dotty/tools/dotc/reporting Expand file tree Collapse file tree 4 files changed +20
-1
lines changed Original file line number Diff line number Diff line change @@ -2384,7 +2384,7 @@ object Parsers {
23842384 if (in.token == CASE )
23852385 syntaxErrorOrIncomplete(OnlyCaseClassOrCaseObjectAllowed ())
23862386 else
2387- syntaxErrorOrIncomplete(" expected class or object definition " )
2387+ syntaxErrorOrIncomplete(ExpectedClassOrObjectDef () )
23882388 if (mustStartStat) // do parse all definitions even if they are probably local (i.e. a "}" has been forgotten)
23892389 defOrDcl(in.offset, defAnnotsMods(modifierTokens))
23902390 }
Original file line number Diff line number Diff line change @@ -87,6 +87,7 @@ public enum ErrorMessageID {
8787 ValueClassParameterMayNotBeAVarID ,
8888 ValueClassNeedsExactlyOneValParamID ,
8989 OnlyCaseClassOrCaseObjectAllowedID ,
90+ ExpectedClassOrObjectDefID ,
9091 ;
9192
9293 public int errorNumber () {
Original file line number Diff line number Diff line change @@ -1573,4 +1573,11 @@ object messages {
15731573 val explanation = " "
15741574 }
15751575
1576+ case class ExpectedClassOrObjectDef ()(implicit ctx : Context )
1577+ extends Message (ExpectedClassOrObjectDefID ) {
1578+ val kind = " Syntax"
1579+ val msg = " expected class or object definition"
1580+ val explanation = " "
1581+ }
1582+
15761583}
Original file line number Diff line number Diff line change @@ -792,4 +792,15 @@ class ErrorMessagesTests extends ErrorMessagesTest {
792792 assertEquals(err, OnlyCaseClassOrCaseObjectAllowed ())
793793 }
794794
795+ @ Test def expectedClassOrObjectDef =
796+ checkMessagesAfter(" frontend" ) {
797+ """ Foo"""
798+ }
799+ .expect { (ictx, messages) =>
800+ implicit val ctx : Context = ictx
801+ assertMessageCount(1 , messages)
802+ val err :: Nil = messages
803+ assertEquals(err, ExpectedClassOrObjectDef ())
804+ }
805+
795806}
You can’t perform that action at this time.
0 commit comments