Commit Graph
4528 Commits
Author SHA1 Message Date
Kamil Śliwak a75ebc5e15 FunctionCallGraph: operator<< for printing nodes in an unambiguous way 2021-02-11 19:44:39 +01:00
Kamil Śliwak bd57019821 FunctionCallGraph: Detect events 2021-02-11 19:44:39 +01:00
Kamil Śliwak 3150066eef [FIXUP] Add edges to dispatch only for function that call other functions, not ones that just access them 2021-02-11 19:44:39 +01:00
Kamil Śliwak bdd35badb8 [FIXUP] Minor refactor 2021-02-11 19:44:39 +01:00
Kamil Śliwak 467a8b318b [FIXUP] Remove special case for missing m_currentNode in processCall() and use processCall() instead of visitCallable() 2021-02-11 19:44:39 +01:00
Kamil Śliwak 11bda6f0e7 [FIXUP] Don't add public getters to the graph 2021-02-11 19:44:39 +01:00
Kamil Śliwak 7411742dad [FIXUP] Don't skip edges to functions that have already been visited 2021-02-11 19:44:39 +01:00
Kamil Śliwak 20933f5f13 [FIXUP] Modifier invocations should always be treated as direct calls 2021-02-11 19:44:39 +01:00
Kamil Śliwak 0cf76ea3cd [FIXUP] Reset m_currentNode at the end of the constructor 2021-02-11 19:44:39 +01:00
Kamil Śliwak 85719c9858 [FIXUP] Use ranges-v3 2021-02-11 19:44:39 +01:00
Kamil Śliwak f7f6b876d5 [FIXUP] Fix line wrapping in FunctionCallGraph docstring 2021-02-11 19:44:39 +01:00
Kamil Śliwak 40aa96fc9c [FIXUP] Fix comment: RuntimeDispatch -> InternalDispatch 2021-02-11 19:44:39 +01:00
Kamil Śliwak 809f9d9496 [FIXUP] Remove std:: prefix where it's not necessary 2021-02-11 19:44:39 +01:00
Mathias Baumann 23ca9c4324 fixup! Impleme 2021-02-11 19:13:01 +01:00
Mathias Baumann 3838a3a29f fixup! Imp 2021-02-11 19:13:01 +01:00
Mathias Baumann 1bfc766139 Adjustments after rebase 2021-02-11 19:13:01 +01:00
Mathias Baumann d6ab70c27d fixup! Implement 2021-02-11 19:13:00 +01:00
Kamil Śliwak 1452076ee2 fixup! Implement a Function Call Graph 2021-02-11 19:13:00 +01:00
Mathias Baumann c977c0cfd0 Implement a Function Call Graph 2021-02-11 16:53:01 +01:00
Kamil Śliwak ef147a36b3 CompilerStack: Typo in a comment 2021-02-11 16:53:01 +01:00
Kamil Śliwak 34805caad4 CompilerStack: Fix style on local variable name 2021-02-11 16:53:01 +01:00
Kamil Śliwak 65d749b8d2 FunctionType: Add assertions against missing type annotations
- This should make it easier to realize that one of the analysis phases has not been executed.
2021-02-11 16:53:01 +01:00
chriseth 1716dcfb57 Merge pull request #10950 from ethereum/removeChecks
[SolYul] Remove (hopefully) unnecessary checks.
2021-02-11 14:10:05 +01:00
chriseth 45dc705683 Remove unnecessary checks. 2021-02-11 13:08:03 +01:00
Christian Parpart 9ca389d6cd MemberList.Member's last argument (declaration) made mandatory to avoid accidental missing out during construction. 2021-02-11 10:46:14 +01:00
Christian Parpart b0d3412fa9 Fixes missing EnumValue declaration in nativeMembers. 2021-02-11 10:46:14 +01:00
chriseth cbb197f7fa Merge pull request #10833 from ethereum/ast-precise-name-locations
Extend the Solidity AST for precise locations of names
2021-02-11 10:44:58 +01:00
Harikrishnan Mulackal 215233d5c8 Merge pull request #10945 from ethereum/constructor-modifier-bugfix
Fix IR bug about calling the wrong modifier during construction
2021-02-10 21:42:45 +01:00
hrkrshnn 2f30fdaa21 Fix IR bug about calling the wrong modifier during construction 2021-02-10 20:53:11 +01:00
Christian Parpart 32ba5f5ae7 libsolidity: Extend the AST for named AST nodes in order to get precise locations for names.
The actual SourceLocation on an ASTNode is representing the whole
ASTNode whereas in an LSP (for example) you are also interested in the
SourceLocation of a name of a construct (e.g. variable decarlation, function definition, ...).

