29 Commits
Author SHA1 Message Date
Bhargava Shastryandchriseth e2a2276272 Contract level checker: Disallow free function redefinition and alias
shadowing another free function

Co-authored-by: chriseth <chris@ethereum.org>
2020-09-25 17:09:58 +02:00
Sachin Grover b7adb2aa42 Add SPDX license identifier if not present already in source file
Fixes: #9220
2020-07-17 20:24:12 +05:30
chriseth f28bede34a Refactor storageSizeUpperBound. 2020-07-14 10:45:02 +02:00
a3d4 02eee54f38 Add error IDs to ContractLevelChecker 2020-05-12 11:42:29 +02:00
hrkrshnn e2e32d372f virtual modifiers (in Abstract contracts) allow empty bodies 2020-04-23 17:26:59 +05:30
Christian Parpart 6b23412fae C++ namespace cleanup (except tests). 2020-01-07 15:51:50 +01:00
chriseth 93d84f3554 Split out override checker into its own file. 2019-12-10 16:00:05 +01:00
chriseth 152f42c6b2 Make ambigous override checker generic. 2019-12-09 18:41:39 +01:00
chriseth e1d6ce2b66 Override checks for modifiers. 2019-12-09 18:41:39 +01:00
Daniel Kirchner 4c7f9f9751 Do not require overriding for functions in common base with unique implementation. 2019-12-09 16:04:45 +01:00
Mathias Baumann b7d5de59c5 Implement overridding of functions by public variables 2019-12-05 12:48:52 +00:00
Daniel Kirchner 426f04b389 Implement and fix overriding unimplemented and implemented functions with unimplemented functions. 2019-12-05 09:26:43 +01:00
Mathias Baumann 5b8ff78176 Implement virtual keyword 2019-11-14 11:49:39 +01:00
chriseth 5388c919f0 Some changes to "abstract". 2019-11-05 13:55:31 +01:00
Daniel Kirchner 3321fc56ea Split fallback function and introduce "fallback()" and "receive()" syntax. 2019-11-04 17:17:58 +01:00
Mathias Baumann 6c6a9054b2 Implement override checking 2019-10-30 17:31:33 +01:00
Mathias Baumann 9919670ddd Check base contracts for abi encoder compatibility 2019-03-06 11:16:54 +01:00
Leonardo Alt 36d8a98664 Sort includes in libsolidity/analysis 2018-12-17 12:35:16 +01:00
chriseth 33d6a24c47 Move library related checks. 2018-11-30 16:30:20 +01:00
chriseth 4f992298c6 Move hash collisions checks. 2018-11-30 16:30:19 +01:00
chriseth 6d1644e55c Move external type clash check. 2018-11-30 16:30:19 +01:00
chriseth 4f4f623273 Move fallback function checks. 2018-11-30 16:30:19 +01:00
chriseth 2a85152463 Move constructor checks. 2018-11-30 16:30:19 +01:00
chriseth b610be4882 Rename functions. 2018-11-30 16:30:19 +01:00
chriseth 2c2c976697 Move base constructor argument checks. 2018-11-30 16:30:19 +01:00
chriseth 57a62429c9 Move abstract function check. 2018-11-30 16:30:19 +01:00
chriseth 89cf6a5a38 Move override checks. 2018-11-30 16:30:19 +01:00
chriseth d054a3b85d Move duplication checks. 2018-11-30 16:30:19 +01:00
chriseth 0bd9db480f Add skeleton for contract level checker. 2018-11-30 16:30:19 +01:00