aboutsummaryrefslogtreecommitdiffstats
path: root/libsolidity/ast
diff options
context:
space:
mode:
authorchriseth <chris@ethereum.org>2017-08-14 23:04:00 +0800
committerGitHub <noreply@github.com>2017-08-14 23:04:00 +0800
commit2411f5d839cd784ef31e076812787b2e1934ca9f (patch)
tree1118f62a4a984c2ef81e418b3e57a44753155d6a /libsolidity/ast
parent0a04a35a2e02437ae038af41c947b3e829946bca (diff)
parent63b556b2063acfe84f16973bd5b0429d70f7fb93 (diff)
downloaddexon-solidity-2411f5d839cd784ef31e076812787b2e1934ca9f.tar.gz
dexon-solidity-2411f5d839cd784ef31e076812787b2e1934ca9f.tar.zst
dexon-solidity-2411f5d839cd784ef31e076812787b2e1934ca9f.zip
Merge pull request #2704 from ethereum/newEncoder
New ABI encoder
Diffstat (limited to 'libsolidity/ast')
-rw-r--r--libsolidity/ast/ExperimentalFeatures.h8
-rw-r--r--libsolidity/ast/Types.cpp2
2 files changed, 6 insertions, 4 deletions
diff --git a/libsolidity/ast/ExperimentalFeatures.h b/libsolidity/ast/ExperimentalFeatures.h
index 04b26300..0c03ea4a 100644
--- a/libsolidity/ast/ExperimentalFeatures.h
+++ b/libsolidity/ast/ExperimentalFeatures.h
@@ -29,15 +29,19 @@ namespace solidity
enum class ExperimentalFeature
{
+ ABIEncoderV2, // new ABI encoder that makes use of JULIA
Test,
TestOnlyAnalysis
};
-static const std::map<ExperimentalFeature, bool> ExperimentalFeatureOnlyAnalysis = {
+static const std::map<ExperimentalFeature, bool> ExperimentalFeatureOnlyAnalysis =
+{
{ ExperimentalFeature::TestOnlyAnalysis, true },
};
-static const std::map<std::string, ExperimentalFeature> ExperimentalFeatureNames = {
+static const std::map<std::string, ExperimentalFeature> ExperimentalFeatureNames =
+{
+ { "ABIEncoderV2", ExperimentalFeature::ABIEncoderV2 },
{ "__test", ExperimentalFeature::Test },
{ "__testOnlyAnalysis", ExperimentalFeature::TestOnlyAnalysis },
};
diff --git a/libsolidity/ast/Types.cpp b/libsolidity/ast/Types.cpp
index 6c2e55f6..302f1022 100644
--- a/libsolidity/ast/Types.cpp
+++ b/libsolidity/ast/Types.cpp
@@ -1529,8 +1529,6 @@ TypePointer ArrayType::interfaceType(bool _inLibrary) const
TypePointer baseExt = m_baseType->interfaceType(_inLibrary);
if (!baseExt)
return TypePointer();
- if (m_baseType->category() == Category::Array && m_baseType->isDynamicallySized())
- return TypePointer();
if (isDynamicallySized())
return make_shared<ArrayType>(DataLocation::Memory, baseExt);