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:
@@ -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();
|
||||
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user