4451 Commits
Author SHA1 Message Date
Daniel Kirchner be37e3a912 Stricter check for member access to "this" in constructor. 2018-04-13 15:57:13 +02:00
Erik Kundt 8935c0dd2f Uses short string representation of TypePointer 2018-04-12 21:14:50 +02:00
chriseth 7054defdd6 Merge pull request #3364 from ethereum/revertWithReason
Revert with reason
2018-04-12 21:01:08 +02:00
chriseth 44416d1ac6 Merge pull request #2980 from ethereum/abi-api
Add abi.encode and abi.encodePacked
2018-04-12 20:55:03 +02:00
chriseth 75b8828666 Allow struct encoding with new encoder. 2018-04-12 16:37:16 +02:00
Daniel Kirchner 6862f22943 Fix internal compiler error when parsing `var` declaration without identifier. 2018-04-12 14:57:14 +02:00
chriseth 4faa839813 Use error signature for revert data. 2018-04-12 13:09:38 +02:00
chriseth fcb7a27216 Only forward returndata if EVM version supports it. 2018-04-12 13:09:38 +02:00
chriseth 7a9ee69e98 Bubble up error messages. 2018-04-12 13:09:38 +02:00
chriseth ae1d040285 Allow error string for `require`. 2018-04-12 13:09:37 +02:00
chriseth 012ab37fe3 Code generator for revert with reason string. 2018-04-12 13:09:37 +02:00
chriseth 8ab7dc036a Register overload for `revert()` that can receive a reason string. 2018-04-12 13:09:37 +02:00
chriseth f00bb43593 Allow function overloads involving MagicVariableDeclarations. 2018-04-12 13:09:37 +02:00
chriseth 17fc0f54b5 Use FunctionTypePointer (adds `const`). 2018-04-12 13:09:37 +02:00
chriseth c3dc67d0e0 Merge pull request #3848 from ethereum/constantDivisionByZero
Error on invalid arithmetic with constant expressions.
2018-04-12 11:49:08 +02:00
chriseth 7343c40283 Check partial function parameters if rest is arbitrary. 2018-04-12 00:10:25 +02:00
Alex Beregszaszi d56acb68ab Add abi.encode, abi.encodePacked, abi.encodeWithSelector and abi.encodeWithSignature. 2018-04-11 22:32:10 +02:00
chriseth b5a696ad48 Properly cope with constructor headers. 2018-04-11 22:00:21 +02:00
chriseth 2ad1acaf72 Warn if modifiers are applied to functions without implementation. 2018-04-11 22:00:21 +02:00
chriseth 6d289783b4 Fix state variable parsing. 2018-04-11 22:00:04 +02:00
chriseth ae3fca6db2 Merge pull request #3863 from ethereum/fixGasEstimation
Correctly ignore costs of fallback for other functions.
2018-04-11 21:53:41 +02:00
Daniel Kirchner daa69df447 Error on invalid arithmetic with constant expressions. 2018-04-11 21:17:10 +02:00
chriseth 928ce08845 Correctly ignore costs of fallback for other functions. 2018-04-11 19:42:34 +01:00
Daniel Kirchner cb548f6f53 Fix ConstantEvaluator to correctly handle single element tuples. 2018-04-11 18:30:34 +02:00
chriseth c9bdbcf470 Merge pull request #3309 from ethereum/limit-errors
Limit the number of errors output in a single run to 256
2018-04-11 16:13:41 +02:00
Jason Cobb 3b7b962b66 Fix bug in typechecking when comparing rational literals 2018-04-11 12:03:08 +02:00
Daniel Kirchner 3eedbc6a9c Error when using no parentheses in modifier-style constructor calls. 2018-04-10 12:09:34 +02:00
chriseth b52614116e Merge pull request #3821 from ethereum/warn-constructor-override
Warn constructor override
2018-04-10 11:39:31 +02:00
hydai aaa8edc36d Fixed typos 2018-04-10 13:41:35 +08:00
Daniel Kirchner 549ba801fb Use the most derived contract as main location in case of diamond inheritance. 2018-04-09 16:23:18 +02:00
Daniel Kirchner b918a105a4 Move constructor argument override check to TypeChecker and reuse annotations in ContractCompiler. 2018-04-09 15:26:08 +02:00
Daniel Kirchner b8fdb666e2 Allow duplicated constructor calls, if no arguments; support for multiple inheritance; backwards compatibility.
# tmp
2018-04-09 15:26:05 +02:00
Federico Bond 4e037281ac Error on duplicated super constructor calls 2018-04-09 11:22:35 +02:00
Daniel Kirchner b2753aa053 Static Analyzer: Fix non-deterministic order of unused variable warnings. 2018-04-06 18:10:26 +02:00
Alex Beregszaszi 43d2954de8 Do not abort excessive warnings, just ignore them. 2018-04-06 14:44:03 +02:00
Alex Beregszaszi 0812d1189a Ignore warnings when limited errors to 256 2018-04-06 13:52:19 +02:00
Alex Beregszaszi 3730f68d4b reindent 2018-04-06 13:52:19 +02:00
Alex Beregszaszi e8be0e61b3 Catch FatalError in CompilerStack::analysis to cover all the analysis tests 2018-04-06 13:52:19 +02:00
Alex Beregszaszi d5f40c141b Limit the number of errors output in a single run to 256 2018-04-06 13:52:19 +02:00
chriseth 543e1e19c7 Merge pull request #3831 from ethereum/memory-suffix
Allow ``memory`` suffix for internal elementary type parsing.
2018-04-05 17:02:43 +02:00
chriseth 4c50ed39d7 Merge pull request #3829 from ethereum/smt_remove_uf
[SMTChecker] Remove usage of UFs to access SSA vars
2018-04-05 16:07:07 +02:00
chriseth 5b1c0506fa Allow `memory` suffix for internal elementary type parsing. 2018-04-05 16:06:04 +02:00
Daniel Kirchner 037eba20fc Merge pull request #3824 from ethereum/baseArgumentsEmptyParenthesis
Error when using empty parentheses for base class constructors that r…
2018-04-05 14:43:28 +02:00
Leonardo Alt 8d087d1889 [SMTChecker] Removing usage of UFs to access SSA indices 2018-04-05 12:48:58 +02:00
Alex Beregszaszi 36d6c27e68 Merge pull request #3745 from ethereum/fixRecursion
Fix invalid recursion errors for structs
2018-04-05 12:04:54 +02:00
Daniel Kirchner 96eff0ff6a Error when using empty parenthesis for base class constructors that require arguments. 2018-04-05 11:52:22 +02:00
chriseth 65f18a18de More specific push implementation. 2018-04-04 16:50:45 +02:00
chriseth 0cbe55005d Create empty dynamic memory arrays more efficiently. 2018-04-04 12:37:04 +02:00
Daniel Kirchner 8f66390f56 Set isConstructor to false unconditionally and update to true later for constructors. 2018-04-03 18:21:55 +02:00
Daniel Kirchner e2dac9ed39 Set header.isConstructor for old style constructors in parseFunctionHeader as well. 2018-04-03 18:21:55 +02:00