Commit Graph
823 Commits
Author SHA1 Message Date
chriseth 83aa8c1e23 Merge pull request #9818 from a3d4/introduce-compositetype
Introduce CompositeType
2020-09-21 22:33:04 +02:00
a3d4 6b77a20134 Introduce CompositeType 2020-09-21 16:18:04 +02:00
Kamil Śliwak aae640dd3a Fix wrong name used in error message when reporting invalid named argument 2020-09-17 18:59:18 +02:00
Kamil Śliwak 4045f41c8d Make the test for invalid named arguments more robust
- Add more parameters and use different types.
- Now it's clear that the name used in the error message is wrong.
2020-09-17 17:29:28 +02:00
Kamil Śliwak dc62d763eb Move syntax tests for named arguments from namedAndTypeResolution/ to functionCalls/ 2020-09-17 17:29:28 +02:00
Kamil Śliwak 1a4cc4e64d Fix type check for nested arrays in abi.encode/decode functions in ABIEncoderV1
- Without this fix, nested arrays are not detected as unsupported and compiler fails on an UnimplementedError.
- Now it's consistent with how structs are handled in ABIEncoderV1.
2020-09-17 17:29:16 +02:00
Kamil Śliwak 3ba3bde65e Mark string literals as not implicitly convertible to calldata arrays 2020-09-16 12:44:57 +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
chriseth 6508986077 Merge pull request #9768 from ethereum/move-event-syntax-tests-from-name-and-type-resolution
Group event-related syntax tests together
2020-09-09 16:57:30 +02:00
Kamil Śliwak 6f41e83b48 Move most event-related syntax tests from nameAndTypeResolution/ to events/ 2020-09-09 14:53:46 +02:00
Kamil Śliwak 5e9dd67a0a FunctionType::canTakeArguments(): Use the correct index when comparing named parameter types 2020-09-09 14:45:58 +02:00
Kamil Śliwak 41bcb97e36 Don't consider contracts implicitly convertible to the type of super
- `super` for all intents and purposes behaves like a type and should be a TypeType rather than ContractType. We have an issue to fix it but it's a breaking change. Until then let's at least not treat other contracts as convertible to the ContractType that `super` represents.
2020-09-08 00:29:44 +02:00
Alexander Arlt df8bbeeb22 ViewPureChecker::reportMutability: don't check visibility on constructors. 2020-09-07 11:35:33 -05:00
Harikrishnan Mulackal acec8f271d Type Checker: Disallow `virtual` for modifiers in libraries. 2020-09-07 11:17:38 +02: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 26a76c18d4 Add Yul syntax test for every Solidity keyword 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 a80e2c1462 Update tests for immutable variables 2020-08-28 19:06:34 +01:00
chriseth 20efba6b55 Merge pull request #9568 from ethereum/fixImmutables
Fix reads checks for complex assignment and increment/decrement for immutable variables.
2020-08-28 16:14:18 +02:00
chriseth 8b564a7be7 Fix reads checks for immutable variables. 2020-08-28 15:24:40 +02:00
chriseth ec3f3c41dd Merge pull request #9690 from ethereum/immutable-rhs-vardecl
Disallow assigning more than once to immutables during the variable declaration
2020-08-28 14:39:23 +02:00
Leonardo df79a4f162 Merge pull request #9691 from ethereum/oversized-function-array
Changed canonicalName() to toString() because of internal functions
2020-08-28 13:57:47 +02:00
Harikrishnan Mulackal 7ff809dc78 Disallow assigning more than once to immutables during the vardecl 2020-08-28 13:42:54 +02:00
Harikrishnan Mulackal 672f391660 Changed canonicalName() to toString() because of internal functions 2020-08-27 21:09:35 +02:00
Alex Beregszaszi e872b1b51e Merge pull request #9689 from ethereum/using-for-interface
Disallow ``using for`` directive for interfaces.
2020-08-27 19:09:19 +01:00
chriseth 0798167f3d Merge pull request #9612 from ethereum/yul-rightarrow
Introduce RightArrow (->) token
2020-08-27 16:21:18 +02:00
Harikrishnan Mulackal c7dc42a794 Disallow `using for` directive for interfaces. 2020-08-27 15:57:51 +02:00
Harikrishnan Mulackal 7826564226 Fix infinite loop for structs in library function parameter 2020-08-27 14:18:07 +02:00
Harikrishnan Mulackal 1c066b1059 Allow type(Contract).name for abstract contracts and interfaces 2020-08-27 13:37:08 +02:00
Alex Beregszaszi 4e5b403c37 Introduce RightArrow (->) token in the scanner 2020-08-27 12:28:27 +01:00
chriseth 161ed4c948 Merge pull request #9683 from ethereum/fix-exp-neg-literal
Disallow the exponent to be a signed integer literal
2020-08-27 13:26:15 +02:00
Harikrishnan Mulackal 6f22899153 Disallow the exponent to be a signed integer literal 2020-08-27 12:08:45 +02:00
Harikrishnan Mulackal 79b2e41252 Fix inheritdoc tags trying to resolve 'empty' elements 2020-08-26 21:28:00 +02:00
chriseth 221524b153 Merge pull request #9606 from ethereum/newGrammar
Rewrite of the antlr grammar.
2020-08-26 09:57:13 +02:00
a3d4 ad311fae19 Improve error coverage of syntax checker 2020-08-20 03:23:21 +02:00
Daniel Kirchner bd21535dd1 Rewrite of the antlr grammar. 2020-08-19 17:55:31 +02:00
chriseth a795e4db9b Merge pull request #9640 from a3d4/improve-error-coverage-parser
Improve error coverage of parser
2020-08-19 11:03:50 +02:00
a3d4 0f5d0b6455 Improve error coverage of parser 2020-08-19 01:37:11 +02:00
chriseth e9f91edc4b Update existing tests. 2020-08-18 11:46:59 +02:00
chriseth 9324fb4f20 Free functions. 2020-08-18 11:46:59 +02:00
Alex Beregszaszi babb175d86 Add more syntax tests for Yul 2020-08-13 14:20:52 +01:00
Daniel Kirchner 5d670aaa18 Merge pull request #9614 from ethereum/yul-hex
Update tests/documentation to show that hex literals are not supported in Yul
2020-08-13 03:11:45 +02:00
Alex Beregszaszi b752551ebd Add test case for string literals in switch statements in Yul 2020-08-13 00:27:41 +01:00
Alex Beregszaszi acb1e8c280 Add tests showing hex literals are not allowed in Yul 2020-08-13 00:27:19 +01:00
Alex Beregszaszi bb29307b02 Add/Update tests for Yul function definition 2020-08-12 23:53:08 +01:00
chriseth 98faf82d3f Merge pull request #9563 from ethereum/constrInLib
Fix member lookup for constructor in library.
2020-08-05 19:07:28 +02:00
chriseth 0ea5aae9aa Require inheritdoc tag to be non-empty. 2020-08-04 12:13:23 +02:00
chriseth c96e997a3c Fix member lookup for constructor in library. 2020-08-04 10:51:40 +02:00