aboutsummaryrefslogtreecommitdiffstats
path: root/ExpressionCompiler.h
diff options
context:
space:
mode:
authorchriseth <c@ethdev.com>2015-04-21 16:59:48 +0800
committerchriseth <c@ethdev.com>2015-04-22 17:43:49 +0800
commita6d08950c6a81de3698ea8be01d2d5c472fe41e6 (patch)
treef1c74eb23c8e8cf351d08ea9c07682d78db1b0b5 /ExpressionCompiler.h
parenta44bcb6909478543151cac871fdbbc4909ad54aa (diff)
downloaddexon-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.h18
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);