Commit Graph

100 Commits

Author SHA1 Message Date
Daniel Kirchner
3984beef7d Remove constant keyword from parser. 2018-07-03 15:31:34 +02:00
Erik Kundt
2e9f5d1c98 Introduces emit token and removes identifier workaround. 2018-06-11 21:21:22 +01:00
mingchuan
b7cafcbdf9
Allow using calldata keyword to specify data location 2018-05-30 18:05:55 +08:00
chriseth
3ca6738114 Add assert about source location. 2018-05-16 03:52:24 +02:00
chriseth
67d208d144 Parse multi variable declaration statement. 2018-05-16 03:22:45 +02:00
chriseth
fe8f38a7a4 Assert integrity of empty IndexAccessPath structure. 2018-05-09 14:55:36 +02:00
chriseth
be54f48197 Further refactor. 2018-05-09 11:48:21 +02:00
chriseth
86b7adc18f Refactor expression parser. 2018-05-09 11:48:21 +02:00
Alex Beregszaszi
cc10839073 Have more uniform parser errors 2018-05-04 13:27:05 +01:00
Alex Beregszaszi
ed9f80690b Simplify expectIdentifierToken by using expectToken 2018-05-03 22:10:51 +01:00
Alex Beregszaszi
73c99d15cd Remove useless helper expectAssignmentOperator in parser 2018-05-03 21:35:38 +01:00
chriseth
d44fb03322 Refactor parser. 2018-04-26 10:59:02 +02:00
Daniel Kirchner
6862f22943 Fix internal compiler error when parsing `var` declaration without identifier. 2018-04-12 14:57:14 +02:00
chriseth
b5a696ad48 Properly cope with constructor headers. 2018-04-11 22:00:21 +02:00
chriseth
2ad1acaf72 Warn if modifiers are applied to functions without implementation. 2018-04-11 22:00:21 +02:00
chriseth
6d289783b4 Fix state variable parsing. 2018-04-11 22:00:04 +02:00
Daniel Kirchner
3eedbc6a9c Error when using no parentheses in modifier-style constructor calls. 2018-04-10 12:09:34 +02:00
Daniel Kirchner
96eff0ff6a Error when using empty parenthesis for base class constructors that require arguments. 2018-04-05 11:52:22 +02:00
Daniel Kirchner
8f66390f56 Set isConstructor to false unconditionally and update to true later for constructors. 2018-04-03 18:21:55 +02:00
Daniel Kirchner
e2dac9ed39 Set header.isConstructor for old style constructors in parseFunctionHeader as well. 2018-04-03 18:21:55 +02:00
Daniel Kirchner
d664a599e6 Constructors are defined using the `constructor` keyword. 2018-04-03 18:21:55 +02:00
chriseth
388718b59f Introduce emit statement. 2018-02-22 15:17:30 +01:00
chriseth
e2bf5de8a2 Expect end of string at end of top-level block for assembly parser. 2018-02-21 00:41:39 +01:00
Federico Bond
14fd647b85 Fix event parsing. Refs #3175 2017-11-22 23:08:12 -03:00
chriseth
639b85f498 Fix source location of VariableDeclarationStatement. 2017-09-27 19:27:36 +02:00
wadeAlexC
0099911ace Better error message for unexpected trailing comma in parameter lists 2017-09-25 10:42:01 +01:00
chriseth
122e65f8f4 Crash fix, parseTypeName can return null. 2017-08-28 15:13:02 +02:00
Alex Beregszaszi
da56bde58f Move the break in switch for readability 2017-08-25 16:02:05 +01:00
Alex Beregszaszi
f2317670fa Remove two other fall-through cases in Parser 2017-08-25 14:24:07 +01:00
Alex Beregszaszi
ef8355da7f Remove fallthrough from literal parsing 2017-08-25 14:22:59 +01:00
Alex Beregszaszi
5668377c72 Introduce pure specifier on functions 2017-08-24 13:46:18 +01:00
chriseth
8af6f193bc Merge pull request #2770 from ethereum/recursionInAsm
Also prevent too much recursion in the assembly parser.
2017-08-24 11:14:01 +02:00
Alex Beregszaszi
efe4d68a7b Introduce view (and keep constant as an alias) 2017-08-22 18:24:22 +01:00
chriseth
692e4c57e8 Check recursion depth in assembly parser. 2017-08-22 12:44:22 +02:00
Alex Beregszaszi
2a5772cff7 Mark appropriate constructors explicit 2017-08-22 10:51:46 +01:00
chriseth
32e43477c3 Prevent too deep recursion in parser. 2017-08-14 22:19:15 +02:00
Alex Beregszaszi
2a9ba937ba Replace constant/payable with StateMutability in AST 2017-08-14 14:21:47 +01:00
Federico Bond
a8c047f48d Enforce commas in tuple syntax 2017-08-11 17:28:48 +01:00
Alex Beregszaszi
b210db8058 Make toString(visibility) a helper 2017-08-09 14:58:59 +01:00
Alex Beregszaszi
efd45f64a5 Show previous visibility specifier in parser error 2017-08-09 14:30:17 +01:00
Alex Beregszaszi
a8ca623a0f Add test for multiple visibilites on functions 2017-08-09 14:30:02 +01:00
Alex Beregszaszi
3b41cd3c23 Rename Token::Const to Token::Constant 2017-08-09 12:50:53 +01:00
Alex Beregszaszi
c99d049ac0 Update parser error for pragma/import/contract 2017-07-18 21:23:49 +01:00
chriseth
622703c0c0 Merge pull request #2409 from federicobond/trailing-commas-2
Improve error reporting of trailing commas
2017-06-19 12:01:19 +02:00
Federico Bond
d170ceaf3d Display error if payable or constant is specified multiple times 2017-06-17 12:21:46 -03:00
Federico Bond
0eaae03bbf Try to recover from parser errors where possible 2017-06-15 21:14:05 -03:00
Federico Bond
60bfae75e5 Improve error reporting of trailing commas 2017-06-15 13:10:08 -03:00
Federico Bond
fd8365df08 Forbid trailing commas in named arguments 2017-06-14 00:15:27 -03:00
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
751c97ca19 Pull out common code to a helper 2017-05-26 21:40:14 +01:00