Skip to content

Commit cc822fb

Browse files
committed
Move changes to parser
1 parent 91b540c commit cc822fb

File tree

2 files changed

+9
-9
lines changed

2 files changed

+9
-9
lines changed

compiler/src/dotty/tools/dotc/ast/Desugar.scala

Lines changed: 0 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -653,15 +653,6 @@ object desugar {
653653
val mods = mdef.mods
654654
def isEnumCase = mods.isEnumCase
655655

656-
def flagPos(flag: FlagSet) = mods.mods.find(_.flags == flag).get.pos
657-
658-
if (mods is Abstract)
659-
ctx.error(hl"""${"abstract"} modifier cannot be used for objects""", flagPos(Abstract))
660-
for (flag <- List(Sealed, Final)) {
661-
if (mods is flag)
662-
ctx.warning(hl"""$flag modifier is redundant for objects""", flagPos(flag))
663-
}
664-
665656
if (mods is Package)
666657
PackageDef(Ident(moduleName), cpy.ModuleDef(mdef)(nme.PACKAGE, impl).withMods(mods &~ Package) :: Nil)
667658
else if (isEnumCase)

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

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2316,6 +2316,15 @@ object Parsers {
23162316

23172317
def objectDefRest(start: Offset, mods: Modifiers, name: TermName): ModuleDef = {
23182318
val template = templateOpt(emptyConstructor)
2319+
2320+
def flagPos(flag: FlagSet) = mods.mods.find(_.flags == flag).get.pos
2321+
if (mods is Abstract)
2322+
syntaxError(hl"""${"abstract"} modifier cannot be used for objects""", flagPos(Abstract))
2323+
for (flag <- List(Sealed, Final)) {
2324+
if (mods is flag)
2325+
warning(hl"""$flag modifier is redundant for objects""", source atPos flagPos(flag))
2326+
}
2327+
23192328
ModuleDef(name, template).withMods(mods).setComment(in.getDocComment(start))
23202329
}
23212330

0 commit comments

Comments
 (0)