diff options
author | Yoichi Hirai <i@yoichihirai.com> | 2016-12-14 23:31:28 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2016-12-14 23:31:27 +0800 |
commit | 18f8f29c0a3ed9404f2950c11d77f85d0117c6d5 (patch) | |
tree | 11fcb5408f609ab3e8f35d7e41fd7a42df0d1837 /libsolidity/codegen/ExpressionCompiler.h | |
parent | e53d12557162275a135a4ae086ae05691bc23fa3 (diff) | |
parent | 08a11e309f241e602cc4754b6322e4bb0da57b17 (diff) | |
download | dexon-solidity-18f8f29c0a3ed9404f2950c11d77f85d0117c6d5.tar dexon-solidity-18f8f29c0a3ed9404f2950c11d77f85d0117c6d5.tar.gz dexon-solidity-18f8f29c0a3ed9404f2950c11d77f85d0117c6d5.tar.bz2 dexon-solidity-18f8f29c0a3ed9404f2950c11d77f85d0117c6d5.tar.lz dexon-solidity-18f8f29c0a3ed9404f2950c11d77f85d0117c6d5.tar.xz dexon-solidity-18f8f29c0a3ed9404f2950c11d77f85d0117c6d5.tar.zst dexon-solidity-18f8f29c0a3ed9404f2950c11d77f85d0117c6d5.zip |
Merge pull request #1487 from ethereum/shift-ops
Shift operators
Diffstat (limited to 'libsolidity/codegen/ExpressionCompiler.h')
-rw-r--r-- | libsolidity/codegen/ExpressionCompiler.h | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/libsolidity/codegen/ExpressionCompiler.h b/libsolidity/codegen/ExpressionCompiler.h index f08bded9..d0a8ac15 100644 --- a/libsolidity/codegen/ExpressionCompiler.h +++ b/libsolidity/codegen/ExpressionCompiler.h @@ -91,7 +91,7 @@ private: void appendArithmeticOperatorCode(Token::Value _operator, Type const& _type); void appendBitOperatorCode(Token::Value _operator); - void appendShiftOperatorCode(Token::Value _operator); + void appendShiftOperatorCode(Token::Value _operator, Type const& _valueType, Type const& _shiftAmountType); /// @} /// Appends code to call a function of the given type with the given arguments. @@ -117,6 +117,10 @@ private: template <class _LValueType, class... _Arguments> void setLValue(Expression const& _expression, _Arguments const&... _arguments); + /// @returns true if the operator applied to the given type requires a cleanup prior to the + /// operation. + bool cleanupNeededForOp(Type::Category _type, Token::Value _op); + /// @returns the CompilerUtils object containing the current context. CompilerUtils utils(); |