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
chriseth
2a25d04896
Merge pull request #11023 from ethereum/natspecparsinglocations
...
Provide locations for docstring parsing errors.
2021-03-02 14:03:42 +01:00
chriseth
f4050e81c6
Provide locations for docstring parsing errors.
2021-03-01 17:34:25 +01:00
chriseth
5e94fce7df
Provide selector for some internal functions.
2021-03-01 16:19:59 +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
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
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
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
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
chriseth
78a097a012
Only warn about variables being shadowed in inline assembly.
2021-02-19 14:29:22 +01: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
8167029dc1
Updating tests after improving Yul error reporting
2021-02-09 16:55:33 +01:00
Mathias Baumann
3a8a74cbc7
OverrideSpecifier: Check for null before dereferencing
2021-02-04 13:17:28 +01:00
hrkrshnn
ec57c791ef
Fix infinite loop when accessing circular constants from inline assembly.
2021-01-26 09:22:05 +01:00
Mathias Baumann
07a1d230cd
Fix missing error when accessing unintialized variables.
2021-01-25 14:44:15 +01:00
Kamil Śliwak
f0cb181545
Even more license tests
2021-01-18 16:17:06 +01:00
Kamil Śliwak
5677211471
SyntaxTest::filterObtainedErrors(): Remove hard-coded preamble to match changes in setupCompiler()
2021-01-18 16:17:06 +01:00
Alex Beregszaszi
6f1f0c5bbc
Do not insert SPDX identifier if already present in SyntaxTest
2021-01-18 16:15:17 +01:00
Alex Beregszaszi
5bbb017915
Add more tests for the SPDX-License-Identifier
2021-01-18 16:15:17 +01:00
Alex Beregszaszi
e117c9516e
Replace "pragma experimental ABIEncoderV2" in tests where appropriate
...
And add a few tests for "pragma abicoder".
2021-01-15 19:57:09 +00:00
Alex Beregszaszi
2c92f7641b
Move all experimental pragma tests to syntaxTests/pragma
2021-01-15 19:12:32 +00:00
a3d4
35a25b107f
Fix ICE caused by const structs with mappings
2021-01-12 18:39:54 +01:00
chriseth
99add1e4e5
Merge pull request #10710 from ethereum/implicit-conversion-bug
...
Disallow certain implicit conversions between integer types.
2021-01-12 15:42:12 +01:00
hrkrshnn
e107d51f46
Disallow certain implicit conversions between integer types.
...
Disallow implicit conversion from ``uintN`` and ``intM`` when ``M > N``, and by extension, explicit
conversion between the same types are also disallowed.
2021-01-12 08:23:47 +01:00
Alex Beregszaszi
8edfa26f0a
Mark the empty version pragma as invalid
2021-01-04 19:28:36 +00:00
Djordje Mijovic
c41f996c7b
Adding more tests for array copying.
...
Co-authored-by: Harikrishnan Mulackal <webmail.hari@gmail.com>
2020-12-28 13:16:24 +01:00
chriseth
04d83af1d2
Merge pull request #10492 from ethereum/arrayClearingDiffBaseSol2Yul
...
[Sol->Yul] Fixing array clearing when copying from storage to storage.
2020-12-22 15:15:03 +01:00
chriseth
b965446182
Catch panic.
2020-12-22 11:08:44 +01:00
Djordje Mijovic
8b6397e8fb
Adding more syntax and semantic tests.
2020-12-21 15:30:49 +01:00
Alex Beregszaszi
b14a6a10cc
Report meaningful error if parsing a version pragma failed
2020-12-18 11:50:37 +00:00
chriseth
3a23df6717
Merge remote-tracking branch 'origin/develop' into breaking
2020-12-16 16:56:45 +01:00
Kamil Śliwak
34e21c929a
Fix a test for unicode direction override failing because of Windows line endings
2020-12-16 15:24:41 +01:00
chriseth
8f833f4e8f
Merge pull request #10618 from ethereum/develop
...
Merge develop into breaking.
2020-12-16 12:34:41 +01:00
chriseth
5c40fb060c
Report illegal tokens in the Yul parser.
2020-12-16 12:20:07 +01:00
Christian Parpart
381c63ec99
Scanner: Generate error on inbalanced RLO/LRO/PDF override markers.
2020-12-15 18:40:51 +01:00
hrkrshnn
fdaede9b3e
Tests after disallowing some explicit payable conversions
2020-12-15 15:01:40 +01:00
chriseth
ffaf40950a
Merge pull request #10605 from ethereum/develop
...
Merge develop into breaking.
2020-12-15 14:01:01 +01:00
Djordje Mijovic
d479c98920
Adding tests for conversion of calldata slices to memory and storage and fixing syntax tests.
2020-12-15 09:21:47 +01:00
Alex Beregszaszi
edbdff8619
Update tests
2020-12-14 19:32:31 +00:00
hrkrshnn
7438c4dc16
Tests after making all explicit address conversions as non-payable
2020-12-14 18:46:01 +01:00
hrkrshnn
88c99a7538
Tests/Docs: changing type of msg.sender and tx.origin into address
...
And also making the type of address(literal) as non-payable address.
2020-12-14 16:55:48 +01:00
chriseth
d257ab7141
Merge remote-tracking branch 'origin/develop' into breaking
2020-12-14 16:05:12 +01:00
Alex Beregszaszi
aa042ccb87
Disallow leading zeroes in sized-types
...
Also avoid using boost::lexical_cast for parseSize.
2020-12-14 11:40:14 +00:00
Alex Beregszaszi
4bffd040e2
Add tests for weirdly sized types
...
e.g. bytes00001
2020-12-14 11:40:11 +00:00
chriseth
28374447d2
Merge pull request #10582 from ethereum/addr-literal
...
Fix crash with oversized address literals
2020-12-14 12:14:28 +01:00
chriseth
561280a5cc
Merge remote-tracking branch 'origin/develop' into breaking
2020-12-14 11:33:40 +01:00
Alex Beregszaszi
33ff2b16ff
Fix crash with oversized address literals
2020-12-11 23:45:23 +00:00
Alex Beregszaszi
7b347b9ec2
Introduce address(...).code
2020-12-11 03:00:30 +00:00
Alex Beregszaszi
fa37e69c25
Improved error messages when converting to/from builtin functions
2020-12-10 22:38:15 +00:00
Alex Beregszaszi
ff7e45f417
Add test cases for assigning builtins/bound functions to function types
2020-12-10 22:18:52 +00:00
chriseth
ef3bcbda97
Merge pull request #9549 from ethereum/yul-reserved
...
[BREAKING] Disallow using reserved identifiers in Yul
2020-12-10 18:49:44 +01:00
Alex Beregszaszi
7cd05bf603
Introduce block.chainid
2020-12-10 17:07:54 +00:00
Alex Beregszaszi
c032ad3379
Update tests
2020-12-10 17:18:15 +01:00
chriseth
d0551b67d7
Merge remote-tracking branch 'origin/develop' into breaking
2020-12-10 17:07:56 +01:00
chriseth
e15136c210
Merge pull request #10558 from ethereum/magictype-tests
...
Adds more tests for state access (block/tx/msg)
2020-12-10 14:05:37 +01:00
chriseth
482bda6887
Merge remote-tracking branch 'origin/develop' into breaking
2020-12-10 12:15:52 +01:00
Mathias Baumann
37cc795034
Fix segfault for empty @return tags in modifiers
2020-12-10 11:54:40 +01:00
Alex Beregszaszi
f9d6abf69b
Add more tests for state access (block, msg, tx, etc.)
...
Move some of them out of SolidityEndToEndTests. Additionally this ensures the deterministic values of the testing infrastructure.
2020-12-09 20:46:01 +00:00
chriseth
3f748bbb94
Merge pull request #10336 from ethereum/enablecoderv2bydefault
...
[BREAKING] Enable ABI coder v2 by default.
2020-12-09 18:05:07 +01:00
chriseth
1c99537b5a
Merge pull request #10550 from ethereum/chainIdView
...
[BREAKING] Mark chainid as view.
2020-12-09 17:41:27 +01:00
chriseth
870fd24723
Merge pull request #9888 from ethereum/account-hash
...
Support address().codehash
2020-12-09 17:40:56 +01:00
Daniel Kirchner
588535566f
Mark chainid as view.
2020-12-09 16:55:51 +01:00
Alex Beregszaszi
ad6739d0f6
Support address().codehash
2020-12-09 14:58:27 +00:00
chriseth
251f2a4d93
Fix bug in constant evaluator.
2020-12-09 15:50:53 +01:00
chriseth
72f1e4ea0b
Explicitly set coder to v1 for syntax tests.
2020-12-09 15:25:15 +01:00
Djordje Mijovic
acb93f3a97
Disallowing usage of msg.data in receive() function.
2020-12-08 11:49:20 +01:00
Alex Beregszaszi
66ee3ec533
Remove the \b, \f, \v escape sequences from the Scanner
2020-12-07 21:10:03 +00:00
chriseth
a3c5d37d02
Merge remote-tracking branch 'origin/develop' into breaking
2020-12-07 17:13:48 +01:00
chriseth
b86c91d1a3
Make super unavailable in libraries.
2020-12-07 13:59:50 +01:00
chriseth
4be9b409de
Remove unary plus.
2020-12-04 15:14:25 +01:00
chriseth
89919e47d3
New test.
2020-12-04 15:14:25 +01:00
Christian Parpart
c5d172c058
Reimplement constant evaluator.
2020-12-04 15:14:25 +01:00
chriseth
49bde69afa
Move computation of constants out of types.cpp
2020-12-04 15:14:25 +01:00
chriseth
d56a7bb89e
Merge pull request #10489 from ethereum/develop
...
Merge develop into breaking.
2020-12-03 18:11:12 +01:00
hrkrshnn
9e5d7b9910
Test updates after disallowing Integer -> Contract conversion
2020-12-03 17:53:00 +01:00
Alex Beregszaszi
a9be2e4bb8
update tests
2020-12-03 17:15:45 +01:00
Alex Beregszaszi
6c0a3bd043
Ensure that builtins must be executed
2020-12-03 17:15:44 +01:00
Alex Beregszaszi
43353bb6ca
update tests
2020-12-03 17:15:43 +01:00
Alex Beregszaszi
3da2b67b67
simplify parser
2020-12-03 17:14:49 +01:00
hrkrshnn
40244c5469
Tests/Docs after stricter explicit conversion.
2020-12-03 16:51:05 +01:00
chriseth
52c49aebe8
Disallow meta type on super.
2020-12-02 15:43:18 +01:00
chriseth
6d1454fce6
Disallow conversion to super.
2020-12-01 14:15:50 +01:00
chriseth
6de7eaba95
Merge remote-tracking branch 'origin/develop' into breaking
2020-12-01 10:50:13 +01:00
Djordje Mijovic
bd86588459
Adding more tests for array copying from storage to storage.
2020-12-01 08:50:36 +01:00
chriseth
3e5396598b
Merge pull request #10410 from ethereum/ir-fixedbytes-bitnot
...
Support BitNot on FixedBytes in IR
2020-11-26 14:42:52 +01:00
Alex Beregszaszi
cbae5ca324
Support BitNot on FixedBytes in IR
2020-11-26 13:20:02 +00:00
Djordje Mijovic
565d0cd4eb
Support copying of nested calldata arrays to memory.
2020-11-26 12:13:29 +01:00
hrkrshnn
a834476de6
Tests/Docs after disallowing super, this and _ as declaration names
2020-11-25 11:14:13 +01:00
chriseth
253889cbf1
Merge remote-tracking branch 'origin/develop' into breaking
2020-11-24 16:22:03 +01:00
chriseth
2d235bf7b0
Merge pull request #10341 from ethereum/optimizeAllocation
...
Do not allocate memory objects if they will be assigned directly.
2020-11-24 16:05:46 +01:00
chriseth
79669ecd48
Use new abicoder pragma.
2020-11-24 14:57:45 +01:00
chriseth
409e92580f
Do not allocate memory objects if they will be assigned directly.
2020-11-24 14:11:01 +01:00
chriseth
19e9e8b550
Some more tests.
2020-11-23 15:00:00 +01:00
chriseth
67ec5f6b17
Override semantics for fallback function.
2020-11-23 14:22:37 +01:00
chriseth
fda352094f
Allow fallback function to return data.
2020-11-23 14:22:37 +01:00
Alex Beregszaszi
8228b5b0b8
Fix test failures due to merge conflict (from develop to breaking)
2020-11-20 18:21:21 +00:00
chriseth
a7db4fa4a5
Merge remote-tracking branch 'origin/develop' into breaking
2020-11-18 20:05:02 +01:00
Kamil Śliwak
5560239cf5
Replace links to readthedocs.io with ones using the new domain
2020-11-18 15:20:34 +01:00
chriseth
9f0a631948
Merge pull request #10208 from ethereum/offsetLengthCalldata
...
Support .offset and .length for dynamic calldata arrays
2020-11-18 12:09:11 +01:00
chriseth
2665eaa4fa
Support .offset and .length for calldata bytes and string arrays.
2020-11-18 01:45:56 +01:00