From 577a5bb7a4aa6eb4dfa0f07073417fbee9d0549b Mon Sep 17 00:00:00 2001 From: wechman Date: Mon, 26 Sep 2022 11:18:49 +0200 Subject: [PATCH] Additional asserts in ASTJsonImporter::createUsingForDirective --- libsolidity/ast/ASTJsonImporter.cpp | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/libsolidity/ast/ASTJsonImporter.cpp b/libsolidity/ast/ASTJsonImporter.cpp index 5edf94551..a715dda71 100644 --- a/libsolidity/ast/ASTJsonImporter.cpp +++ b/libsolidity/ast/ASTJsonImporter.cpp @@ -22,6 +22,7 @@ */ #include +#include #include #include @@ -395,11 +396,14 @@ ASTPointer ASTJsonImporter::createUsingForDirective(Json::Val for (Json::Value const& function: _node["functionList"]) { functions.emplace_back(createIdentifierPath(function["function"])); - operators.emplace_back( - function.isMember("operator") ? - optional{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}); + } + else + operators.emplace_back(nullopt); } return createASTNode(