Rhett Aultman
89b60ffbd4
Refactor error reporting
...
This commit introduces ErrorReporter, a utility class which consolidates
all of the error logging functionality into a common set of functions.
It also replaces all direct interactions with an ErrorList with calls to
an ErrorReporter.
This commit resolves issue #2209
2017-05-30 07:28:31 -07:00
Alex Beregszaszi
dcb7c51920
Add inline assembly test for sha3/keccak256
2017-05-30 13:57:44 +01:00
Alex Beregszaszi
524a52660d
Document keccak256 in assembly
2017-05-30 12:33:04 +01:00
Alex Beregszaszi
59d3a9d169
Add changelog entry for keccak256
2017-05-30 12:33:04 +01:00
Alex Beregszaszi
ff33297786
Add test for sha3() == keccak256()
2017-05-30 12:33:04 +01:00
Alex Beregszaszi
9e1c509cf5
Use keccak256() in tests (and not sha3())
2017-05-30 12:33:04 +01:00
Alex Beregszaszi
75e4a2be1b
Alias sha3 to keccak256 in inline assembly
2017-05-30 10:54:29 +01:00
Alex Beregszaszi
0c8beac357
Rename the SHA3 assembly instruction to KECCAK256
2017-05-30 10:54:29 +01:00
Alex Beregszaszi
0066a08aa8
Merge pull request #2322 from ethereum/userealhash
...
Use actual hash.
2017-05-29 20:04:45 +01:00
chriseth
8b29cc5535
Merge pull request #2319 from ethereum/virtualBlocks
...
Introduce virtual blocks for function arguments.
2017-05-29 16:52:51 +02:00
chriseth
4af55c78eb
Introduce virtual blocks for function arguments.
2017-05-29 16:18:16 +02:00
chriseth
9822deeed9
Merge pull request #2321 from ethereum/labelid_typedef
...
Introduce LabelID typedef.
2017-05-29 16:14:22 +02:00
chriseth
6d8afab928
Use actual hash.
2017-05-29 15:53:15 +02:00
chriseth
9adff68ecc
Introduce LabelID typedef.
2017-05-29 15:40:32 +02:00
chriseth
002df12d13
Merge pull request #2287 from ethereum/legacyAstCLI
...
add legacy/compact AST-format options to CLI
2017-05-29 14:24:55 +02:00
chriseth
2c4a107f43
Merge pull request #2311 from ethereum/julia-types
...
Validate types for Julia (part 1)
2017-05-29 14:12:38 +02:00
chriseth
4a5dc6a4ea
Merge pull request #2312 from ethereum/parser-cleanup
...
Parser cleanup (remove dependency on Solidity AST)
2017-05-29 14:04:01 +02:00
Alex Beregszaszi
751c97ca19
Pull out common code to a helper
2017-05-26 21:40:14 +01:00
Alex Beregszaszi
48f58aa3f9
Remove duplicate code
2017-05-26 21:02:31 +01:00
Alex Beregszaszi
9337003d5e
Use the new ParserBase API in AsmParser
2017-05-26 20:44:34 +01:00
Alex Beregszaszi
3459052ae8
Add scanner helpers to ParserBase
2017-05-26 20:44:34 +01:00
Alex Beregszaszi
2fefe3b549
Move Solidity specific methods from ParserBase to the Solidity Parser
2017-05-26 20:44:34 +01:00
Alex Beregszaszi
2a50e869d0
Move builtin type list to the top
2017-05-26 20:43:28 +01:00
Alex Beregszaszi
efadf7e41f
Change error message for invalid type
2017-05-26 20:42:17 +01:00
Alex Beregszaszi
8fe79fe706
Introduce Julia mode in AsmAnalyzer
2017-05-26 20:39:30 +01:00
Alex Beregszaszi
3b75c5b45f
Validate that only basic types are used in Julia
2017-05-26 20:39:10 +01:00
Alex Beregszaszi
dda497ca02
Move constructor to AsmAnalyzer header
2017-05-26 20:39:10 +01:00
chriseth
788b64ea61
Merge pull request #2291 from ethereum/evm15
...
Allow different assembly types and target machines.
2017-05-26 19:30:42 +02:00
chriseth
fe32531a16
More comments for assembly
2017-05-26 15:08:27 +02:00
chriseth
261731f7ee
Adapt EVM codegen to new namespace.
2017-05-26 15:08:27 +02:00
chriseth
71b923cc36
Move EVM codegen to libjulia.
2017-05-26 15:03:30 +02:00
chriseth
eaa13d42a0
Support multiple assembly front and backends.
2017-05-26 15:03:29 +02:00
chriseth
e022f11cdb
Merge pull request #2318 from ethereum/inlineasm-cleanup
...
Fix expected message in test case
2017-05-26 14:19:59 +02:00
Yoichi Hirai
2f3aaa46e9
Merge pull request #2315 from pjstadig/patch-1
...
Fix typo
2017-05-26 13:16:14 +02:00
Alex Beregszaszi
98c9051174
Fix expected message in test case
2017-05-26 11:16:12 +01:00
chriseth
f2804c49ed
Handle assembly in one go to allow for different stacks.
2017-05-26 11:50:26 +02:00
chriseth
9a23603af2
Commandline options.
2017-05-26 11:50:26 +02:00
chriseth
68e1e464be
Merge pull request #2316 from ethereum/inlineasm-cleanup
...
Better error message for elementary operations
2017-05-26 11:29:51 +02:00
chriseth
ec676ba9f2
Merge pull request #2224 from ethereum/julia-switch
...
Implement switch statement in the assembly parser/printer
2017-05-26 11:24:38 +02:00
chriseth
7126aadab1
Merge pull request #2310 from ethereum/julia-test-analyzer
...
Enable the analyzer for Julia tests
2017-05-26 11:15:05 +02:00
chriseth
e1519f4f27
Merge pull request #2307 from ethereum/compilerstack
...
Scanner requires only the SourcesSet state
2017-05-26 11:13:43 +02:00
chriseth
40d5d5a956
Also change error message.
2017-05-26 11:13:32 +02:00
Alex Beregszaszi
e410cec19a
Better error message for elementary operations
2017-05-26 09:41:53 +01:00
Alex Beregszaszi
05fcf1989c
Better error messages for invalid switch cases
2017-05-26 03:20:34 +01:00
Alex Beregszaszi
c64bd33784
Disallow instructions as a switch expression
2017-05-26 03:20:34 +01:00
Alex Beregszaszi
d745dd6542
Visit case bodies in scope filler
2017-05-26 03:20:34 +01:00
Alex Beregszaszi
0c5c1ca911
Add tests
2017-05-26 03:20:34 +01:00
Alex Beregszaszi
ba8a79c600
Do not stop on first switch error
2017-05-26 03:20:31 +01:00
Alex Beregszaszi
e48e84ca2b
Check token within parseCase
2017-05-26 03:20:15 +01:00
Alex Beregszaszi
db3d9e0416
Switch cases are not followed by colon
2017-05-26 03:20:15 +01:00