Commit Graph

423 Commits

Author SHA1 Message Date
chriseth
ae1d040285 Allow error string for `require`. 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
c3dc67d0e0
Merge pull request #3848 from ethereum/constantDivisionByZero
Error on invalid arithmetic with constant expressions.
2018-04-12 11:49:08 +02:00
chriseth
2ad1acaf72 Warn if modifiers are applied to functions without implementation. 2018-04-11 22:00:21 +02:00
Daniel Kirchner
daa69df447 Error on invalid arithmetic with constant expressions. 2018-04-11 21:17:10 +02: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
Daniel Kirchner
3eedbc6a9c Error when using no parentheses in modifier-style constructor calls. 2018-04-10 12:09:34 +02: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
e8be0e61b3 Catch FatalError in CompilerStack::analysis to cover all the analysis tests 2018-04-06 13:52:19 +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
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
Daniel Kirchner
d664a599e6 Constructors are defined using the `constructor` keyword. 2018-04-03 18:21:55 +02:00
chriseth
eb5b18e814 Generalize cycle detection. 2018-04-03 16:29:18 +02:00
Alex Beregszaszi
7753249f64
Merge pull request #3699 from ethereum/interfaceExternalVisibility
Defaults to external visibility for interfaces.
2018-04-03 15:15:36 +01:00
Erik Kundt
f9efa41749 Makes visibility warning more concise. 2018-04-03 11:16:50 +02:00
bitshift
8fe1cfb12e Defaults to external visibility for interfaces. 2018-04-03 11:16:44 +02:00
chriseth
326d656a55
Merge pull request #3790 from ethereum/empty-structs
Disallow empty structs
2018-03-30 13:58:35 +02:00
chriseth
5c8a6aac69 Prevent encoding of weird types and support packed encoding of external function types. 2018-03-29 09:57:11 +01:00
Alex Beregszaszi
ebb12756ad Still allow empty structs for non-0.5.0 mode 2018-03-27 15:49:41 +01:00
Alex Beregszaszi
b540ba527a Disallow empty structs 2018-03-27 15:49:41 +01:00
chriseth
62559cf127
Merge pull request #3681 from ethereum/interface-external
Allow overriding external functions in interfaces with public in a child
2018-03-27 15:47:59 +02:00
bitshift
2c56e53046 Changes deprecation and adjusts tests. 2018-03-27 03:30:03 +01:00
bitshift
ed632025fe Moves blockhash function to global level. 2018-03-27 03:30:03 +01:00
Alex Beregszaszi
8bae2dba7c Introduce inContractKind helper on FunctionDefinition 2018-03-26 11:37:38 +01:00
Alex Beregszaszi
ef3595b000 Allow overriding external functions in interfaces with public in an implementing contract 2018-03-26 11:35:17 +01:00
chriseth
c2709a2d8e Decode dynamic data. 2018-03-21 14:53:29 +00:00
chriseth
cc2f71e4ac Move dynamic type removal out of the type system. 2018-03-21 14:53:29 +00:00
Alex Beregszaszi
ba8819542f
Merge pull request #3611 from ethereum/warn-using-address-overload
Warn if using address overloads on contracts
2018-03-06 19:13:55 +01:00
chriseth
baa1526539
Merge pull request #3664 from ethereum/literalsHexUnitSmallFix
Use double quotes for suggestion about hex literals and denominations.
2018-03-06 19:01:25 +01:00
Daniel Kirchner
b4d38c5491 Use double quotes for suggestion about hex literals and denominations. 2018-03-06 18:09:54 +01:00
chriseth
fd1662d1c4 Warn about using loose inline assembly features as experimental 0.5.0 feature. 2018-03-06 17:45:34 +01:00
Alex Beregszaszi
83dacbf669
Merge pull request #3549 from ethereum/fixmultidim
Properly detect which array and struct types are unsupported by the old ABI encoder.
2018-03-06 15:51:17 +01:00
chriseth
f6c0daec14
Merge pull request #3652 from ethereum/gasleft_v2
Use StaticAnalyzer to deprecate msg.gas instead of conditionally remo…
2018-03-06 09:26:14 +01:00
Daniel Kirchner
91b13b734d Use StaticAnalyzer to deprecate msg.gas instead of conditionally removing it in MagicType. 2018-03-05 23:16:26 +01:00
chriseth
3793aa405b
Merge pull request #3643 from ethereum/gasleft
Move msg.gas to global function gasleft(). Closes #2971.
2018-03-05 20:11:37 +01:00
chriseth
1ceb0b04c1 Assert that address members are not present on contract types in 0.5.0. 2018-03-05 15:55:02 +01:00
Alex Beregszaszi
fd60c1cf86 Warn if using address overloads on contracts 2018-03-05 15:50:27 +01:00
chriseth
6dc137317f
Merge pull request #3569 from ethereum/evmVersion
EVM version
2018-03-05 12:10:49 +01:00
Daniel Kirchner
c633c0eacb Move msg.gas to global function gasleft(). Closes #2971. 2018-03-05 11:18:04 +01:00
Daniel Kirchner
454b470cee Suggest expressions of the form '0x1234 * 1 day' instead of hex numbers with unit denominations. 2018-03-02 10:22:58 +01:00
chriseth
dc317a44e0 Provide EVM version to assembly analysis. 2018-03-01 17:19:35 +01:00
chriseth
a53d6b499d Use EVM version in type checker. 2018-03-01 17:19:35 +01:00
Daniel Kirchner
bd4c2b9bde Deprecate using unit denominations in combination with hex numbers. Closes #3574. 2018-03-01 16:58:55 +01:00