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
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
Alex Beregszaszi
48f58aa3f9
Remove duplicate code
2017-05-26 21:02:31 +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
81877cc594
Rename InterfaceHandler to Natspec
2017-05-19 16:11:04 +01:00
Alex Beregszaszi
f8da9a8fd5
Factor out tokenToContractKind
2017-03-17 17:06:52 +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
chriseth
bb06569dc6
Disallow octal literals.
2017-03-07 12:34:32 +01:00
chriseth
0e021e76a5
Minor changes.
2017-01-27 11:19:48 +01:00
Lefteris Karapetsas
98b51b378e
More verbose function naming
2017-01-27 00:09:00 +01:00
Lefteris Karapetsas
cc7834f2a9
Doc tags followed by newline are now parsed properly
2017-01-27 00:00:05 +01:00
Lefteris Karapetsas
9ca0fde853
Fix and better output for tests
2017-01-25 11:01:52 +01:00
Lefteris Karapetsas
5738e865d5
Accept any kind of whitespace after natspec tags
2017-01-25 11:01:52 +01:00
Federico Bond
584356e7f6
Rename contractName to typeName when parsing new expression
2017-01-04 23:09:10 -03:00
Yoichi Hirai
43b56a61aa
parsing: default
and null
are reserved keywords
2016-12-02 11:52:11 +01:00
chriseth
5789eaa78d
Metadata stamp.
2016-12-01 16:03:59 +01:00
Yoichi Hirai
eaab712944
parser: recognize an end of comment of the form **/
at the end of a multi-line doc comment
...
This fixes #1433
2016-11-30 17:28:07 +01:00
VoR0220
3f9f725737
Fix licensing headers
...
Signed-off-by: VoR0220 <rj@erisindustries.com>
2016-11-23 12:22:33 +01:00
chriseth
7a292c9a05
Fix parser for function type disambiguity.
2016-11-16 14:37:19 +01:00
chriseth
97a3588701
Function type state variables.
2016-11-16 14:37:17 +01:00
chriseth
cc8583ec7d
Function types.
2016-11-16 14:37:17 +01:00
Yoichi Hirai
eee629652e
parsing: ban empty enum definition.
2016-11-11 17:48:03 +01:00
Rhett Aultman
4524ad0870
Add support for do/while loops
...
This commit adds support for a standard do <statement> while <expr>;
form of statement. While loops were already being supported; supporting
a do/while loop mostly involves reusing code from while loops but putting
the conditional checking last.
2016-11-10 07:07:25 -08:00
chriseth
462fc84e53
Merge pull request #1016 from ethereum/reserved
...
Report the usage of reserved keywords more nicely
2016-09-06 15:52:44 +02:00
Alex Beregszaszi
a13c5b3157
Raise proper error on reserved keywords
2016-09-06 12:03:05 +01:00
Alex Beregszaszi
cfb6dfc35e
Introduce isReservedKeyword()
2016-09-06 12:01:02 +01:00
Alex Beregszaszi
496b7ea1d2
Reserve view and pure as keywords
2016-09-06 11:37:00 +01:00
Alex Beregszaszi
962531af96
Merged in changes from chriseth/payable
2016-09-05 21:28:28 +02:00
Alex Beregszaszi
a34f2f1a31
Support payable keyword for functions
2016-09-05 21:28:18 +02:00
chriseth
02984b8de1
Require ";" after "_"
2016-09-05 14:54:50 +02:00
chriseth
3c412ed2f6
Version pragma.
2016-09-01 00:02:51 +02:00
Alex Beregszaszi
ec3298535e
Introduce hex literals ( #832 )
...
* Introduce hex keyword token
* Support hex literals
* Include tests for hex literals
* Document hex literals
2016-08-16 16:31:23 +02:00
Alex Beregszaszi
970260bf0f
Reserved keywords update ( #833 )
...
* Reserve abstract, interface and payable keywords
* Keywords as and using aren't reserved anymore - they're used
* Reserve the static keyword
2016-08-16 16:28:45 +02:00
Denton Liu
cab8e63a0e
Revert "Change After to a deprecated token"
...
This reverts commit 91c97f73b50fc87662b5490b2fe6de1c6ef376c7.
2016-08-11 10:15:59 -04:00
Denton Liu
be98d3db51
Change After to a deprecated token
2016-08-11 10:15:59 -04:00
Denton Liu
0988eba4fe
Remove after from Token.h
2016-08-11 10:15:59 -04:00
Alex Beregszaszi
6db12c4f88
Rename addUnicodeChar to addUnicodeAsUTF8
2016-08-04 17:28:48 +01:00
Alex Beregszaszi
aa4593cab3
Support Unicode escape characters in string literals ('\uUUUU')
...
Fixes #638
2016-08-04 17:28:48 +01:00
Denton Liu
8fbe994075
Fix isCompareOp()
2016-07-20 17:05:24 -04:00
Denton Liu
827208d1d6
Move in
as a keyword to reserved word section
2016-07-20 15:42:18 -04:00
Alex Beregszaszi
f8ccf3eebf
Fix Token::isBitOp to exclude shift operators
2016-06-07 19:39:05 +01:00
VoR0220
bfc238c8d1
updated algorithm for bit finding...now to figure out literal value
...
tiny fixups
changed location of the check
got rid of extra space and fixed a couple of things
added binary results bits
change back literal value
2016-05-09 11:41:03 -05:00
RJ Catalano
93295ae8f8
got exponents up and working with their inverse, changed a few of the tests....something is working that likely shouldn't be
...
slight changes to how to flip the rational negative around...still trying to figure it out
tests added
updated tests
odd differences in trying soltest from solc binary, let me know if you can replicate
test not working for odd reason
fixed test problem with fixed literals...still need a way to log this error
broken up the tests, added some, changed some things in types and began compiler work
moar tests and prepping for rebuilding much of the types.cpp file
further fixing
infinite loop still happening but it's somewhere in the fixedPoint methodd
fractional bits needed algo improved! Eliminated 2 errors
Corrected problems with the previous commit. No infinite loops. Actually appear to have corrected an error
2016-05-09 11:41:02 -05:00
RJ Catalano
91fda50922
fixed problem with var...probably a conversion problem for fixed in size capabilities
...
adding fixed type tests
Removing bitshift and regrouping fixed type tests together
2016-05-09 11:41:02 -05:00
RJ Catalano
dff1a26f55
fix for token bug, also quick fix for the wei and seconds
2016-05-09 11:41:02 -05:00