Skip to content

Commit 4f77655

Browse files
insdamifelixmulder
authored andcommitted
Moved literal message into error Message class (#2725)
* Moved literal message into error Message class * Moved literal message into error Message class
1 parent b38fa72 commit 4f77655

File tree

4 files changed

+20
-1
lines changed

4 files changed

+20
-1
lines changed

compiler/src/dotty/tools/dotc/parsing/Parsers.scala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff 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
}

compiler/src/dotty/tools/dotc/reporting/diagnostic/ErrorMessageID.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -87,6 +87,7 @@ public enum ErrorMessageID {
8787
ValueClassParameterMayNotBeAVarID,
8888
ValueClassNeedsExactlyOneValParamID,
8989
OnlyCaseClassOrCaseObjectAllowedID,
90+
ExpectedClassOrObjectDefID,
9091
;
9192

9293
public int errorNumber() {

compiler/src/dotty/tools/dotc/reporting/diagnostic/messages.scala

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff 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
}

compiler/test/dotty/tools/dotc/reporting/ErrorMessagesTests.scala

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff 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
}

0 commit comments

Comments
 (0)