Commit Graph

22805 Commits

Author SHA1 Message Date
wechman
59c8ec0e65 Operators SHL, SAR, Exp and Not can be bound as a user type operators 2022-09-28 13:08:32 +02:00
wechman
27249cfa52 Update 2271 and 5653 error messages to mention the errors are related to the binary operator. 2022-09-28 13:08:32 +02:00
wechman
697d279165 Rename unctionType::bound() to unctionType::boundToType() 2022-09-28 13:08:32 +02:00
wechman
c5640fb125 Unify vocabulary related to the feature. 2022-09-28 13:08:32 +02:00
wechman
6d710920c5 CFGNode stores function definition 2022-09-28 13:08:30 +02:00
wechman
5572d3aed8 Adjustments after review 2022-09-28 13:07:59 +02:00
wechman
3bc52acbd1 Update documentation of using-for directive 2022-09-28 13:07:59 +02:00
wechman
eefb107e4d Update "using for" directive type checking 2022-09-28 13:07:59 +02:00
wechman
acf4557c41 Rename overridable to overridableOperators 2022-09-28 13:07:59 +02:00
wechman
b7d5d6bfaf Additional tests for using for directive 2022-09-28 13:07:59 +02:00
wechman
6ebefdd1f8 Add test for external call inside operator function 2022-09-28 13:07:59 +02:00
wechman
9badef916e Additional tests for user type operators 2022-09-28 13:07:59 +02:00
wechman
f6543f772d Test for binding user type operator to error 2022-09-28 13:07:59 +02:00
wechman
1218b207ef Add test cases for user type operators with global using for directive 2022-09-28 13:07:59 +02:00
wechman
bd758a5e35 Call user defined type operator by member function 2022-09-28 13:07:59 +02:00
wechman
516e92ee96 Add test for operator overloaded by data location 2022-09-28 13:07:59 +02:00
wechman
616988da15 Test case for user operator bind a bound free function 2022-09-28 13:07:59 +02:00
wechman
b5f61285b7 Test cases for bindng operators to builtin functions 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
c6ad99c3b1 Add FunctionCallGraph unit tests for user defined operators 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
7d12eb5745 Add user operator test cases 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
6c4325ca03 Add tests for ViewPureChecker with custom operators 2022-09-28 12:10:27 +02:00
wechman
545013898e Remove duplicated test 2022-09-28 12:10:27 +02:00
wechman
c7d41fd595 Update tests after error handling adjustment 2022-09-28 12:10:27 +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
f9a6da293f Update solidity grammar parser 2022-09-28 12:05:41 +02:00
wechman
d3d28e96a8 Update code to review comments 2022-09-28 12:05:41 +02:00