aboutsummaryrefslogtreecommitdiffstats
path: root/ExpressionClasses.h
diff options
context:
space:
mode:
Diffstat (limited to 'ExpressionClasses.h')
-rw-r--r--ExpressionClasses.h6
1 files changed, 5 insertions, 1 deletions
diff --git a/ExpressionClasses.h b/ExpressionClasses.h
index c8352030..dd94092e 100644
--- a/ExpressionClasses.h
+++ b/ExpressionClasses.h
@@ -52,7 +52,8 @@ public:
Id id;
AssemblyItem const* item = nullptr;
Ids arguments;
- unsigned sequenceNumber; ///< Storage modification sequence, only used for SLOAD/SSTORE instructions.
+ /// Storage modification sequence, only used for storage and memory operations.
+ unsigned sequenceNumber = 0;
/// Behaves as if this was a tuple of (item->type(), item->data(), arguments, sequenceNumber).
bool operator<(Expression const& _other) const;
};
@@ -73,6 +74,9 @@ public:
/// @returns the number of classes.
Id size() const { return m_representatives.size(); }
+ /// @returns the id of a new class which is different to all other classes.
+ Id newClass(SourceLocation const& _location);
+
/// @returns true if the values of the given classes are known to be different (on every input).
/// @note that this function might still return false for some different inputs.
bool knownToBeDifferent(Id _a, Id _b);