Commit Graph
98 Commits
Author SHA1 Message Date
a3d4 35a25b107f Fix ICE caused by const structs with mappings 2021-01-12 18:39:54 +01:00
a3d4 184d3f3bfd Fix a tiny typo in building-on-windows documentation 2021-01-07 03:09:32 +01:00
a3d4 148c379ab9 Fix Visual Studio compilation error (add missing include <optional>) 2020-11-16 17:42:51 +01:00
a3d4 90c8c32d86 If a declaration shadows several others, group them together 2020-10-08 21:01:25 +02:00
a3d4 f29ebc0847 Fix shadowing/same-name warnings for later declarations 2020-10-08 20:22:04 +02:00
a3d4 d7b4b4a7aa Fix ICE caused by storage parameters with nested mappings in libraries 2020-10-07 22:07:57 +02:00
a3d4 a244daaacb Exclude tests with overly deep nesting from antlr grammar checks 2020-09-29 20:20:20 +02:00
a3d4 3c876fcb60 Fix ICE caused by an array of mappings 2020-09-29 18:17:46 +02:00
a3d4 3698cd54a5 Complete error coverage of Parser and SyntaxChecker 2020-09-29 16:07:02 +02:00
a3d4 9b740b03ff Simplify DeclarationRegistrationHelper 2020-09-28 13:21:57 +02:00
a3d4 9721bda36e Complete error coverage of ParserBase 2020-09-28 01:56:25 +02:00
a3d4 6b77a20134 Introduce CompositeType 2020-09-21 16:18:04 +02:00
a3d4 4ca7655b74 Correct the warning for homonymous, but not shadowing declarations 2020-09-15 02:39:21 +02:00
a3d4 d8520b0af0 Move collision warnings to StaticAnalyzer 2020-09-14 02:52:00 +02:00
a3d4 e7a6534d4f Unify collision warnings 2020-09-14 02:17:53 +02:00
a3d4 8faa5243b5 Fix MSVC ADL 2020-09-01 00:42:42 +02:00
a3d4 6336aa5aba Fix test expectation update 2020-08-31 12:50:18 +02:00
a3d4 0ee4a85a84 Complete test coverage for errors related to parser error recovery 2020-08-20 16:14:39 +02:00
a3d4 ad311fae19 Improve error coverage of syntax checker 2020-08-20 03:23:21 +02:00
a3d4 0f5d0b6455 Improve error coverage of parser 2020-08-19 01:37:11 +02:00
a3d4 0b45168bcb Use assert to check if return tag applies to a public state-variable 2020-08-03 05:22:09 +02:00
a3d4 0c3e0a65cf Extend error_codes.py to to detect newly introduced error codes, not covered by tests 2020-08-03 04:28:35 +02:00
a3d4 ffdb0e37ff Complete error coverage of ReferenceResolver 2020-07-28 18:56:57 +02:00
a3d4 dbeacbafa5 Cover "Override changes modifier to public state variable." error 2020-07-28 18:55:12 +02:00
a3d4 5394435bea Use assert to check zero size base type 2020-07-28 17:39:52 +02:00
a3d4 5b54cfbed3 Report an error if immutables not assigned 2020-07-23 16:38:54 +02:00
a3d4 7e0a291fac Add "Only one receive function is allowed"-error to syntax tests 2020-07-22 04:09:24 +02:00
a3d4 9eed519faa Introduce white list of error codes, which are not covered by tests 2020-07-22 03:57:18 +02:00
a3d4 0a3c9ec358 Print source file names for uncovered error codes.
Use more consistent naming.
2020-07-21 15:23:22 +02:00
a3d4 ecdfef1b30 Replace grave accent with acute accent 2020-07-21 00:18:47 +02:00
a3d4 efc5ee207d Fix internal compiler error caused by oversized objects 2020-07-10 11:39:07 +02:00
a3d4 a068583bec Cover cmdlineTests.sh errors 2020-07-09 14:39:05 +02:00
a3d4 5e4aeaa460 Add variable name to the "Variable covers a large part of storage ...." message 2020-07-06 13:49:09 +02:00
a3d4 1c7a0dcbea Add warnings for oversized subtypes 2020-07-03 15:18:02 +02:00
a3d4 e810d84a07 Introduce error_codes.py --next flag 2020-07-03 14:51:38 +02:00
a3d4 4fcf0b489a Refactor error_codes.py to simplify generation of new error codes 2020-07-03 01:26:26 +02:00
a3d4 c2e1273ff4 Fixed recursive check in structureSizeEstimate 2020-07-02 04:14:58 +02:00
a3d4 919572d6ec Add --examine-coverage to fix_error_ids.py 2020-07-01 21:41:31 +02:00
a3d4 acd42a08c1 Add a missing DocStringParser error to tests. 2020-07-01 04:42:37 +02:00
a3d4 25ebff3a38 Fix pragma solidity version in antlr grammar 2020-06-23 02:25:21 +02:00
a3d4 1d2ae7d82a Added error codes to SyntaxTest expectations (changed code) 2020-06-22 16:53:03 +02:00
a3d4 e04cedafc5 Added error codes to SyntaxTest expectations (updated tests) 2020-06-22 16:51:47 +02:00
a3d4 5d63fa09e9 Fix false ////- and /***-natspec 2020-06-16 11:15:04 +02:00
a3d4 51e64fe0b1 Add error IDs to console output 2020-06-10 13:27:25 +02:00
a3d4 b17915a6ba Add error IDs to JSON 2020-06-10 13:26:51 +02:00
a3d4 3bf236cf81 Refactor error ID checker script 2020-06-03 02:43:20 +02:00
a3d4 41d8420718 Fix tabs in SolcReferenceFormatterHuman 2020-06-02 21:43:51 +02:00
a3d4 c959341720 Add errorId to Error class 2020-05-28 15:00:33 +02:00
a3d4 be83c54d79 Throw TestParserError instead of Error in tests 2020-05-28 02:26:17 +02:00
a3d4 011f8a462d Remove AsmAnalyzer class-specific error reporting functions 2020-05-28 02:02:53 +02:00
a3d4 936ea6f950 Refactor TypeChecker to assign different IDs to different errors 2020-05-25 13:40:14 +02:00
a3d4 a499ef16fa Fix spelling errors 2020-05-25 02:54:37 +02:00
a3d4 5870253b00 Shorten a couple of lines 2020-05-21 17:38:47 +02:00
a3d4 38e65a909a Remove DocStringAnalyzer and DocStringParser class-specific error reporting functions 2020-05-21 00:26:14 +02:00
a3d4 66a8c7d1ab Remove ReferencesResolver class-specific error reporting functions 2020-05-21 00:04:26 +02:00
a3d4 3a75b1da4d Remove DeclarationTypeChecker class-specific error reporting functions 2020-05-20 23:56:25 +02:00
a3d4 6bb177ce77 Remove dedicated error flags from DocStringParser and DocStringAnalyser 2020-05-20 04:17:49 +02:00
a3d4 6dbf23d52a Remove a dedicated error flag from ReferencesResolver 2020-05-20 04:08:32 +02:00
a3d4 9f8d5753ce Introduce ErrorWatcher and remove a dedicated error flag from AsmAnalyzer 2020-05-18 16:06:23 +02:00
a3d4 02d1f8c41a Remove a dedicated error flag from DeclarationTypeChecker 2020-05-12 18:13:17 +02:00
a3d4 02eee54f38 Add error IDs to ContractLevelChecker 2020-05-12 11:42:29 +02:00
a3d4 7cae074b8a Add error IDs to BMC 2020-05-12 11:39:18 +02:00
a3d4 1d5350e32f Add error IDs to OverrideChecker 2020-05-12 02:26:02 +02:00
a3d4 0b09a77689 Removed minor parameter redundancy 2020-05-09 01:45:02 +02:00
a3d4 c3e519a151 Add unique IDs to error reporting calls 2020-05-09 01:28:55 +02:00
a3d4 6965f199fd Groundwork. Prepare for automatic tagging of errors in parser-based classes
[Not compilable until the next commit]
2020-05-09 01:03:02 +02:00
a3d4 5e9502bfae Fix ABI internal compiler error caused by an internal constructor 2020-05-07 05:49:49 +02:00
a3d4 7e1835af71 Fix error reporting source code format 2020-05-07 04:46:02 +02:00
a3d4 e3641b88ec Groundwork. Prepare for automatic tagging
[Not compilable until the next commit]
2020-05-06 13:52:28 +02:00
a3d4 3bd15655cb Type Checker: Fix internal error when applying unary operators to tuples with empty components 2020-04-29 02:18:48 +02:00
a3d4 523460da07 Prevent coloring irrelevant whitespaces 2020-04-24 00:51:15 +02:00
a3d4 8717c073a6 Fix leftpad in SourceReferenceFormatterHuman 2020-04-24 00:34:24 +02:00
a3d4 c4bc77874b Disallow empty tuples on the left hand side 2020-04-23 07:02:04 +02:00
a3d4 9538024c81 Fix #8711, #8277 2020-04-23 05:57:35 +02:00
a3d4 760ae7f584 Update evmone version to v0.4 in docs and scripts 2020-04-14 14:34:47 +02:00
a3d4 3ef510bc86 Removed a redundant else clause. 2020-04-08 23:40:29 +02:00
a3d4 aba0b2957c Fix tuple assignments with multi-slot components. 2020-04-07 18:39:25 +02:00
a3d4 c002cae691 Fix #8450. Prevented internal compiler errors when assigning nested tuples. 2020-03-31 03:25:26 +02:00
a3d4 339f3ca32c Fix #8427: Promoted typeError to fatalTypeError in ReferencesResolver::endVisit(UserDefinedTypeName). 2020-03-25 02:51:34 +01:00
a3d4 a7d6128a8e Improved .clang_format file. 2020-03-22 22:23:29 +01:00
a3d4 f4d9f6772f Unified use of settings. Removed a couple of unused functions. 2020-03-19 14:02:39 +01:00
a3d4 3b9e926559 Moved "step" from settings to expectations. 2020-03-19 13:59:05 +01:00
a3d4 a5ae51fa6e Unified dialect selection in libyul/SyntaxTest and YulOptimizerTest. 2020-03-16 23:22:57 +01:00
a3d4 bb38ce1759 Decoupled error checking and report printing in CommonSyntaxTest. 2020-03-16 23:22:56 +01:00
a3d4 66783c30ce Introduced TestCaseReader. 2020-03-16 23:14:33 +01:00
a3d4 a86c511713 Replaced "assert" with "if" (incorrect contract code is not supposed to trigger asserts). 2020-03-12 14:03:27 +01:00
a3d4 437ab3d24c Fixed ControlFlowBuilder compilation error. 2020-03-10 14:02:16 +01:00
a3d4 29b770c434 Introduced TestCase::shouldRun(). 2020-03-09 15:52:20 +01:00
a3d4 4a29726f76 Adjusted solc path and fixed remapping tests in cmdlineTests.sh under mingw64. 2020-02-19 06:05:11 +01:00
a3d4 be1d92c836 Avoided trailing \r in CharStream::lineAtPosition(). 2020-02-10 01:16:55 +01:00
a3d4 e3d6a3e44e Updated expectations. 2020-02-09 17:29:13 +01:00
a3d4 b3b8441aa4 Fix printing source for missing pragma. 2020-02-09 02:28:47 +01:00
a3d4 4ec4d23886 Replaced ParserBase::position() and ParserBase::endPosition() with ParserBase::currentLocation().
It might be simpler to pass `SourceLocation` object instead of splitting it into `start` and `end`, and creating another SourceLocation object using the same `start` and `end` later.
2020-02-06 03:34:49 +01:00
a3d4 7fecab07a8 Simplified Parser::createWithLocation().
In all but one case the function was called with the default argument value.
And when it was location, the location should be valid (see Parser::parseElementaryOperation()).
2020-02-06 03:34:48 +01:00
alex 3416c029cf Relaxed assert in AsmJsonImporter::createAsmNode. 2020-02-04 20:37:51 +01:00
alex 211227f50b Modified SourceLocation::hasText() to allow empty source. 2020-02-04 04:19:28 +01:00
alex 76cfe4e2ce Replaced SourceLocation::isEmpty() with isValid() and hasText().
The function SourceLocation::isEmpty() had somewhat dual role.
Sometimes it indicates that the SourceLocation is invalid.
Sometimes it means that there is no corresponding source text.

Hence the proposal is to replace it with two functions, isValid() and hasText().

I also removed Scanner::sourceAt(). (Do we have a rule of thumb to remove unused code?)

Since hasText() checks that start and end are valid indices for source, I adjusted a couple of tests to avoid empty source strings.
2020-02-03 12:44:26 +01:00
alex e4b18e85e6 Replaced SourceLocation::isEmpty() with isValid() and hasText().
The function SourceLocation::isEmpty() had somewhat dual role.
Sometimes it indicates that the SourceLocation is invalid.
Sometimes it means that there is no corresponding source text.

Hence the proposal is to replace it with two functions, isValid() and hasText().

I also removed Scanner::sourceAt(). (Do we have a rule of thumb to remove unused code?)

Since hasText() checks that start and end are valid indices for source, I adjusted a couple of tests to avoid empty source strings.
2020-02-03 08:04:21 +01:00