Marenz
7a96953e78
Implement typechecked abi.encodeCall()
2021-12-16 17:35:58 +01:00
hrkrshnn
51009c005d
Moved a canBeStored assert for struct members to TypeChecker
...
This is to avoid a assert from failing for forward declared user defined value types.
2021-10-26 18:43:04 +02:00
hrkrshnn
9428dbc94f
Moved storage size assert to TypeChecker from DeclarationTypeChecker
2021-10-26 18:43:04 +02:00
hrkrshnn
c3eef8af91
Fix ICE related to receive function having parameters.
2021-06-03 13:08:57 +02:00
Mathias Baumann
e590a99f39
Detect circular references for library and free functions
2021-03-30 23:06:30 +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
Djordje Mijovic
840df80dac
Check if all types in bytes.concat are fixed bytes or byte array.
2021-03-24 11:49:21 +01:00
Mathias Baumann
e197ebbdd1
Replace TypePointer
with Type const*
2021-03-23 11:47:19 +01:00
chriseth
5ffee049fa
Merge remote-tracking branch 'origin/develop' into breaking
2020-11-03 14:05:14 +01:00
chriseth
834da7be90
Introduce abicoder pragma.
2020-11-03 13:31:50 +01:00
Mathias Baumann
006e5f2e1f
Allow path syntax for super constructor calls
2020-10-13 14:32:11 +02:00
Harikrishnan Mulackal
c7dc42a794
Disallow `using for
` directive for interfaces.
2020-08-27 15:57:51 +02:00
chriseth
9324fb4f20
Free functions.
2020-08-18 11:46:59 +02:00
Sachin Grover
b7adb2aa42
Add SPDX license identifier if not present already in source file
...
Fixes : #9220
2020-07-17 20:24:12 +05:30
chriseth
76468f19fe
Check if using for refers to a library earlier.
2020-06-17 17:45:40 +02:00
chriseth
194c2b8c9c
Directly determine if experimental feature active.
2020-06-12 12:18:48 +02:00
chriseth
07c1167136
Refactor name and type resolution.
2020-06-12 12:18:02 +02:00
chriseth
062159214c
Rename scope to currentContract.
2020-06-09 18:19:09 +02:00
hrkrshnn
e2e32d372f
virtual modifiers (in Abstract contracts) allow empty bodies
2020-04-23 17:26:59 +05:30
Daniel Kirchner
6f06154eb5
Move direct struct recursion check to detect recursion in global structs.
2020-04-16 16:42:12 +02:00
Daniel Kirchner
3af43fd350
Extract typing.
2020-04-14 10:59:28 +02:00
Mathias Baumann
ac7b31e559
Validate immutable variables
2020-04-02 13:52:27 +02:00
Daniel Kirchner
9c3151748e
Move mapping key checks to ReferencesResolver and make them fatal.
2020-02-11 13:35:23 +01:00
Daniel Kirchner
d3cbfb0c5c
Allow user-defined types as mapping keys in parser and restrict to contracts during type checking.
2020-02-04 17:22:03 +01:00
Mathias Baumann
a3f23d3158
Implement new with CREATE2 and function call options.
2020-01-23 21:20:01 +01:00
Mathias Baumann
2179562785
Move variables-in-interfaces checker to PostTypeChecker
...
refs #7566
2020-01-08 14:05:08 +01:00
Mathias Baumann
21844aa545
Move event-outside-emit check to PostTypeChecker
...
refs #7566
2020-01-08 14:05:08 +01:00
Mathias Baumann
9f8d49e358
Move modifier context check to PostTypeChecker
...
refs #7566
2020-01-08 14:05:08 +01:00
Christian Parpart
6b23412fae
C++ namespace cleanup (except tests).
2020-01-07 15:51:50 +01:00
Daniel Kirchner
3321fc56ea
Split fallback function and introduce "fallback()" and "receive()" syntax.
2019-11-04 17:17:58 +01:00
chriseth
07c67b98f6
Merge remote-tracking branch 'origin/develop' into HEAD
2019-10-28 12:12:52 +01:00
Mathias Baumann
8c5d1da5a5
Check for use of modifiers in invalid contexts
2019-10-23 12:36:20 +02:00
chriseth
8e736a9f49
Type Checker for try/catch.
2019-09-23 17:22:56 +02:00
Daniel Kirchner
4782c800ec
Initial introduction of array slices with partial implementation for dynamic calldata arrays.
2019-09-13 10:57:53 +02:00
Mathias Baumann
9919670ddd
Check base contracts for abi encoder compatibility
2019-03-06 11:16:54 +01:00
Leonardo Alt
2405b2151a
EVMVersion in langutil namespace instead of solidity
2019-02-25 15:29:57 +01:00
chriseth
2fcfb216b5
Syntax for meta type information.
2019-01-17 20:36:48 +01:00
Leonardo Alt
36d8a98664
Sort includes in libsolidity/analysis
2018-12-17 12:35:16 +01:00
chriseth
33d6a24c47
Move library related checks.
2018-11-30 16:30:20 +01:00
chriseth
6d1644e55c
Move external type clash check.
2018-11-30 16:30:19 +01:00
chriseth
2c2c976697
Move base constructor argument checks.
2018-11-30 16:30:19 +01:00
chriseth
57a62429c9
Move abstract function check.
2018-11-30 16:30:19 +01:00
chriseth
89cf6a5a38
Move override checks.
2018-11-30 16:30:19 +01:00
chriseth
d054a3b85d
Move duplication checks.
2018-11-30 16:30:19 +01:00
Christian Parpart
d67322a186
Introduce namespace langutil
in liblangutil directory.
...
Also:
- Use {}-style list initialisation for SourceLocation construction
- Introduce new system includes
- Changes the API of the Scanner to take source as value (with move) as opposed to as a reference
2018-11-21 19:13:44 +00:00
Christian Parpart
87821c53c3
Isolating files shared between Yul- and Solidity language frontend.
2018-11-21 18:58:12 +00:00
mordax
ea8b7d803e
Removing redundant virtual from override function declaration
...
Remove trailing whitespace
Remove changelog change
2018-11-21 14:37:32 +00:00
Kristofer Peterson
f927da9182
Refactor of bool TypeChecker::visit(FunctionCall const& _functionCall).
...
Visit method now cleanly determines if node represents a function call,
struct construction or type conversion. Type checking, validation and
error message logic is moved to separate methods.
2018-11-09 16:35:54 +00:00
Erik Kundt
763ae30023
Fixes crash on non-unsigned array index.
2018-10-10 19:49:25 +02:00