Commit Graph

635 Commits

Author SHA1 Message Date
Alex Beregszaszi
cd5d93da2a Rename CompilerStack.metadata to CompilerStack.natspec 2017-05-19 16:11:04 +01:00
Alex Beregszaszi
4bf3cbb09a Use CompilerStack.contractABI directly 2017-05-19 15:57:36 +01:00
Alex Beregszaszi
41b5361b3f Run in optimizer mode when requested 2017-05-06 11:28:46 +01:00
Alex Beregszaszi
31bd4acf66 Split out common metadata validation code 2017-05-06 11:28:01 +01:00
Alex Beregszaszi
c4315521a3 Add basic test for jsonCompiler 2017-05-06 11:28:01 +01:00
chriseth
0582fcb93b Merge pull request #2194 from ethereum/removeerrorlabel
Remove error label / invalid jump label.
2017-05-05 14:25:43 +02:00
chriseth
00933b99cc Merge pull request #2206 from ethereum/fixoptimizer
Constant optimizer fix
2017-05-03 11:54:11 +02:00
chriseth
f3bb7350f1 Fix tests. 2017-05-03 11:30:40 +02:00
chriseth
230f51efb7 Cleanup, style and additional test. 2017-05-03 11:26:21 +02:00
chriseth
e3ed3623c7 More strict tests. 2017-05-03 11:26:21 +02:00
Rhett Aultman
a6faa5acf3 Treat returns with expressions as return param use
There are many cases of code where the return parameters exist mostly
as a form of documentation.  This change ensures that they do not have
to be used in the function body so long as there is a return supplying
values
2017-05-03 11:26:21 +02:00
Rhett Aultman
a40c8cfb68 Warn on unused local variables
Analyze functions for all local variables, parameters, and named
return variables which are never used in the function, and issue
a warning.
2017-05-03 11:26:21 +02:00
Alex Beregszaszi
c09f071ff6 Merge pull request #2211 from ethereum/jsonio-fixes
Follow the JSON I/O spec closely
2017-05-02 16:47:14 +01:00
Alex Beregszaszi
ed3ab3506a Follow the JSON I/O spec closely 2017-05-02 16:52:38 +02:00
chriseth
96870686a9 Style and stricter tests. 2017-05-02 15:48:58 +02:00
chriseth
e2f00c96d5 Stricter tests for constant optimization. 2017-05-02 12:20:00 +02:00
Rhett Aultman
e544698ad3 Deprecate use of unary '+'
The unary '+' serves no meaningful purpose in Solidity and it makes it
possible to produce typos with dagerous implications (e.g. 'a =+5 '),
so we are deprecating it.  The SyntaxChecker currently issues warnings
on the unary '+' but will still compile it for now.
2017-04-28 17:43:19 -07:00
chriseth
f33614e1f7 Merge pull request #2171 from ethereum/splitParseAndAnalyze
refactoring parse() into two separate functions
2017-04-28 17:19:31 +02:00
djuju
45f8c5aa88 enumchecks not working 2017-04-28 15:24:59 +02:00
chriseth
28f10f4783 Remove error label / invalid jump label. 2017-04-28 13:14:52 +02:00
djuju
99a7aefb75 refactoring parse() into two separate functions 2017-04-27 12:38:24 +02:00
Alex Beregszaszi
35f1cf92db Remove parentheses from around function return parameters 2017-04-27 10:08:02 +01:00
chriseth
2c1fb46bc3 Merge pull request #1711 from ethereum/asmfunctions
Assembly: Analysis stage for functions.
2017-04-26 17:47:48 +02:00
chriseth
1d712c7d64 Fix storage access tests. 2017-04-25 16:49:04 +02:00
Alex Beregszaszi
fa467c365c Fix test build 2017-04-25 16:49:04 +02:00
chriseth
478f2997ea Storage access from inline assembly. 2017-04-25 16:49:04 +02:00
chriseth
4afd54b235 Convert storge access tests to new explicit slot / offset access. 2017-04-25 16:49:04 +02:00
chriseth
34717838da Review comments. 2017-04-25 16:49:03 +02:00
chriseth
3f1f0316c6 Use raw string for tests. 2017-04-25 16:49:03 +02:00
chriseth
f13c8af3f9 Make tests comply with stack height checks. 2017-04-25 16:49:03 +02:00
chriseth
c6fa78c73e Use actual type checking phase of assembler. 2017-04-25 16:49:03 +02:00
chriseth
5d6747eb32 Refactor assembly analysis into scope filling and checking. 2017-04-25 16:49:03 +02:00
Yoichi Hirai
3c4c4abc2f Remove a test about SELFDESTRUCT because the test harness obtains refund while the gas meter should not assume the refund. 2017-04-25 16:47:44 +02:00
Yoichi Hirai
cee54deb3b test: fix invalid signatures 2017-04-25 16:47:44 +02:00
Yoichi Hirai
7da9ba68e9 test: add a test case about the gas cost of EXTCODESIZE 2017-04-25 16:14:58 +02:00
Yoichi Hirai
259c551c61 test: add a failing test case about the gas cost of SUICIDE opcode 2017-04-25 16:14:58 +02:00
Yoichi Hirai
00b15d53b9 Add a failing test about the gas cost of BALANCE 2017-04-25 16:14:58 +02:00
Yoichi Hirai
8387d0df83 test: add a test about gas costs of EXP 2017-04-25 16:14:58 +02:00
chriseth
9577f87dfc More pure tests. 2017-04-24 18:08:21 +02:00
chriseth
aad64d818a Test for side-effect free condition. 2017-04-21 20:09:37 +02:00
chriseth
937695bfdc Change error message. 2017-04-21 15:04:03 +02:00
chriseth
9bc9fe6af7 Warn about side-effect free statements. 2017-04-21 11:36:38 +02:00
Alex Beregszaszi
74373ecc7a Add test for legacyAST 2017-04-20 19:38:00 +01:00
Alex Beregszaszi
c29da75f96 Add test for bytecode 2017-04-20 19:38:00 +01:00
Alex Beregszaszi
a24ac2f285 Add compilation test and verify output 2017-04-20 19:38:00 +01:00
Alex Beregszaszi
137ef78e9a Trigger cases by the JSON (and not string) interface 2017-04-20 19:38:00 +01:00
Alex Beregszaszi
10ec334f74 Add basic tests for StandardCompiler 2017-04-20 19:38:00 +01:00
chriseth
766fa2fe85 Check that contract inheriting from base with unimplemented constructor is abstract. 2017-03-21 18:11:43 +01:00
Alex Beregszaszi
2067a00f22 Disallow private or internal functions in interfaces 2017-03-17 17:07:18 +00:00
Alex Beregszaszi
5a71e4f1a7 Add more complex tests for interfaces 2017-03-17 17:06:53 +00:00