Skip to content

Assertion failure in Parser#parArgumentExprs #2515

Closed
@smarter

Description

@smarter

Before #2432 this code was not parsed correctly but now it crashes in the parser:

class Foo @deprecated() (@deprecated() id: String)
        at scala.Predef$.assert(Predef.scala:156)
        at dotty.tools.dotc.parsing.Parsers$Parser.parArgumentExprs(Parsers.scala:1336)
        at dotty.tools.dotc.parsing.Parsers$Parser.parArgumentExprss(Parsers.scala:1411)
        at dotty.tools.dotc.parsing.Parsers$Parser.annot(Parsers.scala:1762)
        at dotty.tools.dotc.parsing.Parsers$Parser.annotations(Parsers.scala:1767)
        at dotty.tools.dotc.parsing.Parsers$Parser.annotations(Parsers.scala:1767)
        at dotty.tools.dotc.parsing.Parsers$Parser.annotsAsMods(Parsers.scala:1772)
        at dotty.tools.dotc.parsing.Parsers$Parser.constrModsOpt(Parsers.scala:2209)
        at dotty.tools.dotc.parsing.Parsers$Parser$$anonfun$23.apply(Parsers.scala:2201)
        at dotty.tools.dotc.parsing.Parsers$Parser$$anonfun$23.apply(Parsers.scala:2201)
        at dotty.tools.dotc.parsing.Parsers$Parser.fromWithinClassConstr(Parsers.scala:312)
        at dotty.tools.dotc.parsing.Parsers$Parser.classConstr(Parsers.scala:2201)
        at dotty.tools.dotc.parsing.Parsers$Parser.classDefRest(Parsers.scala:2192)
        at dotty.tools.dotc.parsing.Parsers$Parser.classDef(Parsers.scala:2188)
        at dotty.tools.dotc.parsing.Parsers$Parser.tmplDef(Parsers.scala:2168)
        at dotty.tools.dotc.parsing.Parsers$Parser.topStatSeq(Parsers.scala:2379)
        at dotty.tools.dotc.parsing.Parsers$Parser$$anonfun$compilationUnit$1.topstats$1(Parsers.scala:2533)
        at dotty.tools.dotc.parsing.Parsers$Parser$$anonfun$compilationUnit$1.apply(Parsers.scala:2538)
        at dotty.tools.dotc.parsing.Parsers$Parser$$anonfun$compilationUnit$1.apply(Parsers.scala:2503)
        at dotty.tools.dotc.parsing.Parsers$Parser.checkNoEscapingPlaceholders(Parsers.scala:386)
        at dotty.tools.dotc.parsing.Parsers$Parser.compilationUnit(Parsers.scala:2503)
        at dotty.tools.dotc.parsing.Parsers$Parser.parse(Parsers.scala:144)
        at dotty.tools.dotc.typer.FrontEnd$$anonfun$parse$1.apply$mcV$sp(FrontEnd.scala:43)
        at dotty.tools.dotc.typer.FrontEnd.monitor(FrontEnd.scala:32)
        at dotty.tools.dotc.typer.FrontEnd.parse(FrontEnd.scala:39)
        at dotty.tools.dotc.typer.FrontEnd$$anonfun$runOn$1.apply(FrontEnd.scala:85)
        at dotty.tools.dotc.typer.FrontEnd$$anonfun$runOn$1.apply(FrontEnd.scala:85)
        at scala.collection.immutable.List.foreach(List.scala:392)
        at dotty.tools.dotc.typer.FrontEnd.runOn(FrontEnd.scala:85)
        at dotty.tools.dotc.Run$$anonfun$compileUnits$1$$anonfun$apply$mcV$sp$1.apply(Run.scala:82)
        at dotty.tools.dotc.Run$$anonfun$compileUnits$1$$anonfun$apply$mcV$sp$1.apply(Run.scala:79)
        at scala.collection.IndexedSeqOptimized$class.foreach(IndexedSeqOptimized.scala:33)
        at scala.collection.mutable.ArrayOps$ofRef.foreach(ArrayOps.scala:186)
        at dotty.tools.dotc.Run$$anonfun$compileUnits$1.apply$mcV$sp(Run.scala:79)
        at dotty.tools.dotc.Run$$anonfun$compileUnits$1.apply(Run.scala:67)
        at dotty.tools.dotc.Run$$anonfun$compileUnits$1.apply(Run.scala:67)
        at dotty.tools.dotc.util.Stats$.monitorHeartBeat(Stats.scala:76)
        at dotty.tools.dotc.Run.compileUnits(Run.scala:67)
        at dotty.tools.dotc.Run.compileSources(Run.scala:64)
        at dotty.tools.dotc.Run.compile(Run.scala:48)
        at dotty.tools.dotc.Driver.doCompile(Driver.scala:26)
        at dotty.tools.dotc.Driver.process(Driver.scala:124)
        at dotty.tools.dotc.Driver.process(Driver.scala:93)
        at dotty.tools.dotc.Driver.process(Driver.scala:105)
        at dotty.tools.dotc.Driver.main(Driver.scala:132)
        at dotty.tools.dotc.Main.main(Main.scala)

/cc @odersky

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions