Commit Graph

833 Commits

Author SHA1 Message Date
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
Daniel Kirchner
8b35918ad0 Replace superFunction by baseFunctions in AST annotations and JSON AST. 2019-12-05 03:33:32 +01:00
Erik Kundt
19d466d6fb Fixes named return natspec errors in compilation tests. 2019-12-04 15:38:12 +01:00
Erik Kundt
e5cb0fe839 Reports doctring error on named return mismatch. 2019-12-04 15:38:11 +01:00
Christian Parpart
7bbdfe070f Make shadowing of inherited state variables an error. 2019-12-03 21:20:03 +01:00
Daniel Kirchner
05baa23e8a Require unimplemented functions to be virtual. 2019-12-02 21:59:00 +01:00
chriseth
1ebcc757e1 Merge remote-tracking branch 'origin/develop' into develop_060 2019-11-27 19:14:08 +01:00
Mathias Baumann
7bc6645218 Disallow use of virtual and private together 2019-11-27 18:52:41 +01:00
chriseth
0bb88dabb7 Restrict usage of plain "new". 2019-11-27 17:55:11 +01:00
chriseth
0973ae751a Do not warn about enabled ABIEncoderV2 anymore. 2019-11-26 15:49:42 +01:00
chriseth
d5e9271592
Merge pull request #7350 from ethereum/array-length-rvalue
Make `length` member read-only
2019-11-21 19:22:42 +01:00
Leonardo Alt
389da5228e Merge remote-tracking branch 'origin/develop' into merge_develop_060 2019-11-20 12:27:40 +01:00
Leonardo Alt
be849b3c47 Replace boost::variant by std::variant in libyul 2019-11-19 17:23:18 +01:00
Erik Kundt
ecaed1030f Makes array length access read-only. 2019-11-19 16:09:21 +01:00
chriseth
6797879128
Merge pull request #7647 from ethereum/virtual-5424
Implement virtual keyword
2019-11-19 13:21:27 +01:00
chriseth
216e1749f4 Merge remote-tracking branch 'origin/develop' into develop_060 2019-11-14 13:42:46 +01:00
chriseth
766309b6e4
Merge pull request #7713 from ethereum/no-lib-instance-7625
Disallow variables of library types
2019-11-14 13:39:56 +01:00
Mathias Baumann
0891b9451b Disallow variables of library types 2019-11-14 13:20:31 +01:00
chriseth
a667384517
Merge pull request #7712 from ethereum/fixIstanbulAsmParsing
Fix assembly parsing by passing evm version.
2019-11-14 13:20:15 +01:00
chriseth
b099374d8c Fix assembly parsing by passing evm version. 2019-11-14 13:06:36 +01:00
Mathias Baumann
5b8ff78176 Implement virtual keyword 2019-11-14 11:49:39 +01:00
chriseth
06588cde76 Reconstruct function definition for magic variables in overload error message. 2019-11-14 10:13:22 +01:00
Mathias Baumann
15df2b30d7 List candidates when overload failed
fixes #7146
2019-11-13 15:54:36 +01:00
Daniel Kirchner
8148619d5b Merge branch 'develop' into develop_060 2019-11-12 10:32:41 +01:00
Mathias Baumann
e35a23bbcc Add `switch (..) to style checker 2019-11-11 17:44:21 +01:00
Mathias Baumann
e643c4ca28 Add `while (..) to style checker 2019-11-11 17:28:41 +01:00
Christian Parpart
f15d47f165 Yul: Remove obsoleted FunctionalInstruction. 2019-11-11 16:04:39 +01:00
Alexander Arlt
ce0cef7cbc Output which functions are not implemented 2019-11-08 14:06:57 -05:00
Daniel Kirchner
0556f64722 Analyze inline assembly variable declarations for invalid or shadowing names. 2019-11-07 13:04:37 +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
chriseth
5392532d70 Fix override error message. 2019-11-04 13:37:23 +01:00
Alexander Arlt
f3f652e290 Update TypeChecker.cpp 2019-11-01 14:54:47 -05:00
Alexander Arlt
c908c16acd Remove InternalCompilerError on abstract contract instantiation. 2019-11-01 14:54:47 -05:00
Alexander Arlt
62950a9234 Support for abstract contracts. 2019-11-01 14:54:47 -05:00
Mathias Baumann
6c6a9054b2 Implement override checking 2019-10-30 17:31:33 +01:00
Mathias Baumann
5ff02c12e2 Add reference to contract in FunctionDefinition annotation 2019-10-30 17:31:33 +01:00
Mathias Baumann
20e227afb5 Ensure list of overrides consists of contracts 2019-10-30 17:31:33 +01:00
Mathias Baumann
f4c40080c4 Move if-condition to function for re-use 2019-10-30 17:31:33 +01:00
chriseth
ceb8ee9124 [Yul] leave statement. 2019-10-29 14:32:16 +01:00
chriseth
edf1e83fda Merge remote-tracking branch 'origin/develop' into develop_060 2019-10-28 15:21:49 +01:00
chriseth
607bf24afe
Merge pull request #7386 from ethereum/060-strict-inline-assembly
Defaulting to strict inline assembly (instead of loose)
2019-10-28 12:48:58 +01:00
chriseth
9719f099aa
Merge pull request #7551 from ethereum/060-cxx17-std-optional
Use `std::optional<>` rather than `boost::optional<>`
2019-10-28 12:17:31 +01:00
chriseth
07c67b98f6 Merge remote-tracking branch 'origin/develop' into HEAD 2019-10-28 12:12:52 +01:00
Christian Parpart
df729b3084 Make use of C++17 std::optional<> instead of boost::optional<>. 2019-10-28 11:39:30 +01:00
Henry Lee
24cbb4dd17 Treat magic variables as unknown identifiers in inline assembly
This fixes #4575. For keywords such as 'super' and 'this', will be
treated as unknown identifiers.
2019-10-28 14:59:50 +11:00
Christian Parpart
3c1d12b16c Assembly: Remove errorTypeForLoose property from AsmAnalyzer. 2019-10-25 15:01:26 +02:00
Christian Parpart
dc2adb3d9d Assembly: Removing EVMDialect::looseAssemblyForEVM(). 2019-10-25 15:01:26 +02:00
Christian Parpart
e23998fc6e Assembly: Remove Label instruction. 2019-10-25 15:01:25 +02:00