diff options
author | Christian <c@ethdev.com> | 2015-01-23 09:35:27 +0800 |
---|---|---|
committer | Christian <c@ethdev.com> | 2015-01-26 17:23:39 +0800 |
commit | 7ded95c776717cf96e96dffb7425c86b47ad8b0e (patch) | |
tree | 35ef6d03bd36236ab72f9d9bf3cae6acd4c02b51 /AST.cpp | |
parent | 941c77c8fadd6195809cd2d572feb64478c4fb20 (diff) | |
download | dexon-solidity-7ded95c776717cf96e96dffb7425c86b47ad8b0e.tar.gz dexon-solidity-7ded95c776717cf96e96dffb7425c86b47ad8b0e.tar.zst dexon-solidity-7ded95c776717cf96e96dffb7425c86b47ad8b0e.zip |
Compilation of function modifiers.
Diffstat (limited to 'AST.cpp')
-rw-r--r-- | AST.cpp | 5 |
1 files changed, 3 insertions, 2 deletions
@@ -224,7 +224,7 @@ string FunctionDefinition::getCanonicalSignature() const Declaration::LValueType VariableDeclaration::getLValueType() const { - if (dynamic_cast<FunctionDefinition const*>(getScope())) + if (dynamic_cast<FunctionDefinition const*>(getScope()) || dynamic_cast<ModifierDefinition const*>(getScope())) return Declaration::LValueType::LOCAL; else return Declaration::LValueType::STORAGE; @@ -291,7 +291,8 @@ void Return::checkTypeRequirements() { if (!m_expression) return; - solAssert(m_returnParameters, "Return parameters not assigned."); + if (!m_returnParameters) + BOOST_THROW_EXCEPTION(createTypeError("Return arguments not allowed.")); if (m_returnParameters->getParameters().size() != 1) BOOST_THROW_EXCEPTION(createTypeError("Different number of arguments in return statement " "than in returns declaration.")); |