mirror of
https://github.com/ethereum/solidity
synced 2023-10-03 13:03:40 +00:00
Revert "Update OperationAnnotation to use SetOnce for userDefinedFunction"
This reverts commit 29707c7b9a4884f0a5a8ada47cce4859401c8d53.
This commit is contained in:
@@ -688,19 +688,14 @@ public:
|
||||
|
||||
/// @returns a list of functions or the single library.
|
||||
std::vector<ASTPointer<IdentifierPath>> const& functionsOrLibrary() const { return m_functions; }
|
||||
//auto functionsAndOperators() const { return ranges::zip_view(m_functions, m_operators); }
|
||||
ranges::zip_view<
|
||||
ranges::ref_view<const std::vector<std::shared_ptr<solidity::frontend::IdentifierPath>>>,
|
||||
ranges::ref_view<const std::vector<std::optional<solidity::langutil::Token>>>
|
||||
>
|
||||
functionsAndOperators() const { return ranges::zip_view(m_functions, m_operators); }
|
||||
auto functionsAndOperators() const { return ranges::zip_view(m_functions, m_operators); }
|
||||
bool usesBraces() const { return m_usesBraces; }
|
||||
bool global() const { return m_global; }
|
||||
|
||||
private:
|
||||
/// Either the single library or a list of functions.
|
||||
std::vector<ASTPointer<IdentifierPath>> m_functions;
|
||||
/// Operators, the functions from @a m_functions implement.
|
||||
/// Operators, the functions are applied to.
|
||||
std::vector<std::optional<Token>> m_operators;
|
||||
bool m_usesBraces;
|
||||
ASTPointer<TypeName> m_typeName;
|
||||
|
||||
@@ -314,7 +314,7 @@ struct MemberAccessAnnotation: ExpressionAnnotation
|
||||
|
||||
struct OperationAnnotation: ExpressionAnnotation
|
||||
{
|
||||
util::SetOnce<FunctionDefinition const*> userDefinedFunction;
|
||||
FunctionDefinition const* userDefinedFunction = nullptr;
|
||||
};
|
||||
|
||||
struct BinaryOperationAnnotation: OperationAnnotation
|
||||
|
||||
@@ -828,7 +828,7 @@ bool ASTJsonExporter::visit(UnaryOperation const& _node)
|
||||
make_pair("operator", TokenTraits::toString(_node.getOperator())),
|
||||
make_pair("subExpression", toJson(_node.subExpression()))
|
||||
};
|
||||
if (FunctionDefinition const* function = *_node.annotation().userDefinedFunction)
|
||||
if (FunctionDefinition const* function = _node.annotation().userDefinedFunction)
|
||||
attributes.emplace_back("function", nodeId(*function));
|
||||
appendExpressionAttributes(attributes, _node.annotation());
|
||||
setJsonNode(_node, "UnaryOperation", std::move(attributes));
|
||||
@@ -843,7 +843,7 @@ bool ASTJsonExporter::visit(BinaryOperation const& _node)
|
||||
make_pair("rightExpression", toJson(_node.rightExpression())),
|
||||
make_pair("commonType", typePointerToJson(_node.annotation().commonType)),
|
||||
};
|
||||
if (FunctionDefinition const* function = *_node.annotation().userDefinedFunction)
|
||||
if (FunctionDefinition const* function = _node.annotation().userDefinedFunction)
|
||||
attributes.emplace_back("function", nodeId(*function));
|
||||
appendExpressionAttributes(attributes, _node.annotation());
|
||||
setJsonNode(_node, "BinaryOperation", std::move(attributes));
|
||||
|
||||
Reference in New Issue
Block a user