Revert "Update OperationAnnotation to use SetOnce for userDefinedFunction"

This reverts commit 29707c7b9a4884f0a5a8ada47cce4859401c8d53.
This commit is contained in:
wechman
2022-09-28 13:07:57 +02:00
parent d124f83b88
commit 70255f8776
9 changed files with 21 additions and 26 deletions
+5 -5
View File
@@ -65,7 +65,7 @@ bool ControlFlowBuilder::visit(BinaryOperation const& _operation)
case Token::And:
{
visitNode(_operation);
solAssert(!_operation.annotation().userDefinedFunction.set());
solAssert(!_operation.annotation().userDefinedFunction);
appendControlFlow(_operation.leftExpression());
auto nodes = splitFlow<2>();
@@ -75,14 +75,14 @@ bool ControlFlowBuilder::visit(BinaryOperation const& _operation)
}
default:
{
if (_operation.annotation().userDefinedFunction.set())
if (_operation.annotation().userDefinedFunction)
{
visitNode(_operation);
_operation.leftExpression().accept(*this);
_operation.rightExpression().accept(*this);
solAssert(!m_currentNode->resolveFunctionCall(nullptr));
m_currentNode->functionCall = *_operation.annotation().userDefinedFunction;
m_currentNode->functionCall = _operation.annotation().userDefinedFunction;
auto nextNode = newLabel();
connect(m_currentNode, nextNode);
@@ -99,11 +99,11 @@ bool ControlFlowBuilder::visit(UnaryOperation const& _operation)
{
solAssert(!!m_currentNode, "");
if (_operation.annotation().userDefinedFunction.set())
if (_operation.annotation().userDefinedFunction)
{
visitNode(_operation);
solAssert(!m_currentNode->resolveFunctionCall(nullptr));
m_currentNode->functionCall = *_operation.annotation().userDefinedFunction;
m_currentNode->functionCall = _operation.annotation().userDefinedFunction;
auto nextNode = newLabel();
+2 -2
View File
@@ -206,14 +206,14 @@ bool FunctionCallGraphBuilder::visit(MemberAccess const& _memberAccess)
bool FunctionCallGraphBuilder::visit(BinaryOperation const& _binaryOperation)
{
if (FunctionDefinition const* function = *_binaryOperation.annotation().userDefinedFunction)
if (FunctionDefinition const* function = _binaryOperation.annotation().userDefinedFunction)
functionReferenced(*function, true /* called directly */);
return true;
}
bool FunctionCallGraphBuilder::visit(UnaryOperation const& _unaryOperation)
{
if (FunctionDefinition const* function = *_unaryOperation.annotation().userDefinedFunction)
if (FunctionDefinition const* function = _unaryOperation.annotation().userDefinedFunction)
functionReferenced(*function, true /* called directly */);
return true;
}
+4 -4
View File
@@ -333,14 +333,14 @@ void ViewPureChecker::reportFunctionCallMutability(StateMutability _mutability,
void ViewPureChecker::endVisit(BinaryOperation const& _binaryOperation)
{
if (_binaryOperation.annotation().userDefinedFunction.set())
reportFunctionCallMutability((*_binaryOperation.annotation().userDefinedFunction)->stateMutability(), _binaryOperation.location());
if (_binaryOperation.annotation().userDefinedFunction)
reportFunctionCallMutability(_binaryOperation.annotation().userDefinedFunction->stateMutability(), _binaryOperation.location());
}
void ViewPureChecker::endVisit(UnaryOperation const& _unaryOperation)
{
if (_unaryOperation.annotation().userDefinedFunction.set())
reportFunctionCallMutability((*_unaryOperation.annotation().userDefinedFunction)->stateMutability(), _unaryOperation.location());
if (_unaryOperation.annotation().userDefinedFunction)
reportFunctionCallMutability(_unaryOperation.annotation().userDefinedFunction->stateMutability(), _unaryOperation.location());
}
void ViewPureChecker::endVisit(FunctionCall const& _functionCall)