mirror of
https://github.com/ethereum/solidity
synced 2023-10-03 13:03:40 +00:00
Implement knowledge base.
This commit is contained in:
@@ -27,7 +27,7 @@
|
||||
namespace yul
|
||||
{
|
||||
|
||||
class Dialect;
|
||||
struct Dialect;
|
||||
|
||||
/**
|
||||
* Class that can answer questions about values of variables and their relations.
|
||||
@@ -42,12 +42,16 @@ public:
|
||||
m_variableValues(_variableValues)
|
||||
{}
|
||||
|
||||
bool knownToBeDifferent(YulString _a, YulString _b) const;
|
||||
bool knownToBeDifferent(YulString _a, YulString _b);
|
||||
bool knownToBeDifferentByAtLeast32(YulString _a, YulString _b);
|
||||
bool knownToBeEqual(YulString _a, YulString _b) const { return _a == _b; }
|
||||
|
||||
private:
|
||||
Expression simplify(Expression _expression);
|
||||
|
||||
Dialect const& m_dialect;
|
||||
std::map<YulString, Expression const*> const& m_variableValues;
|
||||
size_t m_recursionCounter = 0;
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user