Daniel
f441e1323a
Merge pull request #13384 from zemse/develop
...
Allow named parameters in mapping types
2023-01-09 17:59:29 +01:00
Soham Zemse
fa78e0f3d4
feat: allow named parameters in mapping types
...
Co-authored-by: Hari <webmail.hari@gmail.com>
test: add parser and abi test cases
docs: add example on using named parameters for mappings
- Add changelog
feat: update antlr grammar to allow named parameters in mappings
fix: prevent conflicting mapping parameter names
ref: change order of mapping initializers
test: update expectations and fix build
test: add more tests
fix: use common error & code for conflicting params
fix: issue with accessing nested mapping
test: add conflicting params tests for more nested levels
Update libsolidity/analysis/DeclarationTypeChecker.cpp
Co-authored-by: Nikola Matić <nikola.matic@ethereum.org>
fix: error reported with the same code twice
test: add more tests for 3 level nested mapping
Address review comments
2022-12-08 11:56:58 +01:00
wechman
64a4f32bc2
Consistent terminology for attached/bound functions
2022-12-07 19:31:41 +01:00
wechman
d5428af5bb
Make the message about name not referring to a user-defined type more generic
2022-11-04 08:46:53 +01:00
Ryan
3a17274691
Improve error message for static array with size too large
2022-04-05 17:36:37 +02:00
hrkrshnn
672951ccc7
Extend using-for.
2022-03-14 12:33:44 +01:00
nishant-sachdeva
9043621747
Changed occurences of isByteArray() to isByteArrayOrString(). The idea
...
is to, in a future commit, replace such occurences of
isByteArrayOrString() which are required to return True only for Bytes
type with a new isByteArray() function.
2022-02-02 14:19:58 +05:30
Marenz
0004ad8764
Fix ICE when a constant variable declaration forward references a struct
2022-01-17 13:24:14 +01:00
hrkrshnn
8815d6f5f0
Moved a check related to constants to TypeChecker
...
And added a proper error message when constant types containing (nested) mapping types are used.
2021-10-26 18:43:04 +02: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
1fa6c71bd0
Allow Mapping keys to have type UserDefinedValueType.
...
Also added syntax and semantic test.
2021-09-13 10:03:49 +02:00
hrkrshnn
0647039864
DeclarationTypeChecker for UserDefinedValueTypes
...
- Checks for repetitions.
- Assigns types.
- Checks if the 'actual type' is an elementary type name.
- Checks if the 'actual type' is a value type.
Also added tests.
2021-09-07 19:42:51 +02:00
anurag4u80
b2ca7916aa
Replaced boost::adaptors::transformed
2021-04-08 17:38:14 +05:30
chriseth
b04b189959
Syntax for custom errors.
2021-03-30 21:15:18 +02:00
Mathias Baumann
e197ebbdd1
Replace TypePointer
with Type const*
2021-03-23 11:47:19 +01:00
a3d4
35a25b107f
Fix ICE caused by const structs with mappings
2021-01-12 18:39:54 +01:00
Christian Parpart
c5d172c058
Reimplement constant evaluator.
2020-12-04 15:14:25 +01:00
Kamil Śliwak
1bf700e088
Return a type error when an enum has more than 256 members
2020-11-16 18:58:19 +01:00
chriseth
23205711b7
Fix build failure.
2020-10-19 19:20:36 +02:00
chriseth
6979952995
Merge remote-tracking branch 'origin/develop' into HEAD
2020-10-19 18:02:50 +02:00
Daniel Kirchner
3f14c904b0
Disallow invalid use of library names as type names.
2020-10-16 18:25:08 +02:00
Mathias Baumann
006e5f2e1f
Allow path syntax for super constructor calls
2020-10-13 14:32:11 +02:00
chriseth
346fe1c6c5
Constants at file-level.
2020-10-08 18:56:17 +02:00
a3d4
5394435bea
Use assert to check zero size base type
2020-07-28 17:39:52 +02:00
chriseth
f24097c38d
Fix internal error for invalid data location in constructor.
2020-07-27 15:00:17 +02:00
chriseth
9be5ed1220
Merge remote-tracking branch 'origin/develop' into breaking
2020-07-21 11:35:28 +02:00
chriseth
93c792c696
Remove special treatment of `var
`.
2020-07-20 17:22:04 +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
Harikrishnan Mulackal
d41eaeba56
Added containsNestedMapping()
2020-06-30 16:15:03 +05:30
chriseth
76468f19fe
Check if using for refers to a library earlier.
2020-06-17 17:45:40 +02:00
Harikrishnan Mulackal
21e34d7ca9
Fixed seed for randomness, fixed conflicts in errorids
2020-05-26 18:21:47 +05:30
a3d4
5870253b00
Shorten a couple of lines
2020-05-21 17:38:47 +02:00
a3d4
3a75b1da4d
Remove DeclarationTypeChecker class-specific error reporting functions
2020-05-20 23:56:25 +02:00
a3d4
02d1f8c41a
Remove a dedicated error flag from DeclarationTypeChecker
2020-05-12 18:13:17 +02:00
a3d4
8f68c04358
Add unique IDs to error reporting calls
2020-05-06 13:53:46 +02:00
Daniel Kirchner
6093982606
Review suggestions.
2020-04-16 16:42:12 +02:00
Daniel Kirchner
6f06154eb5
Move direct struct recursion check to detect recursion in global structs.
2020-04-16 16:42:12 +02:00
Daniel Kirchner
df1809f8da
Annotate struct definitions with a recursive flag.
2020-04-16 16:42:12 +02:00
Daniel Kirchner
3af43fd350
Extract typing.
2020-04-14 10:59:28 +02:00