aboutsummaryrefslogtreecommitdiffstats
path: root/libsolidity/CompilerUtils.cpp
diff options
context:
space:
mode:
authorchriseth <c@ethdev.com>2015-10-03 04:34:47 +0800
committerchriseth <c@ethdev.com>2015-10-06 20:20:06 +0800
commit421dcf4c1a38a5e691aec5d791155adbcf732c90 (patch)
tree5798cb49bfd01ae81fa4bed88b0104797ea62ea7 /libsolidity/CompilerUtils.cpp
parent9cc7402c9583ca3bfc9fcb234443d2f90b890190 (diff)
downloaddexon-solidity-421dcf4c1a38a5e691aec5d791155adbcf732c90.tar.gz
dexon-solidity-421dcf4c1a38a5e691aec5d791155adbcf732c90.tar.zst
dexon-solidity-421dcf4c1a38a5e691aec5d791155adbcf732c90.zip
Tests apart from new one work fine.
Diffstat (limited to 'libsolidity/CompilerUtils.cpp')
-rw-r--r--libsolidity/CompilerUtils.cpp5
1 files changed, 3 insertions, 2 deletions
diff --git a/libsolidity/CompilerUtils.cpp b/libsolidity/CompilerUtils.cpp
index 31000f0b..583d267a 100644
--- a/libsolidity/CompilerUtils.cpp
+++ b/libsolidity/CompilerUtils.cpp
@@ -153,14 +153,15 @@ void CompilerUtils::encodeToMemory(
TypePointers const& _givenTypes,
TypePointers const& _targetTypes,
bool _padToWordBoundaries,
- bool _copyDynamicDataInPlace
+ bool _copyDynamicDataInPlace,
+ bool _encodeAsLibraryTypes
)
{
// stack: <v1> <v2> ... <vn> <mem>
TypePointers targetTypes = _targetTypes.empty() ? _givenTypes : _targetTypes;
solAssert(targetTypes.size() == _givenTypes.size(), "");
for (TypePointer& t: targetTypes)
- t = t->mobileType()->encodingType();
+ t = t->mobileType()->interfaceType(_encodeAsLibraryTypes)->encodingType();
// Stack during operation:
// <v1> <v2> ... <vn> <mem_start> <dyn_head_1> ... <dyn_head_r> <end_of_mem>