diff options
author | Lefteris Karapetsas <lefteris@refu.co> | 2015-03-30 21:14:59 +0800 |
---|---|---|
committer | Lefteris Karapetsas <lefteris@refu.co> | 2015-03-30 21:14:59 +0800 |
commit | 819d9fd5a665d33f5c3b08ddf50eca3426c28e01 (patch) | |
tree | 0d01bb613d4a7af01050bd9e27785736d67a42d3 | |
parent | f728a336b1af6ae25b5cb5282119bef8f55c08b6 (diff) | |
download | dexon-solidity-819d9fd5a665d33f5c3b08ddf50eca3426c28e01.tar dexon-solidity-819d9fd5a665d33f5c3b08ddf50eca3426c28e01.tar.gz dexon-solidity-819d9fd5a665d33f5c3b08ddf50eca3426c28e01.tar.bz2 dexon-solidity-819d9fd5a665d33f5c3b08ddf50eca3426c28e01.tar.lz dexon-solidity-819d9fd5a665d33f5c3b08ddf50eca3426c28e01.tar.xz dexon-solidity-819d9fd5a665d33f5c3b08ddf50eca3426c28e01.tar.zst dexon-solidity-819d9fd5a665d33f5c3b08ddf50eca3426c28e01.zip |
Detect if non-existant parameter is documented with natspec
-rw-r--r-- | InterfaceHandler.cpp | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/InterfaceHandler.cpp b/InterfaceHandler.cpp index 2f35a96f..aacbbfd7 100644 --- a/InterfaceHandler.cpp +++ b/InterfaceHandler.cpp @@ -175,8 +175,17 @@ std::unique_ptr<std::string> InterfaceHandler::getDevDocumentation(ContractDefin method["author"] = m_author; Json::Value params(Json::objectValue); + std::vector<std::string> paramNames = it.second->getParameterNames(); for (auto const& pair: m_params) + { + if (find(paramNames.begin(), paramNames.end(), pair.first) == paramNames.end()) + // LTODO: mismatching parameter name, throw some form of warning and not just an exception + BOOST_THROW_EXCEPTION( + DocstringParsingError() << + errinfo_comment("documented parameter \"" + pair.first + "\" not found found in the function") + ); params[pair.first] = pair.second; + } if (!m_params.empty()) method["params"] = params; |