diff --git a/src/main/scala/leon/LeonOption.scala b/src/main/scala/leon/LeonOption.scala index e8b653a5b172615e7c188c4f2d5c82f66c2bc673..06269e69609432a2441b71c51a904129a698052f 100644 --- a/src/main/scala/leon/LeonOption.scala +++ b/src/main/scala/leon/LeonOption.scala @@ -101,7 +101,7 @@ object OptionsHelpers { def nameValue(s: String) = s match { case matcher(name, value) => (name, value) case matcherWithout(name) => (name, "") - case _ => sys.error("") // FIXME + case _ => throw new IllegalArgumentException } // helper for options that include patterns diff --git a/src/main/scala/leon/Main.scala b/src/main/scala/leon/Main.scala index 5035e0e36d68058cb32ff31a3a2a8d9e08ebc588..7c8098efb987948cf84e8ab11604f38e1b3eec97 100644 --- a/src/main/scala/leon/Main.scala +++ b/src/main/scala/leon/Main.scala @@ -95,7 +95,14 @@ object Main { val files = args.filterNot(_.startsWith("-")).map(new java.io.File(_)) val leonOptions: Set[LeonOption[Any]] = options.map { opt => - val (name, value) = OptionsHelpers.nameValue(opt) + val (name, value) = try { + OptionsHelpers.nameValue(opt) + } catch { + case _ : IllegalArgumentException => + initReporter.fatalError( + s"Malformed option $opt. Options should have the form --name or --name=value" + ) + } // Find respective LeonOptionDef, or report an unknown option val df = allOptions.find(_. name == name).getOrElse{ initReporter.error(s"Unknown option: $name")