Commit Graph

998 Commits

Author SHA1 Message Date
chriseth
c5923f7fcf Prevent calls to unimplemented modifiers. 2021-06-22 17:08:28 +02:00
Kamil Śliwak
98e83303b1 Remove assertions preventing calldata->calldata conversion when cleanup is needed 2021-06-22 16:10:16 +02:00
chriseth
5b4a2f66e1 Directly restart processing calling functions. 2021-06-14 13:54:05 +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
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
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
Kamil Śliwak
67e87147b4 Extra asserts, test renaming, test for super in modifiers 2021-06-02 16:15:51 +02:00
Mathias Baumann
56ebea8b2f ControlFlowAnalyser: Also consider called functions in a flow 2021-06-01 15:54:37 +02:00
chriseth
3dfa68a574
Merge pull request #11456 from ethereum/ice-abstract-contract-mapping-constructor
Fix ICE related to mapping types in abstract contract constructor
2021-05-31 15:35:26 +02:00
hrkrshnn
138873d918 Fix ICE related to mapping types in abstract contract constructor 2021-05-31 14:56:49 +02:00
hrkrshnn
f582d48f7b Error message: try-catch parameter cannot be in storage. 2021-05-31 11:25:08 +02:00
chriseth
e2d8005737 Add verbatim builtin. 2021-04-26 19:56:44 +02:00
Djordje Mijovic
ece42c07df Adding syntax test for bytes to bytesNN conversion. 2021-04-23 13:19:19 +02:00
Alex Beregszaszi
1be07c2b36 Trivial isoltest updates: missing // ---- at the end 2021-04-20 17:38:29 +02:00
Alex Beregszaszi
84c05d35f3 Trivial isoltest updates: normalized whitespace 2021-04-20 17:38:29 +02:00
Mathias Baumann
1737bd7ded Natspec: Don't copy from base function if return parameters differ 2021-04-19 15:20:30 +02:00
chriseth
11b227e33e
Merge pull request #11205 from ethereum/fix-docstring-bug
Fix docstring bug
2021-04-14 13:18:33 +02:00
chriseth
4912bfe639
Merge pull request #11229 from ethereum/antlrPath
Fix import paths in grammar and grammar testing details.
2021-04-12 16:30:41 +02:00
Daniel Kirchner
6fdfd8b62b Fix import path grammar and grammar testing details. 2021-04-12 14:54:36 +02:00
hrkrshnn
382c488edd Fix missing error when events are used without an emit statement.
Whenever there was a proper invocation of events, the compiler assumed that all the subsequent
invocations were proper.
2021-04-12 10:23:05 +02:00
hrkrshnn
e96a161115 Tests and changelog 2021-04-08 17:06:24 +02:00
chriseth
f04adde664 Allow hex string literals in Yul. 2021-04-08 15:03:33 +02:00
chriseth
47728a083f Add some bytecode reference tests. 2021-04-06 16:25:02 +02:00
Mathias Baumann
e590a99f39 Detect circular references for library and free functions 2021-03-30 23:06:30 +02:00
chriseth
e877e2bba7 Use all referenced errors. 2021-03-30 21:15:46 +02:00
chriseth
1057fd5355 Take revert statement into account in control flow graph. 2021-03-30 21:15:46 +02:00
chriseth
fb67051467 Revert statement. 2021-03-30 21:15:46 +02:00
chriseth
b04b189959 Syntax for custom errors. 2021-03-30 21:15:18 +02:00
Alex Beregszaszi
e071884bbf Show proper error for misusing the custom natspec tag 2021-03-25 12:45:37 +00:00
Alex Beregszaszi
7a7ff7af2f Add one more test for invalid custom tag 2021-03-25 12:24:18 +00:00
Djordje Mijovic
e7da9f3d52 Adding syntax tests for bytes.concat. 2021-03-24 11:49:21 +01:00
chriseth
d2023f5f95 Check for invalid tags. 2021-03-02 16:53:31 +01:00