Additional asserts in ASTJsonImporter::createUsingForDirective

This commit is contained in:
wechman 2022-09-26 11:18:49 +02:00
parent 6724455b16
commit 577a5bb7a4

View File

@ -22,6 +22,7 @@
*/
#include <libsolidity/ast/ASTJsonImporter.h>
#include <libsolidity/ast/OverridableOperators.h>
#include <libyul/AsmJsonImporter.h>
#include <libyul/AST.h>
@ -395,11 +396,14 @@ ASTPointer<UsingForDirective> ASTJsonImporter::createUsingForDirective(Json::Val
for (Json::Value const& function: _node["functionList"])
{
functions.emplace_back(createIdentifierPath(function["function"]));
operators.emplace_back(
function.isMember("operator") ?
optional<Token>{scanSingleToken(function["operator"])} :
nullopt
);
if (function.isMember("operator"))
{
Token const token = scanSingleToken(function["operator"]);
solAssert(util::contains(frontend::overridableOperators, token));
operators.emplace_back(optional<Token>{token});
}
else
operators.emplace_back(nullopt);
}
return createASTNode<UsingForDirective>(