From 7886c24d4003beb155b6dba119b92d2df7ec0140 Mon Sep 17 00:00:00 2001 From: chriseth Date: Thu, 31 Aug 2017 16:03:50 +0200 Subject: Modifier invocation can be base constructor call --- libsolidity/analysis/ViewPureChecker.cpp | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) (limited to 'libsolidity/analysis') diff --git a/libsolidity/analysis/ViewPureChecker.cpp b/libsolidity/analysis/ViewPureChecker.cpp index 60b07297..55f391b7 100644 --- a/libsolidity/analysis/ViewPureChecker.cpp +++ b/libsolidity/analysis/ViewPureChecker.cpp @@ -302,10 +302,12 @@ void ViewPureChecker::endVisit(IndexAccess const& _indexAccess) void ViewPureChecker::endVisit(ModifierInvocation const& _modifier) { solAssert(_modifier.name(), ""); - ModifierDefinition const* mod = dynamic_cast(_modifier.name()->annotation().referencedDeclaration); - solAssert(mod, ""); - solAssert(m_inferredMutability.count(mod), ""); - - reportMutability(m_inferredMutability.at(mod), _modifier.location()); + if (ModifierDefinition const* mod = dynamic_cast(_modifier.name()->annotation().referencedDeclaration)) + { + solAssert(m_inferredMutability.count(mod), ""); + reportMutability(m_inferredMutability.at(mod), _modifier.location()); + } + else + solAssert(dynamic_cast(_modifier.name()->annotation().referencedDeclaration), ""); } -- cgit