Commit Graph

3807 Commits

Author SHA1 Message Date
chriseth
5e94fce7df Provide selector for some internal functions. 2021-03-01 16:19:59 +01:00
Kamil Śliwak
186d14d97f FunctionCallGraph: Tests for constants, immutables and accessing function selectors 2021-02-25 16:00:53 +01:00
chriseth
eacf7c1cf9
Merge pull request #11009 from ethereum/properlyParseAddressMember
Properly parse address member.
2021-02-24 17:12:00 +01:00
chriseth
3d97e9a77b Properly parse address member. 2021-02-24 16:44:16 +01:00
chriseth
5e9637bc39 Mapping access with multi-slot keys. 2021-02-24 13:44:23 +01:00
chriseth
2d48052ae5
Merge pull request #11003 from ethereum/ir-bug-incorrect-return-variable-count
Fix IR bug on deleting storage variables of function type.
2021-02-24 13:24:31 +01:00
hrkrshnn
2c2c7a4473 Fix IR bug on deleting storage variables of function type.
Calling the zeroing function assumed that the stack slots needed for the type was always 1. This is
false for function types.
2021-02-24 12:43:33 +01:00
Kamil Śliwak
e87cd0afdf Check that there is an interface type before querying validity of location. 2021-02-24 11:22:40 +01:00
chriseth
1220d8df7b
Merge pull request #10998 from ethereum/clean-up-function-external-type-tests
Minor cleanup in syntax tests for function types
2021-02-23 17:59:26 +01:00
chriseth
e33c058a60
Merge pull request #10896 from ethereum/issue-10870
Fix issue with pop on storage array.
2021-02-23 17:49:17 +01:00
hrkrshnn
66d6d20f65 Converted hash collision error into a fatal type error.
The check is performed during ContractLevelChecker. However, the TypeChecker throws in certain cases
when it encounters functions, whose hashes collide.
2021-02-23 17:09:40 +01:00
Kamil Śliwak
cf2847afc4 Remove duplicate syntax tests for functions taking internal struct types 2021-02-23 16:46:49 +01:00
Kamil Śliwak
fc7a091bfb Move several tests related to function types from nameAndTypeResolution/ to more specific directories 2021-02-23 16:46:49 +01:00
chriseth
596e8dd9b6
Merge pull request #10959 from ethereum/assert-too-strict
Loosened up a really strict assert from ABIFunctions.cpp
2021-02-23 14:59:14 +01:00
chriseth
02b27bdc64
Merge pull request #10976 from ethereum/fix-boost-filesystem-bug
Tests: Do not remove filename from boost filesystem path for corner cases
2021-02-23 14:43:55 +01:00
Alexander Arlt
ae6996efc1 Fix issue with pop on storage array. 2021-02-23 14:26:55 +01:00
chriseth
3dcba53595
Merge pull request #10993 from ethereum/fixModuleMemberNames
Fix module member names for importing with renaming.
2021-02-23 14:20:28 +01:00
Harikrishnan Mulackal
148e1150f2
Merge pull request #10992 from ethereum/detectAssignToFunction
Detect assignment to function in inline assembly.
2021-02-23 13:26:45 +01:00
chriseth
d586b7b57a
Merge pull request #10991 from ethereum/bareCallNoReturndatacopy
[Sol->Yul] Fix bare call wihout returndatacopy.
2021-02-23 13:24:50 +01:00
chriseth
c91cffa4ec Fix module member names for importing with renaming. 2021-02-23 13:15:32 +01:00
chriseth
9c7b1e9c3f Detect assignment to function in inline assembly. 2021-02-23 11:47:12 +01:00
Kamil Śliwak
54eb34d6fd Move call graphs from CompilerStack to ContractDefinitionAnnotation 2021-02-23 10:47:02 +01:00
Kamil Śliwak
6c28120f19 Move CallGraph structure to a separate module 2021-02-23 10:47:02 +01:00
Kamil Śliwak
051995a373 Test suite for FunctionCallGraph 2021-02-23 10:46:28 +01:00
chriseth
e9b3dd21d0 Fix bare call wihout returndatacopy. 2021-02-23 10:45:01 +01:00
chriseth
e75e3fc2e3
Merge pull request #10977 from ethereum/replace-throw-with-boost-macro
Replace raw throw with BOOST_THROW_EXCEPTION.
2021-02-22 16:18:13 +01:00
Bhargava Shastry
1ddfc7463a Tests: Do not remove filename from boost filesystem path for corner
cases.

Co-authored-by: Kamil Śliwak <kamil.sliwak@codepoets.it>
2021-02-22 10:32:41 +01:00
Harikrishnan Mulackal
6fd5ea01d1
Merge pull request #10971 from ethereum/onlyWarnAboutVariables
Only warn about variables being shadowed in inline assembly.
2021-02-19 16:17:02 +01:00
chriseth
78a097a012 Only warn about variables being shadowed in inline assembly. 2021-02-19 14:29:22 +01:00
Alexander Arlt
ae6710f4e7 test/libsolidity/util/ContractABIUtils.cpp: use std::bind. 2021-02-18 20:26:26 -05:00
Alexander Arlt
c44bb7e7ef Replace raw throw with BOOST_THROW_EXCEPTION. 2021-02-18 20:23:59 -05:00
hrkrshnn
f336a68009 Added syntax tests for constructors with function parameter 2021-02-17 17:12:02 +01:00
Alex Beregszaszi
346344dc7b Add missing test case for try/Catch 2021-02-16 12:33:55 +00:00
hrkrshnn
e24a23edcd Semantic test where constructor has a function as parameter 2021-02-15 14:16:28 +01:00
Djordje Mijovic
6e62cbf156 Run metadata tests for every metadata format. 2021-02-12 10:38:03 +01:00
Djordje Mijovic
b598948211 Run gas tests on NoMetadata format only. 2021-02-12 10:38:03 +01:00
hrkrshnn
a76ff8af1d Added tests for modifiers whose input is a function return value 2021-02-11 16:48:00 +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
chriseth
f4790971ae Add test. 2021-02-11 10:50:54 +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
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
chriseth
70aa111dbf Update AST Json expectations. 2021-02-11 10:11:24 +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
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
chriseth
fcdb5e0b40 Export statement documentation. 2021-02-09 17:33:01 +01:00
hrkrshnn
8167029dc1 Updating tests after improving Yul error reporting 2021-02-09 16:55:33 +01:00