Commit Graph

1345 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
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
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
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
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
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
Marenz
f7cc29bec1 Add std:: qualifier to move() calls 2022-08-30 11:12:15 +02:00
Daniel Kirchner
9a429e2300 Fix ICE on invalid tuple assignments. 2022-08-09 12:41:47 +02:00
Nikola Matic
40de2b0442 Add full stops to error messages 2022-08-05 09:52:48 +02:00
Duc Thanh Nguyen
a9e03f5e4a Fix out-of-range compiler crash for nested tuple assignment involving
outer unary tuple
2022-08-04 12:45:46 -04:00
Matheus Aguiar
9acf693aa2 Fixed bad cast when abiEncodeCall receives a tuple from a function. 2022-08-03 18:48:38 -03:00
Duc Thanh Nguyen
5072472917 Fix abi.encodeCall checks 2022-07-25 12:40:54 -04:00
chriseth
e2675002ca Settings struct for name resolution. 2022-07-14 17:22:17 +02:00
Duc Thanh Nguyen
0a14368315 Display human readable type name in conversion error message 2022-07-06 10:49:51 -04:00
Mathias L. Baumann
03409beb1d
Update libsolidity/analysis/NameAndTypeResolver.h
Co-authored-by: Damian Wechman <damian.wechman.it@gmail.com>
2022-06-22 13:25:24 +02:00
Marenz
18784cff81 Add all path declarations in IdentifierPath annotation 2022-06-20 18:08:57 +02:00
Ryan
3b2c6de61c Propagate purity information for member access to foreign pure variables 2022-06-16 17:11:55 +05:30
Daniel Kirchner
16245f7b9b Warn about multiple assignments to storage byte pushes and fix warnings about multiple storage to storage copies.
Co-authored-by: Kamil Śliwak <kamil.sliwak@codepoets.it>
2022-06-15 13:53:05 +02:00
Daniel Kirchner
d30b04674e Add resolveUnaryTuples helper. 2022-06-15 13:15:26 +02:00
Daniel Kirchner
53c4facf4e Fix compilation error. 2022-06-15 11:14:50 +02:00
Ryan
4b7ed2d47a Display human readable type name in conversion error message 2022-06-08 18:23:51 +05:30
chriseth
dfa0bcf760 More strict override check for data locations. 2022-05-17 13:02:12 +02:00
chriseth
505fa7763f Fix checks for "using for ... global" for libraries. 2022-05-02 12:40:56 +02:00
Ryan
3a17274691 Improve error message for static array with size too large 2022-04-05 17:36:37 +02:00
chriseth
755e043a6d Use error message for unary operators. 2022-04-04 16:53:36 +05:30
nishant-sachdeva
4c6066bfad typeCheckAbiEncodeCallFunction should type check the arguments on functionPointerType->asExternallyCallableFunction instead of teh plain function type 2022-03-24 18:53:46 +05:30
chriseth
28593839d9 Add helper to see if a switch has a default case. 2022-03-15 14:29:54 +01:00
chriseth
9188519f11 Using for with global binding. 2022-03-14 17:39:14 +01:00
Daniel Kirchner
0f1a63c3fa Fix import directive visits in type checker and view pure checker. 2022-03-14 14:53:06 +01:00
hrkrshnn
672951ccc7 Extend using-for. 2022-03-14 12:33:44 +01:00