More CLI tests for --stop-after parsing

This commit is contained in:
Kamil Śliwak 2023-06-13 12:33:05 +02:00
parent f8a1af8bd5
commit e87333f20f
15 changed files with 196 additions and 0 deletions

View File

@ -0,0 +1 @@
--allow-paths .

View File

@ -0,0 +1,6 @@
// SPDX-License-Identifier: GPL-3.0
pragma solidity *;
import "A";
contract C {}

View File

@ -0,0 +1,12 @@
{
"language": "Solidity",
"sources": {
"C": {"urls": ["standard_stop_after_parsing_ast_requested/in.sol"]}
},
"settings": {
"stopAfter": "parsing",
"outputSelection": {
"*": {"": ["ast"]}
}
}
}

View File

@ -0,0 +1,54 @@
{
"sources":
{
"C":
{
"ast":
{
"absolutePath": "C",
"id": 4,
"license": "GPL-3.0",
"nodeType": "SourceUnit",
"nodes":
[
{
"id": 1,
"literals":
[
"solidity",
"*"
],
"nodeType": "PragmaDirective",
"src": "36:18:0"
},
{
"absolutePath": "A",
"file": "A",
"id": 2,
"nameLocation": "-1:-1:-1",
"nodeType": "ImportDirective",
"src": "56:11:0",
"symbolAliases": [],
"unitAlias": ""
},
{
"abstract": false,
"baseContracts": [],
"contractDependencies": [],
"contractKind": "contract",
"id": 3,
"name": "C",
"nameLocation": "78:1:0",
"nodeType": "ContractDefinition",
"nodes": [],
"src": "69:13:0",
"usedErrors": [],
"usedEvents": []
}
],
"src": "36:47:0"
},
"id": 0
}
}
}

View File

@ -0,0 +1 @@
--allow-paths .

View File

@ -0,0 +1,6 @@
// SPDX-License-Identifier: GPL-3.0
pragma solidity *;
import "A";
contract C {}

View File

@ -0,0 +1,12 @@
{
"language": "Solidity",
"sources": {
"C": {"urls": ["standard_stop_after_parsing_bytecode_requested/in.sol"]}
},
"settings": {
"stopAfter": "parsing",
"outputSelection": {
"*": {"*": ["evm.bytecode.object"]}
}
}
}

View File

@ -0,0 +1,12 @@
{
"errors":
[
{
"component": "general",
"formattedMessage": "Requested output selection conflicts with \"settings.stopAfter\".",
"message": "Requested output selection conflicts with \"settings.stopAfter\".",
"severity": "error",
"type": "JSONError"
}
]
}

View File

@ -0,0 +1 @@
--allow-paths .

View File

@ -0,0 +1,8 @@
// SPDX-License-Identifier: GPL-3.0
pragma solidity *;
import "A";
contract C {
function f() public {}
}

View File

@ -0,0 +1,19 @@
{
"language": "Solidity",
"sources": {
"C": {"urls": ["standard_stop_after_parsing_non_binary_output_requested/in.sol"]}
},
"settings": {
"stopAfter": "parsing",
"outputSelection": {
"*": {"*": [
"abi",
"devdoc",
"userdoc",
"metadata",
"storageLayout",
"evm.methodIdentifiers"
]}
}
}
}

View File

@ -0,0 +1,9 @@
{
"sources":
{
"C":
{
"id": 0
}
}
}

View File

@ -0,0 +1 @@
--pretty-json --json-indent 4 --stop-after parsing --ast-compact-json

View File

@ -0,0 +1,6 @@
// SPDX-License-Identifier: GPL-3.0
pragma solidity *;
import "A";
contract C {}

View File

@ -0,0 +1,48 @@
JSON AST (compact format):
======= stop_after_parsing_ast/input.sol =======
{
"absolutePath": "stop_after_parsing_ast/input.sol",
"id": 4,
"license": "GPL-3.0",
"nodeType": "SourceUnit",
"nodes":
[
{
"id": 1,
"literals":
[
"solidity",
"*"
],
"nodeType": "PragmaDirective",
"src": "36:18:0"
},
{
"absolutePath": "A",
"file": "A",
"id": 2,
"nameLocation": "-1:-1:-1",
"nodeType": "ImportDirective",
"src": "56:11:0",
"symbolAliases": [],
"unitAlias": ""
},
{
"abstract": false,
"baseContracts": [],
"contractDependencies": [],
"contractKind": "contract",
"id": 3,
"name": "C",
"nameLocation": "78:1:0",
"nodeType": "ContractDefinition",
"nodes": [],
"src": "69:13:0",
"usedErrors": [],
"usedEvents": []
}
],
"src": "36:47:0"
}