diff options
author | chriseth <c@ethdev.com> | 2015-05-13 03:27:04 +0800 |
---|---|---|
committer | chriseth <c@ethdev.com> | 2015-05-13 23:15:32 +0800 |
commit | cebc959ff3d7dab6a41833013ffe22728def3221 (patch) | |
tree | c997849fb951a132c06ffaf3af45b3f3958f3f12 /ExpressionClasses.cpp | |
parent | 2654daab2628181597bb4c35ae69ca378248f8ba (diff) | |
download | dexon-solidity-cebc959ff3d7dab6a41833013ffe22728def3221.tar dexon-solidity-cebc959ff3d7dab6a41833013ffe22728def3221.tar.gz dexon-solidity-cebc959ff3d7dab6a41833013ffe22728def3221.tar.bz2 dexon-solidity-cebc959ff3d7dab6a41833013ffe22728def3221.tar.lz dexon-solidity-cebc959ff3d7dab6a41833013ffe22728def3221.tar.xz dexon-solidity-cebc959ff3d7dab6a41833013ffe22728def3221.tar.zst dexon-solidity-cebc959ff3d7dab6a41833013ffe22728def3221.zip |
Known state: store tags on stack as unions.
Diffstat (limited to 'ExpressionClasses.cpp')
-rw-r--r-- | ExpressionClasses.cpp | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/ExpressionClasses.cpp b/ExpressionClasses.cpp index cfbeba7f..81adc0db 100644 --- a/ExpressionClasses.cpp +++ b/ExpressionClasses.cpp @@ -82,6 +82,16 @@ ExpressionClasses::Id ExpressionClasses::find( return exp.id; } +ExpressionClasses::Id ExpressionClasses::newClass(SourceLocation const& _location) +{ + Expression exp; + exp.id = m_representatives.size(); + exp.item = storeItem(AssemblyItem(UndefinedItem, (u256(1) << 255) + exp.id, _location)); + m_representatives.push_back(exp); + m_expressions.insert(exp); + return exp.id; +} + bool ExpressionClasses::knownToBeDifferent(ExpressionClasses::Id _a, ExpressionClasses::Id _b) { // Try to simplify "_a - _b" and return true iff the value is a non-zero constant. |