diff --git a/snapi-frontend/src/main/scala/raw/compiler/rql2/antlr4/RawSnapiVisitor.scala b/snapi-frontend/src/main/scala/raw/compiler/rql2/antlr4/RawSnapiVisitor.scala index 6d74d601b..aed57a402 100644 --- a/snapi-frontend/src/main/scala/raw/compiler/rql2/antlr4/RawSnapiVisitor.scala +++ b/snapi-frontend/src/main/scala/raw/compiler/rql2/antlr4/RawSnapiVisitor.scala @@ -319,7 +319,7 @@ class RawSnapiVisitor( .getOrElse((IdnDef(""), Option.empty)) val exp = - Option(context.expr()).map(exprContext => Option(visit(exprContext)).getOrElse(ErrorExp).asInstanceOf[Exp]) + Option(context.expr()).map(exprContext => Option(visit(exprContext)).getOrElse(ErrorExp()).asInstanceOf[Exp]) val result = FunParam( tupple._1, @@ -347,7 +347,7 @@ class RawSnapiVisitor( .flatMap { context => Option(context.expr()).map { exprContext => val result: FunAppArg = - FunAppArg(Option(visit(exprContext)).getOrElse(ErrorExp).asInstanceOf[Exp], Option.empty) + FunAppArg(Option(visit(exprContext)).getOrElse(ErrorExp()).asInstanceOf[Exp], Option.empty) positionsWrapper.setPosition(context, result) result } diff --git a/snapi-frontend/src/test/scala/raw/compiler/rql2/Antlr4LSPTests.scala b/snapi-frontend/src/test/scala/raw/compiler/rql2/Antlr4LSPTests.scala index 47471badd..0765dcc28 100644 --- a/snapi-frontend/src/test/scala/raw/compiler/rql2/Antlr4LSPTests.scala +++ b/snapi-frontend/src/test/scala/raw/compiler/rql2/Antlr4LSPTests.scala @@ -228,4 +228,12 @@ class Antlr4LSPTests extends RawTestSuite { ) } + test("RD11199") { _ => + val prog = "Collection.Transform(Int.Range(1, 100000), -=" + val result = parseWithAntlr4(prog) + assert( + result.errors(0).message == "the input does not form a valid statement or expression." + ) + } + }