aboutsummaryrefslogtreecommitdiffstats
path: root/libsolidity/ast
diff options
context:
space:
mode:
authorchriseth <chris@ethereum.org>2017-02-24 17:39:55 +0800
committerGitHub <noreply@github.com>2017-02-24 17:39:55 +0800
commit92bf5154fdcf0dfee40bfb5795729a4a9fa71dd6 (patch)
tree4f5d35f34c7598e0640576376d9e4544378ed0f8 /libsolidity/ast
parentdcc16c81e26f31141ae766096873b5fd7741cdf5 (diff)
parentbec3c6fab6bf02aea5664be4423f45e98db22e8e (diff)
downloaddexon-solidity-92bf5154fdcf0dfee40bfb5795729a4a9fa71dd6.tar.gz
dexon-solidity-92bf5154fdcf0dfee40bfb5795729a4a9fa71dd6.tar.zst
dexon-solidity-92bf5154fdcf0dfee40bfb5795729a4a9fa71dd6.zip
Merge branch 'develop' into fixNoMobile
Diffstat (limited to 'libsolidity/ast')
-rw-r--r--libsolidity/ast/Types.cpp4
1 files changed, 4 insertions, 0 deletions
diff --git a/libsolidity/ast/Types.cpp b/libsolidity/ast/Types.cpp
index 75dee6db..ff42cda9 100644
--- a/libsolidity/ast/Types.cpp
+++ b/libsolidity/ast/Types.cpp
@@ -1652,6 +1652,7 @@ MemberList::MemberMap StructType::nativeMembers(ContractDefinition const*) const
for (ASTPointer<VariableDeclaration> const& variable: m_struct.members())
{
TypePointer type = variable->annotation().type;
+ solAssert(type, "");
// Skip all mapping members if we are not in storage.
if (location() != DataLocation::Storage && !type->canLiveOutsideStorage())
continue;
@@ -1967,6 +1968,8 @@ FunctionType::FunctionType(VariableDeclaration const& _varDecl):
if (auto structType = dynamic_cast<StructType const*>(returnType.get()))
{
for (auto const& member: structType->members(nullptr))
+ {
+ solAssert(member.type, "");
if (member.type->category() != Category::Mapping)
{
if (auto arrayType = dynamic_cast<ArrayType const*>(member.type.get()))
@@ -1975,6 +1978,7 @@ FunctionType::FunctionType(VariableDeclaration const& _varDecl):
retParams.push_back(member.type);
retParamNames.push_back(member.name);
}
+ }
}
else
{