This also properly encodes non-existend sources as `-1` in the JSON output (eliminating the use of `numeric_limits<size_t>::max()`).
2021-02-10 18:13:09 +01:00
chriseth a72ab1c9c1 Replace "runtime" by "deployed" naming. 2021-02-10 00:56:16 +01:00
chriseth 9b20c9840a Merge pull request #10885 from ethereum/heuristic-revamp
Yul Backend: Get rid of heuristics for finding the matching runtime
2021-02-10 00:49:56 +01:00
chriseth 9a621e91e3 Merge pull request #10761 from ethereum/oldOptimizerInlining
Simple inlining for old optimizer.
2021-02-09 19:35:12 +01:00
Đorđe Mijović 30857493ef Merge pull request #10927 from ethereum/fixedPointAssertionSol2Yul 2021-02-09 19:14:09 +01:00
Daniel Kirchner cb74a45fd6 Add inlining for old optimizer. 2021-02-09 19:08:58 +01:00
chriseth e777cad78a Merge pull request #10924 from ethereum/exportDocs
Export statement documentation.
2021-02-09 18:23:45 +01:00
Djordje Mijovic 9438706daf [Sol->Yul] Adding assertion for shift amount not being of FixedPointType. 2021-02-09 17:58:49 +01:00
chriseth fcdb5e0b40 Export statement documentation. 2021-02-09 17:33:01 +01:00
Djordje Mijovic 993c8c0734 [Sol->Yul] Adding unimplemented assert for fixed point types on right shift. 2021-02-09 16:17:56 +01:00
Mathias Baumann e4f1257c83 Yul Backend: Get rid of heuristics for finding the matching runtime 2021-02-09 14:50:25 +01:00
Đorđe Mijović 4fd5643970 Merge pull request #10912 from ethereum/calldataLValueSol2Yul
[Sol->Yul] Check lvalue kind is stack in case of calldata.
2021-02-08 14:19:24 +01:00
Djordje Mijovic e53feaedc4 [Sol->Yul] Check lvalue kind is stack in case of calldata. 2021-02-08 13:27:51 +01:00
chriseth 8a876c8f79 Merge pull request #10911 from ethereum/fixedPointAssertionSol2Yul
[Sol->Yul] Adding unimplemented assert for fixed point type shifting.
2021-02-08 13:20:57 +01:00
Djordje Mijovic 97e9829988 [Sol->Yul] Adding unimplemented assert for fixed point type shifting. 2021-02-08 13:13:19 +01:00
Djordje Mijovic 706f5d9874 [Sol2Yul] Fixing setLValue for calldata types. 2021-02-08 12:42:10 +01:00
chriseth d4ce896582 Merge pull request #10886 from ethereum/issue-10874
OverrideSpecifier: Check for null before dereferencing
2021-02-04 14:12:07 +01:00
Mathias Baumann 3a8a74cbc7 OverrideSpecifier: Check for null before dereferencing 2021-02-04 13:17:28 +01:00
Daniel Kirchner 5faefdea65 Merge pull request #10893 from ethereum/string2BytesSol2Yul
[Sol->Yul] Fixing string calldata to bytes calldata conversion.
2021-02-04 10:33:40 +01:00
Djordje Mijovic 530435439d [Sol->Yul] Fixing string calldata to bytes calldata conversion. 2021-02-04 09:30:19 +01:00
Leonardo 7405dc5b7f Merge pull request #10836 from ethereum/smt_fix_cex_inheritance
Fix inheritance bug in CHC cex
2021-02-03 18:49:25 +01:00