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