Kamil Śliwak
017771032b
Replace hard-coded types with __builtin()
2023-09-28 17:43:16 +02:00
Daniel Kirchner
5d1d365e2f
style fixes
2023-09-13 22:54:10 +02:00
Daniel Kirchner
d8a36a1d58
Type inference draft.
2023-09-13 22:54:02 +02:00
Daniel Kirchner
093ec110cf
Scanner hack.
2023-09-13 22:39:25 +02:00
Kamil Śliwak
9adbced98e
Remove parser error recovery mode
2023-08-22 12:00:11 +02:00
Nikola Matic
f344dc164e
Purge using namespace from libsolidity/lsp and parsing
2023-08-16 17:07:52 +02:00
Nikola Matic
47969adf91
Experimental standard library
...
Change import syntax and cover with tests
2023-06-06 17:16:23 +02:00
Nikola Matic
7a34d34045
Restrict experimental solidity to constantinople and above
2023-05-17 17:03:43 +02:00
Nikola Matic
8a41f4ac7e
Introduce solidity-next pragma
...
Exclude pragma experimental error from ANTLR tests
Test for first pragma after non-pragma declaration
Resolve import pragmas
Change pragma name from next to solidity
Add Changelog entries
Address review comments
2023-05-15 19:25:13 +02:00
Daniel
a77d4e281f
Merge pull request #14139 from ethereum/make-plus-binary-only
...
Make plus binary only (second attempt)
2023-04-18 21:20:31 +02:00
Matheus Aguiar
64f57ac3c7
Fix null dereference in using for directive when operator name is empty
2023-04-18 14:23:58 -03:00
Kamil Śliwak
8a14680851
Disallow unary plus at the parsing stage
2023-04-18 16:47:00 +02:00
Marko Veniger
07def48f45
Adds NatSpec to AST for struct definitions.
2023-04-18 13:10:21 +02:00
Kamil Śliwak
c1fffa892d
Parser: Extract literal parsing into a separate function
2023-04-12 12:30:05 +02:00
Christian Parpart
be8752b5d3
Adds natspec to AST for enum definition.
2023-04-05 14:58:32 +02:00
wechman
9445483d60
User-defined operators: Parsing and grammar
2023-02-22 00:06:17 +01:00
vlad
7fbd36855d
Disallow usage of the indexed attribute for modifier parameters Added tests for edge cases of several keywords
2023-01-20 19:53:02 +01:00
vlad
6a0ea174b8
Disallow several indexed attributes for the same event parameter
2023-01-20 19:53:02 +01:00
Nikola Matic
83c1f62026
Source location for named mapping keys
2023-01-17 12:25:23 +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
Vinay
9e7b85ac4b
Improve Error Reporting of SemVer Parser
2022-11-25 13:09:09 -03:00
Marenz
f7cc29bec1
Add std:: qualifier to move() calls
2022-08-30 11:12:15 +02:00
Mathias L. Baumann
d4e2c2cc89
Merge pull request #13185 from ethereum/functionCall_locations
...
Add location for parameter names in FunctionCall ASTNode
2022-07-04 16:40:45 +02:00
Marenz
3a5218d3d5
Add location for parameter names in FunctionCall ASTNode
2022-06-29 18:37:36 +02:00
Marenz
ee710eadd4
Add location for member in MemberAccess ASTNode
2022-06-29 18:37:09 +02:00
Marenz
5d2e134378
Add all path locations to the IdentifierPath ASTNode
2022-06-21 14:19:45 +02:00
Christian Parpart
4ae43884d0
Apply a better way to annotate unreachability to the C++ compiler.
2022-06-07 16:41:04 +02:00
Kamil Śliwak
e19e6ad806
Remove empty assertion messages in a fews places
2022-06-01 20:37:48 +02:00
Kamil Śliwak
539e139555
Add explicit throws after some assertions to work around a spurious warning in GCC 12.1
2022-06-01 20:37:48 +02:00
Alexey Shekhirin
cb24e5d545
fix(parser): error for unexpected token
2022-04-29 16:13:04 +04:00
chriseth
9188519f11
Using for with global binding.
2022-03-14 17:39:14 +01:00
hrkrshnn
672951ccc7
Extend using-for.
2022-03-14 12:33:44 +01:00
Daniel Kirchner
290b1c3a90
Allow memory-safe inline assembly dialect flag.
2022-03-02 17:07:11 +01:00
Kamil Śliwak
ce4420f857
Separate DebugData fields for Solidity and Yul source locations
2021-09-22 13:11:39 +02:00
Marenz
c81814915c
Properly detect multiple licenses and validate them.
2021-09-16 11:18:26 +02:00
hrkrshnn
9f7426b4a9
Implemented parsing for UserDefinedValueType
...
Also added parsing tests.
2021-09-07 19:42:51 +02:00
soroosh-sdi
b0ce98bcb2
Using range-v3 instead of boost
...
Signed-off-by: soroosh-sdi <soroosh.sardari@gmail.com>
2021-08-24 23:50:23 +04:30
Christian Parpart
d203c80abd
Eliminate unnecessary m_source from Parser
2021-08-03 16:03:45 +02:00
Christian Parpart
6294aa871a
Simplify AsmParser::parse(.) usage
2021-08-03 15:43:17 +02:00
chriseth
ffc5cfd9a5
Remove scanner from compiler stack.
2021-08-03 15:43:17 +02:00
chriseth
f75b55071e
Remove CharStream from SourceLocation.
2021-07-14 15:12:07 +02:00
Christian Parpart
f561c1e90b
[langutil] ParserBase: make advance() overridable and make sure it's used.
2021-06-23 12:53:25 +02:00
Djordje Mijovic
e404b6e7a6
Refactoring yul source locations.
2021-05-04 16:05:23 +02:00
Alex Beregszaszi
4855fca802
Remove dead code in NatSpec
2021-04-22 13:26:11 +01:00
hrkrshnn
39e3da1905
Allow NatSpec documentation for local variable declarations
...
This won't be part of NatSpec JSON, but in AST, under the field documentation.
2021-04-08 17:06:14 +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
chriseth
f4050e81c6
Provide locations for docstring parsing errors.
2021-03-01 17:34:25 +01:00
chriseth
3d97e9a77b
Properly parse address member.
2021-02-24 16:44:16 +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