Commit Graph

1479 Commits

Author SHA1 Message Date
Rhett Aultman
e434437eb7 Unary + now a synax error (experimental 0.5.0)
The unary + was deprecated with a warning, but will be elevated to an
error in 0.5.0.  This adds the syntax error for the 0.5.0 pragma, and
for a true 0.5.0 release we should consider removing the operator from
the parser.
2017-09-29 17:50:25 +01:00
Alex Beregszaszi
b1741b7735 Validate array length in type checker 2017-09-29 16:44:00 +01:00
Alex Beregszaszi
d5d1a08b09 Pull out helper to apply address member to contract members 2017-09-28 14:54:15 +01:00
Alex Beregszaszi
aa6de49457 Simplify address overloading 2017-09-28 14:53:41 +01:00
Alex Beregszaszi
7cb4d714c7 Fix overload resolution when conflict is with members of address (balance, transfer, etc) 2017-09-28 13:57:19 +01:00
Alex Beregszaszi
010189d58e Merge pull request #2986 from ethereum/fixsourcelocationofvariabledecsatement
Fix source location of VariableDeclarationStatement.
2017-09-28 13:50:23 +01:00
chriseth
639b85f498 Fix source location of VariableDeclarationStatement. 2017-09-27 19:27:36 +02:00
chriseth
3ebe29a031 Better readable encoder assembly. 2017-09-27 15:59:59 +02:00
Alex Beregszaszi
3f783c8dad Merge pull request #2975 from ethereum/encode-memory
Split encodeToMemory into packedEncode and abiEncode
2017-09-27 13:04:37 +01:00
Alex Beregszaszi
204214f070 Split encodeToMemory to packedEncode and abiEncode 2017-09-27 11:32:19 +01:00
Alex Beregszaszi
0dda5eeca3 Order GlobalContext entries 2017-09-27 11:19:53 +01:00
Alex Beregszaszi
82673b7b3f Format GlobalContext for readability 2017-09-27 11:19:53 +01:00
Alex Beregszaszi
a657d3b1a1 Make most of the parameters mandatory in encodeToMemory 2017-09-27 11:15:27 +01:00
chriseth
9c62647f19 Merge pull request #2978 from ethereum/infer-location
Report correct location for inferred types in packed encoding
2017-09-27 12:13:01 +02:00
Alex Beregszaszi
dcb61352f6 Report correct location for inferred types in packed encoding 2017-09-27 10:21:24 +01:00
Alex Beregszaszi
ee65ecfb3b Ensure that address types are always declared as 160bit 2017-09-26 22:46:33 +01:00
chriseth
af4d8779bb Merge pull request #2934 from ethereum/fallthrough
Remove last two instances of switch fall-through
2017-09-26 11:38:22 +02:00
Alex Beregszaszi
cb6cdfe780 Simplify switch statements by refactoring internal break statements 2017-09-25 10:57:21 +01:00
Alex Beregszaszi
74972f5fa6 Avoid switch fallthrough in ExpressionCompiler 2017-09-25 10:51:58 +01:00
Alex Beregszaszi
3e5d81578a Avoid switch fallthrough in CompilerUtils 2017-09-25 10:51:58 +01:00
wadeAlexC
0099911ace Better error message for unexpected trailing comma in parameter lists 2017-09-25 10:42:01 +01:00
chriseth
2530223ab5 More verbose errors for generated assembly. 2017-09-22 15:18:32 +02:00
chriseth
8af298ade3 Merge pull request #2902 from ethereum/warn-obsolete
Warn about obsolete sha3/suicide calls
2017-09-20 18:00:40 +02:00
Alex Beregszaszi
6948758156 Limit parser recursion depth further (needed by increased assembly data structure size) 2017-09-20 11:16:23 +02:00
Alex Beregszaszi
3b813ed295 Support multiple assignment in inline assembly 2017-09-20 11:16:23 +02:00
Alex Beregszaszi
efa4598c23 Mark functions static 2017-09-20 01:23:21 +01:00
Alex Beregszaszi
1c0c5d923a Mark constructors explicit 2017-09-20 01:23:21 +01:00
Alex Beregszaszi
aad829948a Ensure parameter names match between headers and implementation 2017-09-20 01:23:21 +01:00
Alex Beregszaszi
ed1fd49ab0 Warn about obsolete sha3/suicide calls 2017-09-19 11:11:19 +01:00
chriseth
ff275e369c Allow constant byte arrays. 2017-09-18 19:49:27 +01:00
chriseth
3a9a9db6d6 Merge pull request #2910 from ethereum/fallback-restrict-external
Force fallback to be external (experimental 0.5.0 change)
2017-09-18 16:38:55 +02:00
Alex Beregszaszi
a3380ea8d0 Force fallback to be external (experimental 0.5.0 change) 2017-09-18 11:58:37 +01:00
chriseth
0696545808 Check for interface types of members and cache recursion check. 2017-09-16 12:31:13 +01:00
chriseth
c5063d3155 Use "tuple" for struct types in ABI JSON.
Only use tuple as a type in the ABI (and remove all "anonymous struct" references too)
2017-09-16 12:31:12 +01:00
chriseth
70d70e7816 Implement struct encoder. 2017-09-16 12:31:12 +01:00
chriseth
6385641f6e Fix tests. 2017-09-16 12:31:12 +01:00
chriseth
7e1b9c1652 Structure type json using "components". 2017-09-16 12:12:44 +01:00
chriseth
36a90289e6 Fix interface type conversion internal to structs. 2017-09-16 12:12:43 +01:00
chriseth
080be885f8 Function signatures containing structs. 2017-09-16 12:12:43 +01:00
chriseth
22f85d5af3 Update tests and error messages. 2017-09-16 12:12:43 +01:00
chriseth
59ea19b3b9 Check for recursive structs. 2017-09-16 12:12:43 +01:00
chriseth
2e72bd163a Allow structs as part of function interfaces. 2017-09-16 12:12:43 +01:00
chriseth
80ce3ca66f Move ABI encoder into its own function. 2017-09-15 20:46:32 +01:00
chriseth
73771f5bb2 Named assembly labels. 2017-09-15 20:44:49 +01:00
Alex Beregszaszi
7dd372ce5c Merge pull request #2904 from ethereum/viewPure5
Enforce view with error for experimental 0.5.0.
2017-09-14 18:13:56 +01:00
chriseth
24fd67b7db Enforce view with error for experimental 0.5.0. 2017-09-14 17:53:43 +02:00
Alex Beregszaszi
5b5367dc12 Warn if no visibility is specified on contract functions. 2017-09-14 15:58:04 +01:00
Alex Beregszaszi
06c2ddfd50 Add experimental feature 'v0.5.0' 2017-09-13 19:22:03 +01:00
Alex Beregszaszi
5c9dbd5083 Merge pull request #2473 from ethereum/functiontype-sig
Add .selector member on function types
2017-09-13 17:35:48 +01:00
chriseth
3f3bcc4f8a Merge pull request #2848 from ethereum/checkViewPure
Enforce view and pure.
2017-09-13 18:29:13 +02:00