aboutsummaryrefslogtreecommitdiffstats
path: root/libsolidity/analysis/ContractLevelChecker.h
diff options
context:
space:
mode:
authorchriseth <chris@ethereum.org>2018-11-30 00:39:57 +0800
committerchriseth <chris@ethereum.org>2018-11-30 23:30:19 +0800
commitd054a3b85d70508611c4f8a1e093610ab95cfa37 (patch)
treeb9571a1f320d098b476fe1a6ba63fdb93c2a8d37 /libsolidity/analysis/ContractLevelChecker.h
parent0bd9db480f54d846abbdb4218e000f08ead4fbd5 (diff)
downloaddexon-solidity-d054a3b85d70508611c4f8a1e093610ab95cfa37.tar
dexon-solidity-d054a3b85d70508611c4f8a1e093610ab95cfa37.tar.gz
dexon-solidity-d054a3b85d70508611c4f8a1e093610ab95cfa37.tar.bz2
dexon-solidity-d054a3b85d70508611c4f8a1e093610ab95cfa37.tar.lz
dexon-solidity-d054a3b85d70508611c4f8a1e093610ab95cfa37.tar.xz
dexon-solidity-d054a3b85d70508611c4f8a1e093610ab95cfa37.tar.zst
dexon-solidity-d054a3b85d70508611c4f8a1e093610ab95cfa37.zip
Move duplication checks.
Diffstat (limited to 'libsolidity/analysis/ContractLevelChecker.h')
-rw-r--r--libsolidity/analysis/ContractLevelChecker.h7
1 files changed, 7 insertions, 0 deletions
diff --git a/libsolidity/analysis/ContractLevelChecker.h b/libsolidity/analysis/ContractLevelChecker.h
index f89cf504..b1632b78 100644
--- a/libsolidity/analysis/ContractLevelChecker.h
+++ b/libsolidity/analysis/ContractLevelChecker.h
@@ -52,6 +52,13 @@ public:
bool check(ContractDefinition const& _contract);
private:
+ /// Checks that two functions defined in this contract with the same name have different
+ /// arguments and that there is at most one constructor.
+ void checkContractDuplicateFunctions(ContractDefinition const& _contract);
+ void checkContractDuplicateEvents(ContractDefinition const& _contract);
+ template <class T>
+ void findDuplicateDefinitions(std::map<std::string, std::vector<T>> const& _definitions, std::string _message);
+
langutil::ErrorReporter& m_errorReporter;
};