Commit Graph

9257 Commits

Author SHA1 Message Date
chriseth
f7392cc698 Tests. 2018-02-06 22:51:30 +01:00
chriseth
65c31ecaeb Remove recursive call to simplify with reversed arguments.
(We now have explicit rules for that).
2018-02-06 22:51:30 +01:00
chriseth
295f8c07ad Explicitly add reversed operands for commutative operations. 2018-02-06 22:51:30 +01:00
chriseth
9eea3f29ba Expression simplifier. 2018-02-06 22:51:30 +01:00
chriseth
591813638e Explanation of expression simplifier. 2018-02-06 22:51:30 +01:00
chriseth
b8074cdf78 Add flag to indicate whether it can be applied to expressions with side-effects. 2018-02-06 22:51:30 +01:00
chriseth
491d6d3e0c Move out the rule list. 2018-02-06 22:51:30 +01:00
Alex Beregszaszi
d786d65243
Merge pull request #3332 from ethereum/elimination_descirption
Rematerialisation step.
2018-02-06 14:40:41 +00:00
chriseth
c0abddc9dc Test for self-referring assignment. 2018-02-06 12:58:51 +01:00
chriseth
669b63ca5f Test not to remat if the expression is too large. 2018-02-06 12:38:32 +01:00
chriseth
88a5d152d0 Introduce struct for scopes. 2018-02-06 12:38:32 +01:00
chriseth
773be40c19 Reassign test for remat. 2018-02-06 12:38:32 +01:00
chriseth
2b6a7665ee Refactor data flow analysis out of remat. 2018-02-06 12:38:32 +01:00
chriseth
e100af592b Fix for rematerializer. 2018-02-06 12:31:43 +01:00
chriseth
22c4d282aa Only substitute if all referenced variables are in scope. 2018-02-06 12:31:43 +01:00
chriseth
30e6f69bfd Tests for rematerialiser. 2018-02-06 12:31:43 +01:00
chriseth
016fb18ef8 Rematerialisation. 2018-02-06 12:31:42 +01:00
chriseth
d400c44007 Description of variable eliminator. 2018-02-06 12:30:03 +01:00
chriseth
6b917eb528
Merge pull request #3351 from ethereum/remove_unused
Remove unused variables and functions
2018-02-06 12:08:59 +01:00
chriseth
0b8060648e Add comments to UnusedPruner 2018-02-06 10:15:41 +00:00
Alex Beregszaszi
33b27258e4 Add more tests for UnusedPruner 2018-02-06 10:15:41 +00:00
Alex Beregszaszi
2cbbe58281 Support variable declarations without assignment in UnusedPruner 2018-02-06 10:07:00 +00:00
chriseth
b0407cfac0 Unused variable and function remover. 2018-02-05 16:43:39 +00:00
chriseth
9c85589122 Utility to remove empty blocks. 2018-02-05 16:43:39 +00:00
chriseth
3c8b777b9b References counter. 2018-02-05 16:43:39 +00:00
chriseth
5437457f46
Merge pull request #3455 from ethereum/codesizemetric
Code size metric.
2018-02-05 17:12:55 +01:00
Alex Beregszaszi
c696803f0b
Merge pull request #3453 from ethereum/chriseth-patch-1
Remind authors of best practices.
2018-02-04 13:08:55 +00:00
Alex Beregszaszi
32300ea3ff
Merge pull request #3360 from federicobond/nonfatal-reference-errors
Replace some fatal errors when resolving references with normal ones
2018-02-04 13:07:55 +00:00
Federico Bond
aef9518039 Add more test cases for reference resolving error handling 2018-02-02 14:09:32 -03:00
Federico Bond
600e66e605 Replace some fatal errors when resolving references with normal ones 2018-02-02 14:09:32 -03:00
chriseth
eb42720145 Code size metric. 2018-02-02 15:28:41 +01:00
chriseth
01ba8b7e1f
Remind authors of best practices. 2018-02-01 17:13:46 +01:00
chriseth
07f8f96c94
Merge pull request #3450 from ethereum/interface-public-visibility
Issue warning for using public visibility for interface functions
2018-02-01 13:54:51 +01:00
Alex Beregszaszi
b545987ec7 Issue warning for using public visibility for interface functions 2018-02-01 10:28:00 +00:00
chriseth
cc1c461fc0
Merge pull request #3447 from fulldecent/patch-7
Fix new Solidity warnings, for #3379
2018-01-29 20:06:02 +01:00
William Entriken
b517ebb8bc
Fix new Solidity warnings, for #3379 2018-01-29 10:26:07 -05:00
chriseth
bd3692f1e6
Merge pull request #3431 from fulldecent/patch-7
Add mutability declaration to example, for #3379
2018-01-29 13:44:43 +01:00
chriseth
a668b9dee0
Merge pull request #3440 from ysqi/patch-1
update types
2018-01-29 13:40:15 +01:00
William Entriken
1cc31bacef
Remove useless self assignment 2018-01-28 17:41:09 -05:00
YuShuangqi
0ef43978fd
update types
correct the mistakes in writings
2018-01-27 07:36:25 +08:00
chriseth
9028610b45
Merge pull request #3424 from wbt/addDecompilerLink
Correct FAQ answer re: decompiler
2018-01-26 19:22:15 +01:00
wbt
efcc8efffa
Respond to chriseth's suggestions
https://github.com/ethereum/solidity/pull/3424#pullrequestreview-90873869
2018-01-26 13:15:22 -05:00
chriseth
bbad48bb34
Merge pull request #3439 from hyperfekt/lib-inline-clarification
fixes #1209
2018-01-26 16:00:52 +01:00
hyperfekt
b4fb7255dd
fixes ethereum/solidity#1209
This clears up a common and easy misunderstanding which seems to occur rather often.
(https://ethereum.stackexchange.com/questions/8263/trying-to-understand-libraries)
2018-01-26 15:32:11 +01:00
chriseth
e7afde9587
Merge pull request #3203 from ethereum/nocall
Prevent libraries from being called.
2018-01-25 16:45:54 +01:00
chriseth
513c771e2c
Merge pull request #3433 from ZoOgY-DoOgY/patch-1
Inheritance, "super" and DDD
2018-01-24 15:38:17 +01:00
ZoOgY-DoOgY
4f753233f7
Inheritance, "super" and DDD
As explained in "Multiple Inheritance and Linearization" part, "a simple rule to remember is to specify the base classes in the order from “most base-like” to “most derived”". So "contract Final is Base1, Base2" means Final is derived from Base2, derived from Base1, so the final inheritance sequence should be, starting with the most derived contract : Final, Base2, Base1, mortal, owned.
2018-01-24 13:38:47 +01:00
Alex Beregszaszi
b177352a87
Merge pull request #3430 from fulldecent/patch-6
Support macOS High Sierra for install_deps script
2018-01-24 03:29:03 +00:00
William Entriken
053e634276
Add mutability declaration to example, for #3379 2018-01-23 21:52:58 -05:00
William Entriken
a8e7637faa
Support macOS High Sierra for install_deps script 2018-01-23 21:33:22 -05:00