Commit Graph
6100 Commits
Author SHA1 Message Date
Bhargava Shastry 248cef01e7 Introduce typed expressions. 2021-06-09 18:38:39 +02:00
Bhargava Shastry 23e76926ea Introduce contract inheritance 2021-06-09 18:38:34 +02:00
Bhargava Shastry d56dfcf750 Introduce assignment operations. 2021-06-09 18:38:30 +02:00
Bhargava Shastry 7394c60dd5 Destroy state properly 2021-06-09 18:38:25 +02:00
Bhargava Shastry 1d6d8e68f8 Do not apply mutation if it is too large. 2021-06-09 18:38:25 +02:00
Bhargava Shastry a0197138d9 Fix bug in call statement generator 2021-06-09 18:38:25 +02:00
Bhargava Shastry 954bcf95ea Add scoped variables 2021-06-09 18:38:25 +02:00
Bhargava Shastry 895e48a823 Introduce function call statements. 2021-06-09 18:38:25 +02:00
Bhargava Shastry fd211d2631 Do not generate nested unchecked blocks; add typed literals. 2021-06-09 18:38:20 +02:00
Bhargava Shastry 52f227e40a Introduce unchecked basic blocks. 2021-06-09 18:38:20 +02:00
Bhargava Shastry 1c43ecf9c8 Implement block nesting depth properly 2021-06-09 18:38:20 +02:00
Bhargava Shastry 638ab0bb68 Add assignment statement 2021-06-09 18:38:20 +02:00
Bhargava Shastry 3d6c5e8335 Add assignment statement. 2021-06-09 18:38:20 +02:00
Bhargava Shastry 986f65c219 Remove deprecated SMTChecker pragma. 2021-06-09 18:38:15 +02:00
Bhargava Shastry ca209c2f09 Add block statement 2021-06-09 18:38:10 +02:00
Bhargava Shastry b79ddb34c7 Fix bug in function output params 2021-06-09 18:38:05 +02:00
Bhargava Shastry 9d5c208493 Add function output params 2021-06-09 18:38:05 +02:00
Bhargava Shastry 4f6678b134 Make contract function types external 2021-06-09 18:38:05 +02:00
Bhargava Shastry 0f31604a1e Add function I/O params. 2021-06-09 18:38:05 +02:00
Bhargava Shastry 093b619722 Add types. 2021-06-09 18:38:00 +02:00
Bhargava Shastry 99adff305c Resolve imported symbols 2021-06-09 18:37:55 +02:00
Bhargava Shastry bc53705e06 Add exports 2021-06-09 18:37:55 +02:00
Bhargava Shastry e4aa3bab39 Add function 2021-06-09 18:37:51 +02:00
Bhargava Shastry 18b0c021bc Contract changes 2021-06-09 18:37:46 +02:00
Bhargava Shastry 25ef4e0e8e Add contract 2021-06-09 18:37:46 +02:00
Bhargava Shastry fa9328cb0e Solidity fuzzer: Add simple import statements and test/source state. 2021-06-09 18:37:42 +02:00
Daniel Kirchner 284e8a103f Remove potentially non-deterministic test case. 2021-06-09 14:42:16 +02:00
chriseth e5500b9f20 Merge pull request #11471 from ethereum/funcdef-unimplemented-modifier
Reports an error on unimplemented modifiers in a function definition.
2021-06-09 13:54:05 +02:00
Christian Parpart a14ac1923d Fixes ICE when overriding an implemented modifier with an unimplemented one. 2021-06-09 13:15:20 +02:00
Kamil Śliwak 362fc6650d Extra tests for shadowing within function parameter lists 2021-06-09 12:37:12 +02:00
a3d4 f59145f21f Fix shadowing struct types by struct member names 2021-06-09 12:37:11 +02:00
a3d4 70b8b1c834 Do not warn about shadowing parameters in functions without implementation 2021-06-09 12:35:26 +02:00
Mathias Baumann 001a25db95 Fix crash in ControlFlowGraph related to free functions. 2021-06-09 11:10:33 +02:00
chriseth 3eaa37030a Fix infinite recursion in function call graph generator due to recursive constant references. 2021-06-08 16:39:30 +02:00
Mathias Baumann 354f9d1015 Fix: Allow multiple @return tags on public state variables 2021-06-07 15:16:46 +02:00
Mathias Baumann aae9d347aa Split DocStringParsing in two stages
one requiring type info in the next step
2021-06-07 14:49:46 +02:00
chriseth 1f8f1a3db9 Merge pull request #11484 from ethereum/fix-unreachable-code-anaysis
Fix revert pruner modifying function flows wrong
2021-06-04 12:44:35 +02:00
chriseth 8da5d6a854 Update test expectations. 2021-06-04 12:04:04 +02:00
chriseth a8ffa6c08d Merge pull request #11482 from ethereum/fixUnreachable2
Fix control-flow handling of modifiers without body.
2021-06-03 16:56:05 +02:00
chriseth 2e3ee4c156 Fix control-flow handling of modifiers without body. 2021-06-03 13:31:15 +02:00
hrkrshnn c3eef8af91 Fix ICE related to receive function having parameters. 2021-06-03 13:08:57 +02:00
chriseth a30cf6c3e8 Merge pull request #11480 from ethereum/event-mapping-fatal-error
Errors about nested mapping in event parameter are fatal.
2021-06-03 11:39:26 +02:00
hrkrshnn 2309ae3edd Added tests for internal or recursive types as event / error param
After converting the error about mapping parameter in event / error into a fatal type error, we were
missing tests that reached the "internal or recursive types" error.
2021-06-03 11:02:27 +02:00
hrkrshnn cc915f023e Errors about nested mapping in event parameter are fatal.
(Also applies for error parameters.)
2021-06-03 11:02:27 +02:00
chriseth c55d173a28 Merge pull request #11479 from ethereum/fix-ice-when-assigning-implicitly-convertible-function-array-to-storage
Fix ICE when assigning implicitly convertible function array to storage
2021-06-03 10:52:21 +02:00
chriseth b00027724a Merge pull request #11478 from ethereum/fix-ice-when-calling-invalid-external-function-type
Treat invalid external function type as a fatal error
2021-06-03 09:00:38 +02:00
chriseth 93936129f1 Merge pull request #11476 from ethereum/fix-ice-on-library-bound-to-literal
Fix ICE in IR when a library is bound to a literal
2021-06-03 08:58:00 +02:00
Kamil Śliwak ccf658b0e8 Fix assertion preventing assignment of arrays of implicitly convertible function types 2021-06-03 08:56:02 +02:00
Kamil Śliwak 4a19c7e495 Treat invalid external function type as a fatal error to prevent the type from being used
- `returnParameterTypesWithoutDynamicTypes()` assumes it won't encounter such types.
2021-06-02 21:44:39 +02:00
Kamil Śliwak d96cc3469a FunctionDefinition.resolveVirtual(): Skip unimplemented functions when lookup happens via super 2021-06-02 16:16:15 +02:00