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 |
|
chriseth
|
f9bccab7b7
|
Merge pull request #2193 from ethereum/julia-assign-stack
Disallow assign from stack in Julia (=: var)
|
2017-04-27 22:00:33 +02:00 |
|
chriseth
|
6776be33a8
|
Merge pull request #2189 from ethereum/julia-instructions
Do not disallow EVM instructions as identifiers in Julia
|
2017-04-27 21:58:45 +02:00 |
|
Alex Beregszaszi
|
20206a04dd
|
Disallow assign from stack in Julia (=: var)
|
2017-04-27 19:20:53 +01:00 |
|
Alex Beregszaszi
|
8020144d06
|
Do not validate identifiers against EVM instructions in JULIA
|
2017-04-27 18:16:42 +01:00 |
|
Alex Beregszaszi
|
01b60a4f8d
|
Add flag for JULIA parsing
|
2017-04-27 18:16:42 +01:00 |
|
Alex Beregszaszi
|
b0485e327b
|
Make assembler errors fatal
|
2017-04-27 16:34:57 +01:00 |
|
Alex Beregszaszi
|
16276ab10b
|
Catch assembler exceptions and throw readable Solidity exceptions
|
2017-04-27 16:06:49 +01:00 |
|
Alex Beregszaszi
|
8b79517d47
|
Do not validate identifiers against EVM instructions in JULIA
|
2017-04-27 14:12:48 +01:00 |
|
Alex Beregszaszi
|
b48bc81d40
|
Add flag for JULIA parsing
|
2017-04-27 14:12:43 +01:00 |
|
djuju
|
5fd7942173
|
documentation, checks and renaming
|
2017-04-27 12:56:56 +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
|
d7b3ce24a4
|
Check stack height during code generation.
|
2017-04-26 17:12:04 +02:00 |
|
chriseth
|
f3ec2ba39e
|
Refactor to combined scope and stack height info.
|
2017-04-26 17:12:04 +02:00 |
|
chriseth
|
68218387cf
|
Store stack height in analysis phase.
|
2017-04-26 12:34:24 +02:00 |
|
chriseth
|
1d712c7d64
|
Fix storage access tests.
|
2017-04-25 16:49:04 +02:00 |
|
chriseth
|
e841b23bfd
|
Special case for storage types with offset zero.
|
2017-04-25 16:49:04 +02:00 |
|
chriseth
|
3df7b06464
|
Pass internal resolver to assembly analyzer.
|
2017-04-25 16:49:04 +02:00 |
|
chriseth
|
0ebaf220b5
|
Fix refactoring error.
|
2017-04-25 16:49:04 +02:00 |
|
chriseth
|
978884d9ca
|
Build fix.
|
2017-04-25 16:49:04 +02:00 |
|
chriseth
|
478f2997ea
|
Storage access from inline assembly.
|
2017-04-25 16:49:04 +02:00 |
|
chriseth
|
5f4b68e211
|
Another stack check.
|
2017-04-25 16:49:04 +02:00 |
|
chriseth
|
dfb7d5ebd9
|
Move analysis out of code generator.
|
2017-04-25 16:49:04 +02:00 |
|
chriseth
|
dfaab73efe
|
Only allow access to local variables and only if they have a stack size of one.
|
2017-04-25 16:49:04 +02:00 |
|
chriseth
|
f19e6a09a7
|
Check again that instruction argument count is correct.
|
2017-04-25 16:49:03 +02:00 |
|
chriseth
|
b622c2e9d3
|
Only run stack filler on AST elements that are or contain declarations.
|
2017-04-25 16:49:03 +02:00 |
|
chriseth
|
34717838da
|
Review comments.
|
2017-04-25 16:49:03 +02:00 |
|
chriseth
|
83bf34c571
|
Review comments and cleanup.
|
2017-04-25 16:49:03 +02:00 |
|
chriseth
|
4755757c00
|
Remove some errors checks from code generation (was moved to analysis already).
|
2017-04-25 16:49:03 +02:00 |
|
chriseth
|
580921b329
|
Perform stack height checks in assembly analysis phase.
|
2017-04-25 16:49:03 +02:00 |
|
chriseth
|
c4a0826f40
|
Add some missing error locations.
|
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
|
e0849f2f3b
|
Split external identifier access into resolving and code generation.
|
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 |
|
chriseth
|
72fdf755c9
|
Register functions.
|
2017-04-25 16:49:03 +02:00 |
|
chriseth
|
c3b839ca75
|
Merge pull request #2164 from ethereum/jsonio-catch-internal-exceptions
JSON IO catch internal exceptions
|
2017-04-25 10:45:59 +02:00 |
|
Alex Beregszaszi
|
5e7a643051
|
Catch jsoncpp exceptions
|
2017-04-24 22:49:50 +01:00 |
|
Alex Beregszaszi
|
2f66c69bd1
|
Do not crash on invalid JSON input
|
2017-04-24 22:38:03 +01:00 |
|
chriseth
|
4d111e3366
|
Merge pull request #2152 from ethereum/warnRevert
Warn about side-effect free statements.
|
2017-04-24 19:25:45 +02:00 |
|
chriseth
|
d3b8d5f049
|
Merge pull request #2161 from ethereum/jsonio-cleanup
Small cleanups to JSON IO
|
2017-04-24 17:12:37 +02:00 |
|
chriseth
|
2c3fea55df
|
Merge pull request #2159 from ethereum/jsonio-source-verify
Verify supplied hash in JSON I/O
|
2017-04-24 16:15:32 +02:00 |
|
Alex Beregszaszi
|
4a9ba5b952
|
Verify supplied hash in JSON I/O
|
2017-04-24 14:34:29 +01:00 |
|
Alex Beregszaszi
|
43eb839871
|
Do not fail if parsing failed in StandardCompiler
|
2017-04-24 11:44:33 +01:00 |
|
Alex Beregszaszi
|
3cd02ca148
|
Change error type names to not include spaces
|
2017-04-24 11:34:02 +01:00 |
|
Alex Beregszaszi
|
e24c35bce0
|
Be a bit more verbose and capture Boost exceptions in StandardCompiler
|
2017-04-24 11:34:02 +01:00 |
|
Alex Beregszaszi
|
c82a203206
|
Document that the ReadFileCallback should not emit exceptions
|
2017-04-22 14:08:28 +01:00 |
|
chriseth
|
c76e0a5872
|
Changed const reference to value.
|
2017-04-22 01:12:38 +02:00 |
|
Alex Beregszaszi
|
8de02c7778
|
Support URL sources in StandardCompiler
|
2017-04-21 16:44:15 +01: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
|
6ae7a87b78
|
Rename ast to legacyAST in StandardCompiler
|
2017-04-20 19:38:00 +01:00 |
|
Alex Beregszaszi
|
f71b465eb7
|
Ensure the language field is present in the JSON
|
2017-04-20 19:38:00 +01:00 |
|
Alex Beregszaszi
|
6d13260232
|
Pull out collectEVMObject
|
2017-04-20 19:38:00 +01:00 |
|
Alex Beregszaszi
|
413c146edd
|
Enclose local functions in a namespace
|
2017-04-20 19:38:00 +01:00 |
|
Alex Beregszaszi
|
aa0776d5e8
|
Support Why3 in StandardCompiler
|
2017-04-20 19:38:00 +01:00 |
|
Alex Beregszaszi
|
b513db74a0
|
Support gas estimates in StandardCompiler
|
2017-04-20 19:38:00 +01:00 |
|
Alex Beregszaszi
|
77d5148f0d
|
Reject import URLs for now
|
2017-04-20 19:38:00 +01:00 |
|
Alex Beregszaszi
|
df7e703925
|
Support the metadata.useLiteralContent setting
|
2017-04-20 19:38:00 +01:00 |
|
Alex Beregszaszi
|
ef559de84f
|
Properly split contract filename and name
|
2017-04-20 19:38:00 +01:00 |
|
Alex Beregszaszi
|
ad1fe86508
|
Support linkReferences
|
2017-04-20 19:38:00 +01:00 |
|
Alex Beregszaszi
|
2df52edfbd
|
Support new assembly output
|
2017-04-20 19:38:00 +01:00 |
|
Alex Beregszaszi
|
a87dd17d0f
|
Move opcodes inside the bytecode section
|
2017-04-20 19:38:00 +01:00 |
|
Alex Beregszaszi
|
63b6d0099f
|
Support methodIdentifiers
|
2017-04-20 19:38:00 +01:00 |
|
Alex Beregszaszi
|
f25efceaf8
|
Support proper error reporting in StandardCompiler
|
2017-04-20 19:38:00 +01:00 |
|
Alex Beregszaszi
|
b3c6b1e936
|
Refactor formatError
|
2017-04-20 19:38:00 +01:00 |
|
Alex Beregszaszi
|
2c15e2b541
|
Fail if no sources are given
|
2017-04-20 19:38:00 +01:00 |
|
Alex Beregszaszi
|
5aec120da3
|
Support the AST output
|
2017-04-20 19:38:00 +01:00 |
|
Alex Beregszaszi
|
50bb24af5e
|
Include source mapping identifier
|
2017-04-20 19:38:00 +01:00 |
|
Alex Beregszaszi
|
115458c50e
|
Output legacyAssembly in StandardCompiler
|
2017-04-20 19:38:00 +01:00 |
|
Alex Beregszaszi
|
4eaee772b3
|
Capture error messages from the JSON parser
|
2017-04-20 19:38:00 +01:00 |
|
Alex Beregszaszi
|
f8cb0766d4
|
Add formatFatalError() to StandardCompiler
|
2017-04-20 19:38:00 +01:00 |
|
Alex Beregszaszi
|
ce87984cc1
|
Parse remappings in StandardCompiler
|
2017-04-20 19:38:00 +01:00 |
|
Alex Beregszaszi
|
81775b2df6
|
Parse libraries in StandardCompiler
|
2017-04-20 19:38:00 +01:00 |
|
Alex Beregszaszi
|
13fa440d37
|
Parse optimizer settings in StandardCompiler
|
2017-04-20 19:38:00 +01:00 |
|
Alex Beregszaszi
|
418759ece0
|
Catch exceptions of StandardCompiler
|
2017-04-20 19:38:00 +01:00 |
|
Alex Beregszaszi
|
985db17e1e
|
Initial implementation of StandardCompiler
|
2017-04-20 19:38:00 +01:00 |
|
Alex Beregszaszi
|
5754b13b47
|
Add StandardCompiler skeleton
|
2017-04-20 19:38:00 +01:00 |
|
Alex Beregszaszi
|
bf074f3f41
|
Fix source index allocation in CompilerStack. Depending on compiler(optimisations) this could be off-by-one.
|
2017-04-20 19:20:14 +01:00 |
|
Yoichi Hirai
|
3cacea74c9
|
Merge pull request #2117 from ethereum/implementAsmOut
Implement missing assembly output functions and do not use PushString for assembly.
|
2017-04-18 18:11:25 +02:00 |
|
Alex Beregszaszi
|
54dcb0e11b
|
Keep gas values as a string in CompilerStack::gasEstimate
|
2017-04-13 02:18:29 +01:00 |
|
Alex Beregszaszi
|
3fbb48bd46
|
Exclude fallback function from the internal functions in estimateGas
|
2017-04-13 02:17:40 +01:00 |
|
Alex Beregszaszi
|
e6221108b6
|
Move gasEstimate into CompilerStack
|
2017-04-13 02:17:37 +01:00 |
|
chriseth
|
4d715e9055
|
Implement missing assembly output functions and do not use PushString for assembly.
|
2017-04-11 19:54:44 +02:00 |
|
Alex Beregszaszi
|
bd48f181b5
|
Merge pull request #2098 from ethereum/sourceformatter
Introduce formatExceptionInformation
|
2017-04-10 14:46:59 +01:00 |
|
Alex Beregszaszi
|
b1db6eac8b
|
Introduce formatExceptionInformation
|
2017-04-10 14:07:36 +01:00 |
|
Alex Beregszaszi
|
623b8eb107
|
Pull out ReadFile from CompilerStack
|
2017-04-10 12:49:47 +01:00 |
|
Federico Bond
|
e6f13353f2
|
Fix PostTypeChecker retaining state across contracts
|
2017-04-08 18:45:15 -03:00 |
|
chriseth
|
4792806b99
|
Fix: Contract inheriting from base with unimplemented constructor is abstract.
|
2017-03-21 18:12:08 +01:00 |
|
chriseth
|
5ced3af3a0
|
Visit structs only once.
|
2017-03-21 15:05:59 +01:00 |
|
Alex Beregszaszi
|
96c09fcbcd
|
Simplify interface checks for FunctionDefinition
|
2017-03-17 17:07:20 +00:00 |
|
Alex Beregszaszi
|
2067a00f22
|
Disallow private or internal functions in interfaces
|
2017-03-17 17:07:18 +00:00 |
|
Alex Beregszaszi
|
d5102c1db7
|
Disallow constructor in interfaces
|
2017-03-17 17:06:52 +00:00 |
|
Alex Beregszaszi
|
2c4bce2d62
|
Disallow enums in interfaces
|
2017-03-17 17:06:52 +00:00 |
|
Alex Beregszaszi
|
16a91ef90a
|
Use declared instead of defined
|
2017-03-17 17:06:52 +00:00 |
|
Alex Beregszaszi
|
f8da9a8fd5
|
Factor out tokenToContractKind
|
2017-03-17 17:06:52 +00:00 |
|
Alex Beregszaszi
|
4693aed177
|
Reject invalid definitions for interface contracts
|
2017-03-17 16:27:04 +00:00 |
|
Alex Beregszaszi
|
54230d2d5d
|
Support interface (contract) keyword in the parser
|
2017-03-17 16:27:04 +00:00 |
|
Alex Beregszaszi
|
6d4628ace4
|
Add ContractKind to ContractDefinition
|
2017-03-17 16:27:04 +00:00 |
|