Alex Beregszaszi
32cb5207b3
Add more tests to ViewPureChecker
2020-10-02 11:57:35 +01:00
chriseth
3af21c92d2
Merge pull request #9702 from a3d4/fix-7410-arrays-of-mappings
...
Fix ICE caused by an array of mappings
2020-09-30 20:24:09 +02:00
Harikrishnan Mulackal
3970412422
Implemented events with function type as one of its indexed parameters
2020-09-30 12:11:38 +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
chriseth
9115100f2a
Merge pull request #9909 from ethereum/fix-9890
...
Fix missing annotation settings because of early return
2020-09-28 12:27:43 +02:00
Mathias Baumann
76bb2cafe9
Fix missing annotation settings because of early return
2020-09-28 12:12:44 +02:00
chriseth
bab2d6d644
Merge pull request #9852 from ethereum/fix-9851
...
Typechecker: Disallow free function redefinition
2020-09-28 11:15:47 +02:00
a3d4
9721bda36e
Complete error coverage of ParserBase
2020-09-28 01:56:25 +02:00
Bhargava Shastry
e2a2276272
Contract level checker: Disallow free function redefinition and alias
...
shadowing another free function
Co-authored-by: chriseth <chris@ethereum.org>
2020-09-25 17:09:58 +02:00
Alex Beregszaszi
e54110ff17
Return UTF-8 error in BoolResult and remove it from string type
2020-09-23 17:35:05 +01:00
Alex Beregszaszi
a154594de6
Display string literal as hex in error messages if it is not printable ASCII
2020-09-23 17:33:39 +01:00
Alex Beregszaszi
0e5abbd4a9
Display location of invalid UTF-8 sequence in unicode literals in SyntaxChecker
2020-09-23 17:01:02 +01:00
Alex Beregszaszi
ca743191b7
Report why assigning oversized hex strings to bytes fail
2020-09-23 16:46:47 +01:00
Alex Beregszaszi
af8d78010e
Display BoolResult from implicit/explicit conversions for more clarity in error messages
2020-09-23 16:04:07 +01:00
chriseth
700cc4c9d3
Merge pull request #9836 from ethereum/fix-missing-check-for-nested-dynamic-arrays-with-abi-encode-decode-v1
...
Add missing check for nested dynamic arrays in abi.encode()/decode() functions in ABIEncoderV1
2020-09-22 15:49:17 +02:00
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
chriseth
73506e2858
Merge pull request #9530 from a3d4/improve-error-coverage-referenceresolver
...
Complete error coverage of ReferenceResolver
2020-07-28 21:12:54 +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
Alex Beregszaszi
291c00c3de
Remove errenous error duplication and move some tests around
2020-07-28 10:45:27 +01:00
chriseth
53d497fc31
Merge pull request #9412 from ethereum/unicode-string
...
[BREAKING] Support unicode string literal type
2020-07-28 11:42:23 +02:00
Alex Beregszaszi
f5f86779b8
Update tests for unicode literals
2020-07-27 18:21:17 +01:00
Alex Beregszaszi
5bfcc1ffcc
Update tests for string literals
2020-07-27 18:21:17 +01:00
chriseth
f24097c38d
Fix internal error for invalid data location in constructor.
2020-07-27 15:00:17 +02:00
chriseth
1a1960ede0
Merge pull request #9466 from ethereum/fixTokens
...
Properly sort token list.
2020-07-27 10:42:31 +02:00
chriseth
7ff3d10fee
Merge pull request #9492 from ethereum/someValueTests
...
Some more tests for value.
2020-07-23 19:09:28 +02:00
a3d4
5b54cfbed3
Report an error if immutables not assigned
2020-07-23 16:38:54 +02:00
chriseth
4f611fbf17
Some more tests for value.
2020-07-23 14:57:47 +02:00
chriseth
a1da90d14b
Adding more tests for function types
2020-07-23 14:55:32 +02:00
Djordje Mijovic
e7d5a7da10
[TypeChecker] Remove function input and return parameter names from mobileType
2020-07-23 14:39:49 +02:00
chriseth
8cfbe02cc0
Fix token list.
2020-07-23 14:28:28 +02:00
chriseth
6bb6783d39
Merge remote-tracking branch 'origin/develop' into breaking
2020-07-22 15:26:44 +02:00
a3d4
7e0a291fac
Add "Only one receive function is allowed"-error to syntax tests
2020-07-22 04:09:24 +02:00
chriseth
8b7567f963
Fix merge conflicts.
2020-07-21 15:06:57 +02:00
chriseth
9be5ed1220
Merge remote-tracking branch 'origin/develop' into breaking
2020-07-21 11:35:28 +02:00
a3d4
ecdfef1b30
Replace grave accent with acute accent
2020-07-21 00:18:47 +02:00
chriseth
10f93fbd8a
Merge pull request #9428 from ethereum/removeVar
...
Remove special treatment of ``var``.
2020-07-20 18:43:44 +02:00
Mathias Baumann
ba0a4de50d
NatSpec: Implement `@inheritdoc
`
2020-07-20 18:32:18 +02:00
chriseth
93c792c696
Remove special treatment of `var
`.
2020-07-20 17:22:04 +02:00
Mathias Baumann
446d15488c
Update tests for new public var override rules
2020-07-20 15:18:23 +02:00
chriseth
c8772a54c3
Constants are considered pure.
2020-07-20 15:18:23 +02:00
chriseth
d3647b13e4
Disallow public state variables overriding pure functions.
2020-07-20 15:18:23 +02:00
Mathias L. Baumann
69a596b0ff
Merge pull request #9418 from ethereum/stateMutForOverride
...
Issue state mutability restriction for overriding and not for virtual functions.
2020-07-20 15:01:25 +02:00
Leonardo Alt
2e1067a05a
Set type properly for event parameters
2020-07-17 11:17:27 +02:00
chriseth
ba21d26f88
Merge pull request #9344 from ethereum/issue-3412
...
Allow overrides to have a more strict mutability than super
2020-07-16 18:50:51 +02:00
Mathias Baumann
dfffecfe2c
Allow overrides to have a more strict mutability than super
2020-07-16 17:55:12 +02:00
chriseth
aa3f51ab47
Issue state mutability restriction for overriding and not for virtual functions.
2020-07-16 17:19:35 +02:00
chriseth
f945163909
Merge pull request #9432 from ethereum/develop
...
Merge develop into breaking.
2020-07-16 17:14:45 +02:00
Alex Beregszaszi
eab12ecf77
Nicer error message for private payable functions
2020-07-14 14:38:12 +01:00