mirror of
https://github.com/ethereum/solidity
synced 2023-10-03 13:03:40 +00:00
Change settings.modelChecker.targets to take an array instead of string
This commit is contained in:
@@ -913,12 +913,23 @@ std::variant<StandardCompiler::InputsAndSettings, Json::Value> StandardCompiler:
|
||||
|
||||
if (modelCheckerSettings.isMember("targets"))
|
||||
{
|
||||
if (!modelCheckerSettings["targets"].isString())
|
||||
return formatFatalError("JSONError", "settings.modelChecker.targets must be a string.");
|
||||
std::optional<ModelCheckerTargets> targets = ModelCheckerTargets::fromString(modelCheckerSettings["targets"].asString());
|
||||
if (!targets)
|
||||
return formatFatalError("JSONError", "Invalid model checker targets requested.");
|
||||
ret.modelCheckerSettings.targets = *targets;
|
||||
auto const& targetsArray = modelCheckerSettings["targets"];
|
||||
if (!targetsArray.isArray())
|
||||
return formatFatalError("JSONError", "settings.modelChecker.targets must be an array.");
|
||||
|
||||
ModelCheckerTargets targets;
|
||||
for (auto const& t: targetsArray)
|
||||
{
|
||||
if (!t.isString())
|
||||
return formatFatalError("JSONError", "Every target in settings.modelChecker.targets must be a string.");
|
||||
if (!targets.setFromString(t.asString()))
|
||||
return formatFatalError("JSONError", "Invalid model checker targets requested.");
|
||||
}
|
||||
|
||||
if (targets.targets.empty())
|
||||
return formatFatalError("JSONError", "settings.modelChecker.targets must be a non-empty array.");
|
||||
|
||||
ret.modelCheckerSettings.targets = targets;
|
||||
}
|
||||
|
||||
if (modelCheckerSettings.isMember("timeout"))
|
||||
|
||||
Reference in New Issue
Block a user