diff options
author | chriseth <c@ethdev.com> | 2015-04-21 16:59:48 +0800 |
---|---|---|
committer | chriseth <c@ethdev.com> | 2015-04-22 17:43:49 +0800 |
commit | a6d08950c6a81de3698ea8be01d2d5c472fe41e6 (patch) | |
tree | f1c74eb23c8e8cf351d08ea9c07682d78db1b0b5 /ExpressionCompiler.h | |
parent | a44bcb6909478543151cac871fdbbc4909ad54aa (diff) | |
download | dexon-solidity-a6d08950c6a81de3698ea8be01d2d5c472fe41e6.tar.gz dexon-solidity-a6d08950c6a81de3698ea8be01d2d5c472fe41e6.tar.zst dexon-solidity-a6d08950c6a81de3698ea8be01d2d5c472fe41e6.zip |
bytes parameters for events and sha3.
Diffstat (limited to 'ExpressionCompiler.h')
-rw-r--r-- | ExpressionCompiler.h | 18 |
1 files changed, 12 insertions, 6 deletions
diff --git a/ExpressionCompiler.h b/ExpressionCompiler.h index 2577d21b..35526662 100644 --- a/ExpressionCompiler.h +++ b/ExpressionCompiler.h @@ -100,12 +100,18 @@ private: /// Appends code to call a function of the given type with the given arguments. void appendExternalFunctionCall(FunctionType const& _functionType, std::vector<ASTPointer<Expression const>> const& _arguments, bool bare = false); - /// Appends code that evaluates the given arguments and moves the result to memory. The memory offset is - /// expected to be on the stack and is updated by this call. - void appendArgumentsCopyToMemory(std::vector<ASTPointer<Expression const>> const& _arguments, - TypePointers const& _types = {}, - bool _padToWordBoundaries = true, - bool _padExceptionIfFourBytes = false); + /// Appends code that evaluates the given arguments and moves the result to memory encoded as + /// specified by the ABI. The memory offset is expected to be on the stack and is updated by + /// this call. If @a _padToWordBoundaries is set to false, all values are concatenated without + /// padding. If @a _copyDynamicDataInPlace is set, dynamic types is stored (without length) + /// together with fixed-length data. + void appendArgumentsCopyToMemory( + std::vector<ASTPointer<Expression const>> const& _arguments, + TypePointers const& _types = {}, + bool _padToWordBoundaries = true, + bool _padExceptionIfFourBytes = false, + bool _copyDynamicDataInPlace = false + ); /// Appends code that moves a stack element of the given type to memory. The memory offset is /// expected below the stack element and is updated by this call. void appendTypeMoveToMemory(Type const& _type, bool _padToWordBoundaries = true); |