Commit Graph

69 Commits

Author SHA1 Message Date
chriseth
b552e5aeeb AST import and export for revert statement. 2021-03-30 21:15:46 +02:00
chriseth
b04b189959 Syntax for custom errors. 2021-03-30 21:15:18 +02:00
Mathias Baumann
e197ebbdd1 Replace TypePointer with Type const* 2021-03-23 11:47:19 +01:00
Christian Parpart
32ba5f5ae7 libsolidity: Extend the AST for named AST nodes in order to get precise locations for names.
The actual SourceLocation on an ASTNode is representing the whole
ASTNode whereas in an LSP (for example) you are also interested in the
SourceLocation of a name of a construct (e.g. variable decarlation, function definition, ...).

This also properly encodes non-existend sources as `-1` in the JSON output (eliminating the use of `numeric_limits<size_t>::max()`).
2021-02-10 18:13:09 +01:00
chriseth
806453aca9 Merge remote-tracking branch 'origin/develop' into breaking 2020-12-08 21:00:09 +01:00
Alex Beregszaszi
7e88ba8da0 Enable the -Wconversion warning 2020-12-08 16:45:24 +00:00
Alex Beregszaszi
3bce2a2294 Remove the legacy AST JSON output 2020-11-25 11:40:33 +00:00
Mathias Baumann
0b7b174945 Add AST Node IdentifierPath 2020-10-13 14:32:11 +02:00
chriseth
fda8bde2d7 Stop after parsing. 2020-09-30 16:57:49 +02:00
chriseth
7b8cc0c49b Remove null values from AST also in standard-json mode. 2020-08-19 11:06:14 +02:00
Sachin Grover
b7adb2aa42 Add SPDX license identifier if not present already in source file
Fixes: #9220
2020-07-17 20:24:12 +05:30
Erik Kundt
4a179056ed Adds JSON import / export for structured documentation. 2020-01-30 18:26:01 +01:00
Mathias Baumann
a3f23d3158 Implement new with CREATE2 and function call options. 2020-01-23 21:20:01 +01:00
chriseth
5ca3abd7cb
Merge pull request #8106 from random-internet-cat/move-contract-kind
Move ContractKind from ContractDefinition to file-scope
2020-01-08 13:06:26 +01:00
Christian Parpart
6b23412fae C++ namespace cleanup (except tests). 2020-01-07 15:51:50 +01:00
Jason Cobb
529405deb6
Move ContractKind from ContractDefinition to file-scope 2020-01-07 09:11:29 -05:00
Mathias Baumann
e999409c89 Sync & update AST exporting according to AST changes 2019-12-09 10:42:24 +00:00
djudjuu
e437443645 Inline assembly to AST json export 2019-11-13 12:13:22 +01:00
chriseth
edf1e83fda Merge remote-tracking branch 'origin/develop' into develop_060 2019-10-28 15:21:49 +01:00
Christian Parpart
df729b3084 Make use of C++17 std::optional<> instead of boost::optional<>. 2019-10-28 11:39:30 +01:00
chriseth
a66c354698 AST for try and catch. 2019-09-23 17:22:09 +02:00
Daniel Kirchner
4782c800ec Initial introduction of array slices with partial implementation for dynamic calldata arrays. 2019-09-13 10:57:53 +02:00
Mathias Baumann
0e3ff25b4e Make sure json output array order is consistent
The source of the "contractDependencies" value was an std::map, thus
order was more or less random.
2019-08-19 17:42:03 +02:00
Mathias Baumann
84b68006ba Fix function calls with named arguments for overloaded functions 2019-03-20 14:54:41 +01:00
chriseth
1a823f0bf8 Fix tabs/spaces. 2019-02-13 17:05:48 +01:00
Leonardo Alt
b185d01a26 Sort includes in libsolidity/ast 2018-12-17 15:33:15 +01:00
Christian Parpart
ec47c8946b
Isolating libyul library API into its own namespace yul. 2018-11-23 14:29:00 +01:00
Christian Parpart
d67322a186 Introduce namespace langutil in liblangutil directory.
Also:
- Use {}-style list initialisation for SourceLocation construction
- Introduce new system includes
- Changes the API of the Scanner to take source as value (with move) as opposed to as a reference
2018-11-21 19:13:44 +00:00
Christian Parpart
87821c53c3 Isolating files shared between Yul- and Solidity language frontend. 2018-11-21 18:58:12 +00:00
Christian Parpart
f112377dd4
Refactor solidity::Token into an enum class with TokenTraits helper namespace 2018-10-22 17:00:51 +02:00
Erik Kundt
8935c0dd2f Uses short string representation of TypePointer 2018-04-12 21:14:50 +02:00
chriseth
388718b59f Introduce emit statement. 2018-02-22 15:17:30 +01:00
Alex Beregszaszi
efa4598c23 Mark functions static 2017-09-20 01:23:21 +01:00
chriseth
c5f11d938f Merge pull request #2656 from ethereum/performance1
Avoid some Json copy operations.
2017-08-23 13:26:43 +02:00
chriseth
9b6caa3fc4 Remove visits to abstract AST class TypeName. 2017-08-22 15:12:38 +02:00
Alex Beregszaszi
9897c56b2c Mark a lot of functions static (where possible) 2017-08-22 10:51:46 +01:00
Alex Beregszaszi
e2cfc9ee92 Mark a lot of functions const (where possible) 2017-08-22 10:51:46 +01:00
chriseth
e3f90565d8 Avoid some Json copy operations. 2017-08-21 16:28:30 +01:00
Alex Beregszaszi
b210db8058 Make toString(visibility) a helper 2017-08-09 14:58:59 +01:00
Alex Beregszaszi
d5f8ce90c7 Merge interface/Exceptions and interface/Utils 2017-06-22 11:25:07 +01:00
djudjuu
62eafdd010 adjusted testcase and renaming 2017-06-06 13:26:23 +02:00
djudjuu
597bf8a43d fix Literalprint 2017-05-30 19:53:32 +02:00
djudjuu
1d22233a43 refactoring functionCallAnnotation 2017-05-19 15:48:07 +02:00
djudjuu
6316a76ab9 testsuite adjustment 2017-05-19 09:51:23 +02:00
djudjuu
e3583d04f7 include new InlineAssemblyInformation into JSON 2017-05-17 15:58:28 +02:00
djuju
a4ba5ace8a prefixChanges and contractKind-field 2017-05-17 11:14:33 +02:00
djuju
2fa7646944 fixed styletypos, renaming and added helperfunction 2017-05-17 11:14:33 +02:00
chriseth
dea7b864e6 Compact format for AST-Json with backwards compatibility 2017-05-17 11:14:33 +02:00
chriseth
44a0329921 Comment. 2017-03-17 14:44:44 +01:00
djudjuu
616a9854e9 AST entry for VariableDeclaration 2017-03-16 16:56:44 +01:00