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