mirror of
https://github.com/ethereum/solidity
synced 2023-10-03 13:03:40 +00:00
Change command line test from --ast to --ast-json.
This commit is contained in:
parent
5d69bdf81e
commit
998f7de2c8
@ -6,7 +6,7 @@
|
||||
REPO_ROOT="$(dirname "$0")"/..
|
||||
cd $REPO_ROOT
|
||||
|
||||
WHITESPACE=$(git grep -n -I -E "^.*[[:space:]]+$" | grep -v "test/libsolidity/ASTJSON\|test/libsolidity/ASTRecoveryTests\|test/compilationTests/zeppelin/LICENSE")
|
||||
WHITESPACE=$(git grep -n -I -E "^.*[[:space:]]+$" | grep -v "test/libsolidity/ASTJSON\|test/libsolidity/ASTRecoveryTests\|test/compilationTests/zeppelin/LICENSE\|test/cmdlineTests/recovery_ast_constructor/output")
|
||||
|
||||
if [[ "$WHITESPACE" != "" ]]
|
||||
then
|
||||
|
@ -1 +1 @@
|
||||
--error-recovery --ast --hashes
|
||||
--error-recovery --ast-json --hashes
|
||||
|
@ -1,34 +1,244 @@
|
||||
Syntax trees:
|
||||
JSON AST:
|
||||
|
||||
|
||||
======= recovery_ast_constructor/input.sol =======
|
||||
PragmaDirective
|
||||
Source: "pragma solidity >=0.0.0;"
|
||||
ContractDefinition "Error1"
|
||||
Source: "contract Error1 {\n constructor() public {\n balances[tx.origin] = ; // missing RHS.\n }\n\n // Without error recovery we stop due to the above error.\n // Error recovery however recovers at the above ';'\n // There should be an AST for the above, albeit with error\n // nodes.\n\n // This function parses properly and should give AST info.\n function five() public view returns(uint) {\n return 5;\n }\n}"
|
||||
FunctionDefinition "" - public
|
||||
Source: "constructor() public {\n balances[tx.origin] = ; // missing RHS.\n }"
|
||||
ParameterList
|
||||
Source: "()"
|
||||
ParameterList
|
||||
Source: ""
|
||||
Block
|
||||
Source: "{\n balances[tx.origin] = ; // missing RHS.\n }"
|
||||
FunctionDefinition "five" - public - const
|
||||
Source: "function five() public view returns(uint) {\n return 5;\n }"
|
||||
ParameterList
|
||||
Source: "()"
|
||||
ParameterList
|
||||
Source: "(uint)"
|
||||
VariableDeclaration ""
|
||||
Type: uint256
|
||||
Source: "uint"
|
||||
ElementaryTypeName uint
|
||||
Source: "uint"
|
||||
Block
|
||||
Source: "{\n return 5;\n }"
|
||||
Return
|
||||
Source: "return 5"
|
||||
Literal, token: [no token] value: 5
|
||||
Type: int_const 5
|
||||
Source: "5"
|
||||
{
|
||||
"attributes" :
|
||||
{
|
||||
"absolutePath" : "recovery_ast_constructor/input.sol",
|
||||
"exportedSymbols" :
|
||||
{
|
||||
"Error1" :
|
||||
[
|
||||
18
|
||||
]
|
||||
}
|
||||
},
|
||||
"children" :
|
||||
[
|
||||
{
|
||||
"attributes" :
|
||||
{
|
||||
"literals" :
|
||||
[
|
||||
"solidity",
|
||||
">=",
|
||||
"0.0",
|
||||
".0"
|
||||
]
|
||||
},
|
||||
"id" : 1,
|
||||
"name" : "PragmaDirective",
|
||||
"src" : "0:24:0"
|
||||
},
|
||||
{
|
||||
"attributes" :
|
||||
{
|
||||
"baseContracts" :
|
||||
[
|
||||
null
|
||||
],
|
||||
"contractDependencies" :
|
||||
[
|
||||
null
|
||||
],
|
||||
"contractKind" : "contract",
|
||||
"documentation" : null,
|
||||
"fullyImplemented" : true,
|
||||
"linearizedBaseContracts" :
|
||||
[
|
||||
18
|
||||
],
|
||||
"name" : "Error1",
|
||||
"scope" : 19
|
||||
},
|
||||
"children" :
|
||||
[
|
||||
{
|
||||
"attributes" :
|
||||
{
|
||||
"documentation" : null,
|
||||
"implemented" : true,
|
||||
"isConstructor" : true,
|
||||
"kind" : "constructor",
|
||||
"modifiers" :
|
||||
[
|
||||
null
|
||||
],
|
||||
"name" : "",
|
||||
"overrides" : null,
|
||||
"scope" : 18,
|
||||
"stateMutability" : "nonpayable",
|
||||
"superFunction" : null,
|
||||
"visibility" : "public"
|
||||
},
|
||||
"children" :
|
||||
[
|
||||
{
|
||||
"attributes" :
|
||||
{
|
||||
"parameters" :
|
||||
[
|
||||
null
|
||||
]
|
||||
},
|
||||
"children" : [],
|
||||
"id" : 2,
|
||||
"name" : "ParameterList",
|
||||
"src" : "57:2:0"
|
||||
},
|
||||
{
|
||||
"attributes" :
|
||||
{
|
||||
"parameters" :
|
||||
[
|
||||
null
|
||||
]
|
||||
},
|
||||
"children" : [],
|
||||
"id" : 3,
|
||||
"name" : "ParameterList",
|
||||
"src" : "67:0:0"
|
||||
},
|
||||
{
|
||||
"attributes" :
|
||||
{
|
||||
"statements" :
|
||||
[
|
||||
null
|
||||
]
|
||||
},
|
||||
"children" : [],
|
||||
"id" : 8,
|
||||
"name" : "Block",
|
||||
"src" : "67:49:0"
|
||||
}
|
||||
],
|
||||
"id" : 9,
|
||||
"name" : "FunctionDefinition",
|
||||
"src" : "46:70:0"
|
||||
},
|
||||
{
|
||||
"attributes" :
|
||||
{
|
||||
"documentation" : null,
|
||||
"implemented" : true,
|
||||
"isConstructor" : false,
|
||||
"kind" : "function",
|
||||
"modifiers" :
|
||||
[
|
||||
null
|
||||
],
|
||||
"name" : "five",
|
||||
"overrides" : null,
|
||||
"scope" : 18,
|
||||
"stateMutability" : "view",
|
||||
"superFunction" : null,
|
||||
"visibility" : "public"
|
||||
},
|
||||
"children" :
|
||||
[
|
||||
{
|
||||
"attributes" :
|
||||
{
|
||||
"parameters" :
|
||||
[
|
||||
null
|
||||
]
|
||||
},
|
||||
"children" : [],
|
||||
"id" : 10,
|
||||
"name" : "ParameterList",
|
||||
"src" : "382:2:0"
|
||||
},
|
||||
{
|
||||
"children" :
|
||||
[
|
||||
{
|
||||
"attributes" :
|
||||
{
|
||||
"constant" : false,
|
||||
"name" : "",
|
||||
"overrides" : null,
|
||||
"scope" : 17,
|
||||
"stateVariable" : false,
|
||||
"storageLocation" : "default",
|
||||
"type" : "uint256",
|
||||
"value" : null,
|
||||
"visibility" : "internal"
|
||||
},
|
||||
"children" :
|
||||
[
|
||||
{
|
||||
"attributes" :
|
||||
{
|
||||
"name" : "uint",
|
||||
"type" : "uint256"
|
||||
},
|
||||
"id" : 11,
|
||||
"name" : "ElementaryTypeName",
|
||||
"src" : "405:4:0"
|
||||
}
|
||||
],
|
||||
"id" : 12,
|
||||
"name" : "VariableDeclaration",
|
||||
"src" : "405:4:0"
|
||||
}
|
||||
],
|
||||
"id" : 13,
|
||||
"name" : "ParameterList",
|
||||
"src" : "404:6:0"
|
||||
},
|
||||
{
|
||||
"children" :
|
||||
[
|
||||
{
|
||||
"attributes" :
|
||||
{
|
||||
"functionReturnParameters" : 13
|
||||
},
|
||||
"children" :
|
||||
[
|
||||
{
|
||||
"attributes" :
|
||||
{
|
||||
"argumentTypes" : null,
|
||||
"hexvalue" : "35",
|
||||
"isConstant" : false,
|
||||
"isLValue" : false,
|
||||
"isPure" : true,
|
||||
"lValueRequested" : false,
|
||||
"subdenomination" : null,
|
||||
"token" : "number",
|
||||
"type" : "int_const 5",
|
||||
"value" : "5"
|
||||
},
|
||||
"id" : 14,
|
||||
"name" : "Literal",
|
||||
"src" : "424:1:0"
|
||||
}
|
||||
],
|
||||
"id" : 15,
|
||||
"name" : "Return",
|
||||
"src" : "417:8:0"
|
||||
}
|
||||
],
|
||||
"id" : 16,
|
||||
"name" : "Block",
|
||||
"src" : "411:19:0"
|
||||
}
|
||||
],
|
||||
"id" : 17,
|
||||
"name" : "FunctionDefinition",
|
||||
"src" : "369:61:0"
|
||||
}
|
||||
],
|
||||
"id" : 18,
|
||||
"name" : "ContractDefinition",
|
||||
"src" : "26:406:0"
|
||||
}
|
||||
],
|
||||
"id" : 19,
|
||||
"name" : "SourceUnit",
|
||||
"src" : "0:433:0"
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user