mirror of
https://github.com/ethereum/solidity
synced 2023-10-03 13:03:40 +00:00
Review changes.
This commit is contained in:
parent
f70462cdba
commit
53a44bd5ae
@ -66,13 +66,13 @@ bool KnowledgeBase::knownToBeDifferentByAtLeast32(YulString _a, YulString _b)
|
|||||||
|
|
||||||
bool KnowledgeBase::knownToBeZero(YulString _a)
|
bool KnowledgeBase::knownToBeZero(YulString _a)
|
||||||
{
|
{
|
||||||
return valueIfKnownConstant(_a) == u256{};
|
return valueIfKnownConstant(_a) == 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
optional<u256> KnowledgeBase::valueIfKnownConstant(YulString _a)
|
optional<u256> KnowledgeBase::valueIfKnownConstant(YulString _a)
|
||||||
{
|
{
|
||||||
VariableOffset offset = explore(_a);
|
VariableOffset offset = explore(_a);
|
||||||
if (offset.reference == YulString{})
|
if (offset.reference.empty())
|
||||||
return offset.offset;
|
return offset.offset;
|
||||||
else
|
else
|
||||||
return nullopt;
|
return nullopt;
|
||||||
@ -85,7 +85,7 @@ optional<u256> KnowledgeBase::valueIfKnownConstant(Expression const& _expression
|
|||||||
else if (Literal const* lit = get_if<Literal>(&_expression))
|
else if (Literal const* lit = get_if<Literal>(&_expression))
|
||||||
return valueOfLiteral(*lit);
|
return valueOfLiteral(*lit);
|
||||||
else
|
else
|
||||||
return {};
|
return nullopt;
|
||||||
}
|
}
|
||||||
|
|
||||||
KnowledgeBase::VariableOffset KnowledgeBase::explore(YulString _var)
|
KnowledgeBase::VariableOffset KnowledgeBase::explore(YulString _var)
|
||||||
@ -150,7 +150,7 @@ optional<KnowledgeBase::VariableOffset> KnowledgeBase::explore(Expression const&
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return {};
|
return nullopt;
|
||||||
}
|
}
|
||||||
|
|
||||||
Expression const* KnowledgeBase::valueOf(YulString _var)
|
Expression const* KnowledgeBase::valueOf(YulString _var)
|
||||||
@ -175,7 +175,7 @@ void KnowledgeBase::reset(YulString _var)
|
|||||||
if (VariableOffset const* offset = util::valueOrNullptr(m_offsets, _var))
|
if (VariableOffset const* offset = util::valueOrNullptr(m_offsets, _var))
|
||||||
{
|
{
|
||||||
// Remove var from its group
|
// Remove var from its group
|
||||||
if (offset->reference != YulString{})
|
if (!offset->reference.empty())
|
||||||
m_groupMembers[offset->reference].erase(_var);
|
m_groupMembers[offset->reference].erase(_var);
|
||||||
m_offsets.erase(_var);
|
m_offsets.erase(_var);
|
||||||
}
|
}
|
||||||
@ -203,7 +203,7 @@ KnowledgeBase::VariableOffset KnowledgeBase::setOffset(YulString _variable, Vari
|
|||||||
m_offsets[_variable] = _value;
|
m_offsets[_variable] = _value;
|
||||||
// Constants are not tracked in m_groupMembers because
|
// Constants are not tracked in m_groupMembers because
|
||||||
// the "representative" can never be reset.
|
// the "representative" can never be reset.
|
||||||
if (_value.reference != YulString{})
|
if (!_value.reference.empty())
|
||||||
m_groupMembers[_value.reference].insert(_variable);
|
m_groupMembers[_value.reference].insert(_variable);
|
||||||
return _value;
|
return _value;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user