175 Commits
Author SHA1 Message Date
chriseth f4050e81c6 Provide locations for docstring parsing errors. 2021-03-01 17:34:25 +01:00
Alexander Arlt c44bb7e7ef Replace raw throw with BOOST_THROW_EXCEPTION. 2021-02-18 20:23:59 -05: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
chriseth a4769d446f Fail on assertion failures in yul code generation. 2021-01-14 14:51:16 +00:00
Alex Beregszaszi 8edfa26f0a Mark the empty version pragma as invalid 2021-01-04 19:28:36 +00:00
Alex Beregszaszi b14a6a10cc Report meaningful error if parsing a version pragma failed 2020-12-18 11:50:37 +00:00
Alex Beregszaszi 97173247c0 Improve the Error class with a constructor for secondaryLocation
Remove occurances of Error construction using the boost helpers.
2020-12-17 13:50:04 +00:00
chriseth 8f833f4e8f Merge pull request #10618 from ethereum/develop
Merge develop into breaking.
2020-12-16 12:34:41 +01:00
Christian Parpart 381c63ec99 Scanner: Generate error on inbalanced RLO/LRO/PDF override markers. 2020-12-15 18:40:51 +01:00
Alex Beregszaszi 15237c8404 Disable the type byte 2020-12-14 19:18:25 +00: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
chriseth 561280a5cc Merge remote-tracking branch 'origin/develop' into breaking 2020-12-14 11:33:40 +01:00
Alex Beregszaszi bd641a5206 Enable more C++ compiler warnings 2020-12-10 21:03:58 +00:00
Alex Beregszaszi 66ee3ec533 Remove the \b, \f, \v escape sequences from the Scanner 2020-12-07 21:10:03 +00:00
chriseth c193ce6c07 Rename SourceReferenceFormatterHuman. 2020-12-01 16:09:46 +01:00
Alex Beregszaszi 4044817255 Drop old SourceReferenceFormatter 2020-12-01 16:09:46 +01:00
Alex Beregszaszi 1dedba8538 Only use SourceReferenceFormatterHuman 2020-12-01 16:09:46 +01:00
chriseth 6979952995 Merge remote-tracking branch 'origin/develop' into HEAD 2020-10-19 18:02:50 +02:00
chriseth 527c073bb9 Checked arithmetic by default. 2020-10-19 16:58:37 +02:00
Leonardo Alt 4e49135318 Add CLI option to choose model checker engine 2020-10-16 15:01:47 +01:00
hrkrshnn 13e7012e1e Parser: Exponentiation is right associative 2020-10-13 16:38:37 +02:00
chriseth c4d8b4fa0e Fix error reporter for zero-length location. 2020-10-08 18:56:17 +02:00
chriseth 3102b98e82 Var is reserved keyword. 2020-10-06 15:08:57 +02:00
chriseth cb2c9823c7 Merge pull request #9329 from ethereum/optimiser-token
Disallow language keywords to be used as identifiers by NameDispenser and VarNameCleaner
2020-08-31 19:33:07 +02:00
chriseth 0203eea20e Merge pull request #9649 from a3d4/improve-error-coverage-erorrecovery
Complete test coverage for errors related to parser error recovery
2020-08-31 18:33:19 +02:00
Alex Beregszaszi 2ebc4bb9a7 Introduce TokenTraits::isYulKeyword helper 2020-08-31 11:55:27 +01:00
Alex Beregszaszi 7ef9591e64 Expose hex literal to the Yul parser
This allows nicer error messages.
2020-08-28 19:34:52 +01:00
Alex Beregszaszi 4366ede889 Introduce Leave as a keyword for Yul 2020-08-28 19:34:52 +01:00
Alex Beregszaszi caa329066e Do not emit Solidity-only tokens in the Scanner for Yul
And simplfiy AsmParser greatly.
2020-08-28 19:34:52 +01:00
Alex Beregszaszi 662f7d8fac Rename Arrow to DoubleArrow 2020-08-27 12:28:27 +01:00
Alex Beregszaszi 4e5b403c37 Introduce RightArrow (->) token in the scanner 2020-08-27 12:28:27 +01:00
a3d4 0ee4a85a84 Complete test coverage for errors related to parser error recovery 2020-08-20 16:14:39 +02:00
Jason Cobb 888d7037cd Make FunctionCallAnnotation::kind a SetOnce 2020-08-12 11:57:01 -04:00
Alex Beregszaszi d9cb8c8c5e Add ScannerKind and replace supportPeriodInIdentifier 2020-07-28 12:31:08 +01:00
Alex Beregszaszi 6eb60bc8cd Add check that regular and unicode string literals are well formatted 2020-07-27 18:21:17 +01:00
Alex Beregszaszi 8abc1a6863 Check for invalid ASCII in the scanner 2020-07-27 18:21:17 +01:00
chriseth 1a1960ede0 Merge pull request #9466 from ethereum/fixTokens
Properly sort token list.
2020-07-27 10:42:31 +02:00
a3d4 5b54cfbed3 Report an error if immutables not assigned 2020-07-23 16:38:54 +02:00
chriseth 8cfbe02cc0 Fix token list. 2020-07-23 14:28:28 +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 f73b25bb78 Removed specialized errors related to constant state mutability 2020-07-14 12:42:47 +05:30
Daniel Kirchner c3e13b6733 Promote gwei to a proper keyword. 2020-07-13 18:07:11 +02:00
Daniel Kirchner 38c6ecbbe2 Remove finney and szabo denominations. 2020-07-13 18:07:10 +02:00
Djordje MijovicandKamil Śliwak 547590b972 Fixing additional signedness errors after adding -Wsign-conversion flag
Co-authored-by: Kamil Śliwak <kamil.sliwak@codepoets.it>
2020-07-09 17:22:45 +02:00
chriseth 2d64f53a39 Merge pull request #9265 from a3d4/improve-fixerrorids-script
Add --examine-coverage to fix_error_ids.py
2020-07-02 11:18:46 +02:00
a3d4 919572d6ec Add --examine-coverage to fix_error_ids.py 2020-07-01 21:41:31 +02:00
Bhargava Shastry 1a0391bceb Fuzzer: Add a specialized StackTooDeepError Exception that is caught in the fuzzing harness 2020-07-01 11:08:20 +02:00