aboutsummaryrefslogtreecommitdiffstats
path: root/libsolidity/codegen/ExpressionCompiler.h
diff options
context:
space:
mode:
authorchriseth <c@ethdev.com>2016-12-07 06:45:17 +0800
committerchriseth <c@ethdev.com>2016-12-12 18:12:12 +0800
commit273804503096d8d5d0c9d1fcece48da871f2d90f (patch)
tree7ba765f21be9a6f3177cb2a3023bc475e14f3a93 /libsolidity/codegen/ExpressionCompiler.h
parent2df60bec923e1bac74cde00ae9bda641ca29d6c1 (diff)
downloaddexon-solidity-273804503096d8d5d0c9d1fcece48da871f2d90f.tar
dexon-solidity-273804503096d8d5d0c9d1fcece48da871f2d90f.tar.gz
dexon-solidity-273804503096d8d5d0c9d1fcece48da871f2d90f.tar.bz2
dexon-solidity-273804503096d8d5d0c9d1fcece48da871f2d90f.tar.lz
dexon-solidity-273804503096d8d5d0c9d1fcece48da871f2d90f.tar.xz
dexon-solidity-273804503096d8d5d0c9d1fcece48da871f2d90f.tar.zst
dexon-solidity-273804503096d8d5d0c9d1fcece48da871f2d90f.zip
Cleaner shift handling and type conversion for binary operations.
Diffstat (limited to 'libsolidity/codegen/ExpressionCompiler.h')
-rw-r--r--libsolidity/codegen/ExpressionCompiler.h6
1 files changed, 5 insertions, 1 deletions
diff --git a/libsolidity/codegen/ExpressionCompiler.h b/libsolidity/codegen/ExpressionCompiler.h
index e6cf382c..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, Type const& _leftType, Type const& _rightType);
+ 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();