1118 Commits
Author SHA1 Message Date
chriseth 6728e3ef94 Merge remote-tracking branch 'origin/develop' into breaking 2020-04-22 17:21:32 +02:00
chriseth 264c4264a1 Merge pull request #8644 from ethereum/refactor-lValueRequested
Replaced all instances of lValueRequested to willBeWrittenTo
2020-04-20 15:03:50 +02:00
chriseth c24c4f85e4 Merge pull request #8665 from ethereum/recursiveStructRefactoring
Recursive struct refactoring and a bunch of ICE fixes.
2020-04-20 13:24:19 +02:00
hrkrshnn 4760b8589d Replaced all instances of lValueRequested to willBeWrittenTo 2020-04-20 12:33:30 +05:30
Alexander Arlt 3754a86ab2 Add support for interfaceID. 2020-04-16 12:17:40 -05:00
Daniel Kirchner f6d1cee06b Ensure that public callable parameters are valid for calldata. 2020-04-16 17:23:20 +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 b744a56801 Refactoring of errors and fixes for various ICEs. 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 b86c927505 Disallow virtual and override for constructors. 2020-04-15 13:58:37 +02:00
Alexander Arlt aac7a1e434 Apply modernize-pass-by-value. 2020-04-14 10:32:13 -05:00
Daniel Kirchner 3af43fd350 Extract typing. 2020-04-14 10:59:28 +02:00
a3d4 3ef510bc86 Removed a redundant else clause. 2020-04-08 23:40:29 +02:00
chriseth 51883958ab Merge remote-tracking branch 'origin/develop' into breaking 2020-04-07 11:14:28 +02:00
chriseth 806c835647 Merge pull request #8568 from aarlt/clang-tidy-apply-modernize-use-override
clang-tidy: Apply modernize-use-override.
2020-04-06 16:09:02 +02:00
Daniel Kirchner d68c526eaa Disallow external function pointers as immutables. 2020-04-03 11:56:51 +02:00
hrkrshnn 042ccd24ab Added error message for virtual (library) functions; test case 2020-04-03 15:09:57 +05:30
Alexander Arlt cae6e7769f Apply modernize-use-override. 2020-04-02 18:00:44 -05:00
chriseth bdcfd71f34 Skip verification for external access. 2020-04-02 18:40:43 +02:00
hrkrshnn ef2bef9ddc Added error for interface function with modifiers; test case 2020-04-02 20:30:43 +05:30
Mathias Baumann ac7b31e559 Validate immutable variables 2020-04-02 13:52:27 +02:00
chriseth a2b427dc0b Merge pull request #8567 from ethereum/storage-pointer-checker
Removed redundant storage declaration check; test coverages
2020-04-02 13:46:51 +02:00
hrkrshnn 79387b2ada Removed redundant declaration check; changed relevant test cases 2020-04-02 12:27:38 +05:30
Alexander Arlt 3e649eb8e1 Disallow access to functions from inline assembly. 2020-04-01 10:34:55 +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
iamdefinitelyahuman cae4b7dd0e fix typo in docstring error message 2020-03-22 17:15:44 +04:00
chriseth fa148f2483 Parsing of immutable state variable. 2020-03-12 17:11:24 +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
Daniel Kirchner 809e3503ba Control flow analysis for inline assembly. 2020-03-09 16:23:10 +01:00
chriseth 37e01a19c0 Fix scoping following try/catch. 2020-03-09 13:14:13 +01:00
Daniel Kirchner 7f38cbb91d Fix calling unimplemented base function. 2020-03-06 10:51:16 +01:00
Djordje Mijovic 58c6b90705 Deprecated warning for .value() and .gas() on function and constructror calls 2020-03-04 12:51:49 +01:00
chriseth 45041e5d3a Allow access to `_slot` for local storage pointer variables. 2020-02-25 14:28:04 +01:00
chriseth c2e22d4cab Merge pull request #8221 from ethereum/structured-docs-error-locations
[parser] Source locations for structured documentation errors
2020-02-18 14:57:28 +01:00
Jason Cobb 6db0d50094 Don't use identifiers starting with an underscore followed by an uppercase letter 2020-02-17 12:44:39 -05:00
Erik Kundt b43751d65e Reports source location for structured documentation errors. 2020-02-14 15:21:39 +01:00
Daniel Kirchner 9f094d59b9 Mark function selector accesses as pure for pure expressions and mark function accesses via contract name as pure. 2020-02-14 12:33:33 +01:00
Mathias L. Baumann c635377450 Merge pull request #8313 from ethereum/checkFunctionsExistInIsoltest
Make type error fatal to prevent assert failure at later point
2020-02-13 16:08:13 +01:00
Mathias Baumann 8911b58a6d Make type error fatal to prevent assert failure at later point 2020-02-13 15:16:28 +01:00
Daniel Kirchner 45f80e9895 Move assertion in PostTypeChecker's ConstStateVarCircularReferenceChecker to account for function type variables 2020-02-12 17:42:27 +01:00
Daniel Kirchner 9c3151748e Move mapping key checks to ReferencesResolver and make them fatal. 2020-02-11 13:35:23 +01:00
a3d4 b3b8441aa4 Fix printing source for missing pragma. 2020-02-09 02:28:47 +01:00
Daniel Kirchner e07274a96f Disallow libraries as mapping keys. 2020-02-06 09:09:43 +01:00
Erik Kundt f2701db0aa Adds documentation for Solidity source upgrader. 2020-02-05 16:52:54 +01:00
chriseth 7cca036f4c Merge pull request #8224 from a3d4/refactor-sourcelocation
Replaced SourceLocation::isEmpty() with isValid() and hasText().
2020-02-04 22:23:51 +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
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