Commit Graph

5140 Commits

Author SHA1 Message Date
wechman
f6543f772d Test for binding user type operator to error 2022-09-28 13:07:59 +02:00
wechman
e0c688d55d Add user operator tests for builtin types 2022-09-28 13:07:58 +02:00
wechman
6feb8aea73 Rework error handlig of user type operators 2022-09-28 13:07:58 +02:00
wechman
4fac7b54b3 Additional tests for user operators with calldata and storage parameters 2022-09-28 13:07:58 +02:00
wechman
b860561814 Simplify Type::userDefinedOperator function 2022-09-28 13:07:58 +02:00
wechman
e3f5c4c1b5 An extra assert for no operator for libraries in ASTJsonExporter::visit 2022-09-28 13:07:58 +02:00
wechman
c89eecf52b Update tests after code review 2022-09-28 13:07:58 +02:00
wechman
c61d5b457e Update UsingForDirective docstring 2022-09-28 13:07:58 +02:00
wechman
9e1ba093d5 Minor changes after code review 2022-09-28 13:07:58 +02:00
wechman
70255f8776 Revert "Update OperationAnnotation to use SetOnce for userDefinedFunction"
This reverts commit 29707c7b9a4884f0a5a8ada47cce4859401c8d53.
2022-09-28 13:07:57 +02:00
wechman
d124f83b88 Update OperationAnnotation to use SetOnce for userDefinedFunction 2022-09-28 13:07:12 +02:00
wechman
6fcd717ab4 More descriptive error message in TypeChecker::visit(UnaryOperation) 2022-09-28 13:06:25 +02:00
wechman
e001f8346b Update message of TypeError 5172 2022-09-28 13:06:25 +02:00
wechman
fee6b5f96c Type::userDefinedOperator takes return parameters into account 2022-09-28 13:06:25 +02:00
wechman
e8243d49bc Library function can be used as user operator 2022-09-28 13:06:25 +02:00
wechman
3be5114fb0 Update code to review comments 2022-09-28 13:06:25 +02:00
wechman
c1dc8df9c9 Adjust code to review findings 2022-09-28 13:06:25 +02:00
wechman
a8bf1f255d Adjust code to review findings 2022-09-28 13:06:25 +02:00
wechman
1084a34f28 Add control flow tests for "and" and "or" operators 2022-09-28 13:06:25 +02:00
wechman
43a612e420 Fix control flow check for unary operators 2022-09-28 13:06:20 +02:00
wechman
8307b670cb Handle not unique operators for user-defined type. 2022-09-28 12:10:27 +02:00
wechman
8272da0aea Add test: operator_parameter_with_wrong_data_location 2022-09-28 12:10:27 +02:00
wechman
61075e28db Minor code adjustments in ExpressionCompiler and IRGeneratorForStatements 2022-09-28 12:10:27 +02:00
wechman
beae1e6263 Disallow overriding operators for enums 2022-09-28 12:10:27 +02:00
wechman
275a43068c Update ViewPureChecker 2022-09-28 12:10:27 +02:00
wechman
c274d07a73 Remove out of date TODOs 2022-09-28 12:05:41 +02:00
wechman
d3d28e96a8 Update code to review comments 2022-09-28 12:05:41 +02:00
wechman
cf82accb14 Fix binary operation type checking function 2022-09-28 12:05:41 +02:00
wechman
73d9146077 Fix for ControlFlowBuilder 2022-09-28 12:05:41 +02:00
wechman
7fedb63dd3 Adjust type checking 2022-09-28 12:05:41 +02:00
wechman
56bcb525bc Unary operators with using for directive fix 2022-09-28 12:05:41 +02:00
wechman
6482f5bb17 Use user defined function return type as user defined operator type 2022-09-28 11:32:03 +02:00
Matheus Aguiar
58d19a51c6 Added few tests. 2022-09-28 11:32:03 +02:00
chriseth
3bd047f188 Using for for operators. 2022-09-28 11:32:03 +02:00
Alex Beregszaszi
725253551e Improve FunctionSelector helpers 2022-09-27 17:58:32 +02:00
Christian Parpart
d07c596f42 Renaming lspAssert to lspRequire plus adding some documentation to make it more clear what this function is supposed to be used for. 2022-09-26 12:14:56 +02:00
nishant-sachdeva
eafd7218b7 refactored struct message to use std::variant for _typeOrSeverity 2022-09-20 19:20:43 +05:30
nishant-sachdeva
c8011d8719 Cleaning up helpers around errors 2022-09-19 10:51:14 +05:30
Nikola Matic
e37dc8e975 Address review comments 2022-09-13 17:23:31 +02:00
Nikola Matic
feba1bfeff Rework metadata and cover with tests 2022-09-12 11:13:49 +02:00
Nikola Matic
314a1cc92f Command line tests and minor touch ups 2022-09-12 11:13:49 +02:00
Nikola Matic
f6f0d6a360 Make hardcoded parts of the optimizer sequence configurable 2022-09-12 10:57:36 +02:00
Damian Wechman
6b99162457
Merge pull request #13406 from ethereum/slot_on_reference_fix
Fix `.slot` accessing via mapping reference in assembly
2022-09-05 14:00:18 +02:00
Leo
242096695f
Merge pull request #13428 from ethereum/qualify-move
Add std:: qualifier to move() calls
2022-08-30 11:57:54 +02:00
Marenz
f7cc29bec1 Add std:: qualifier to move() calls 2022-08-30 11:12:15 +02:00
tcoyvwac
3d54bfd0c3
ast: condense duplicate code
AST.cpp:
* Added findClause() helper function to anonymous namespace.
2022-08-25 14:45:22 +02:00
Christian Parpart
c8074d2c6e lsp: Limit resolvesToRegularFile()'s recursion depth to 10. 2022-08-24 16:27:08 +02:00
Christian Parpart
3fc7debbef lsp: Code-review fixups. 2022-08-24 16:27:05 +02:00
Christian Parpart
b22d149e3c Adds extra check to only consider regular files (e.g. not directories / device files) for inclusion. 2022-08-22 14:53:15 +02:00
Christian Parpart
b6ba43234e lsp: Always load all solidity files from project for analyzing.
Co-authored-by: Kamil Śliwak <kamil.sliwak@codepoets.it>
2022-08-22 12:49:04 +02:00