mirror of
https://github.com/ethereum/solidity
synced 2023-10-03 13:03:40 +00:00
Tests and changelog
This commit is contained in:
parent
b7795b86c1
commit
e96a161115
@ -15,6 +15,7 @@ Compiler Features:
|
||||
* Standard JSON: Model checker option ``settings.modelChecker.targets`` also accepts ``outOfBounds``.
|
||||
* Yul Optimizer: Added a new step FunctionSpecializer, that specializes a function with its literal arguments.
|
||||
* Yul EVM Code Transform: Stack Optimization: Reuse slots of unused function arguments and defer allocating stack slots for return variables until after expression statements and assignments that do not reference them.
|
||||
* NatSpec: Allow ``@notice`` tag on non-public state variables and local variable declarations. The documentation will only be part of the AST, under the field ``documentation``.
|
||||
|
||||
|
||||
Bugfixes:
|
||||
|
489
test/libsolidity/ASTJSON/documentation_local_variable.json
Normal file
489
test/libsolidity/ASTJSON/documentation_local_variable.json
Normal file
@ -0,0 +1,489 @@
|
||||
{
|
||||
"absolutePath": "a",
|
||||
"exportedSymbols":
|
||||
{
|
||||
"C":
|
||||
[
|
||||
41
|
||||
]
|
||||
},
|
||||
"id": 42,
|
||||
"nodeType": "SourceUnit",
|
||||
"nodes":
|
||||
[
|
||||
{
|
||||
"abstract": false,
|
||||
"baseContracts": [],
|
||||
"contractDependencies": [],
|
||||
"contractKind": "contract",
|
||||
"fullyImplemented": true,
|
||||
"id": 41,
|
||||
"linearizedBaseContracts":
|
||||
[
|
||||
41
|
||||
],
|
||||
"name": "C",
|
||||
"nameLocation": "9:1:1",
|
||||
"nodeType": "ContractDefinition",
|
||||
"nodes":
|
||||
[
|
||||
{
|
||||
"body":
|
||||
{
|
||||
"id": 26,
|
||||
"nodeType": "Block",
|
||||
"src": "42:330:1",
|
||||
"statements":
|
||||
[
|
||||
{
|
||||
"assignments":
|
||||
[
|
||||
5
|
||||
],
|
||||
"declarations":
|
||||
[
|
||||
{
|
||||
"constant": false,
|
||||
"id": 5,
|
||||
"mutability": "mutable",
|
||||
"name": "x",
|
||||
"nameLocation": "114:1:1",
|
||||
"nodeType": "VariableDeclaration",
|
||||
"scope": 26,
|
||||
"src": "109:6:1",
|
||||
"stateVariable": false,
|
||||
"storageLocation": "default",
|
||||
"typeDescriptions":
|
||||
{
|
||||
"typeIdentifier": "t_uint256",
|
||||
"typeString": "uint256"
|
||||
},
|
||||
"typeName":
|
||||
{
|
||||
"id": 4,
|
||||
"name": "uint",
|
||||
"nodeType": "ElementaryTypeName",
|
||||
"src": "109:4:1",
|
||||
"typeDescriptions":
|
||||
{
|
||||
"typeIdentifier": "t_uint256",
|
||||
"typeString": "uint256"
|
||||
}
|
||||
},
|
||||
"visibility": "internal"
|
||||
}
|
||||
],
|
||||
"documentation": "Documentation for x; will appear in ast json",
|
||||
"id": 7,
|
||||
"initialValue":
|
||||
{
|
||||
"hexValue": "31",
|
||||
"id": 6,
|
||||
"isConstant": false,
|
||||
"isLValue": false,
|
||||
"isPure": true,
|
||||
"kind": "number",
|
||||
"lValueRequested": false,
|
||||
"nodeType": "Literal",
|
||||
"src": "118:1:1",
|
||||
"typeDescriptions":
|
||||
{
|
||||
"typeIdentifier": "t_rational_1_by_1",
|
||||
"typeString": "int_const 1"
|
||||
},
|
||||
"value": "1"
|
||||
},
|
||||
"nodeType": "VariableDeclarationStatement",
|
||||
"src": "109:10:1"
|
||||
},
|
||||
{
|
||||
"body":
|
||||
{
|
||||
"id": 24,
|
||||
"nodeType": "Block",
|
||||
"src": "270:96:1",
|
||||
"statements":
|
||||
[
|
||||
{
|
||||
"assignments":
|
||||
[
|
||||
21
|
||||
],
|
||||
"declarations":
|
||||
[
|
||||
{
|
||||
"constant": false,
|
||||
"id": 21,
|
||||
"mutability": "mutable",
|
||||
"name": "j",
|
||||
"nameLocation": "350:1:1",
|
||||
"nodeType": "VariableDeclaration",
|
||||
"scope": 24,
|
||||
"src": "345:6:1",
|
||||
"stateVariable": false,
|
||||
"storageLocation": "default",
|
||||
"typeDescriptions":
|
||||
{
|
||||
"typeIdentifier": "t_uint256",
|
||||
"typeString": "uint256"
|
||||
},
|
||||
"typeName":
|
||||
{
|
||||
"id": 20,
|
||||
"name": "uint",
|
||||
"nodeType": "ElementaryTypeName",
|
||||
"src": "345:4:1",
|
||||
"typeDescriptions":
|
||||
{
|
||||
"typeIdentifier": "t_uint256",
|
||||
"typeString": "uint256"
|
||||
}
|
||||
},
|
||||
"visibility": "internal"
|
||||
}
|
||||
],
|
||||
"documentation": "documentation for j; will appear in ast json",
|
||||
"id": 23,
|
||||
"initialValue":
|
||||
{
|
||||
"hexValue": "30",
|
||||
"id": 22,
|
||||
"isConstant": false,
|
||||
"isLValue": false,
|
||||
"isPure": true,
|
||||
"kind": "number",
|
||||
"lValueRequested": false,
|
||||
"nodeType": "Literal",
|
||||
"src": "354:1:1",
|
||||
"typeDescriptions":
|
||||
{
|
||||
"typeIdentifier": "t_rational_0_by_1",
|
||||
"typeString": "int_const 0"
|
||||
},
|
||||
"value": "0"
|
||||
},
|
||||
"nodeType": "VariableDeclarationStatement",
|
||||
"src": "345:10:1"
|
||||
}
|
||||
]
|
||||
},
|
||||
"condition":
|
||||
{
|
||||
"commonType":
|
||||
{
|
||||
"typeIdentifier": "t_uint256",
|
||||
"typeString": "uint256"
|
||||
},
|
||||
"id": 15,
|
||||
"isConstant": false,
|
||||
"isLValue": false,
|
||||
"isPure": false,
|
||||
"lValueRequested": false,
|
||||
"leftExpression":
|
||||
{
|
||||
"id": 13,
|
||||
"name": "i",
|
||||
"nodeType": "Identifier",
|
||||
"overloadedDeclarations": [],
|
||||
"referencedDeclaration": 10,
|
||||
"src": "236:1:1",
|
||||
"typeDescriptions":
|
||||
{
|
||||
"typeIdentifier": "t_uint256",
|
||||
"typeString": "uint256"
|
||||
}
|
||||
},
|
||||
"nodeType": "BinaryOperation",
|
||||
"operator": "<",
|
||||
"rightExpression":
|
||||
{
|
||||
"hexValue": "3130",
|
||||
"id": 14,
|
||||
"isConstant": false,
|
||||
"isLValue": false,
|
||||
"isPure": true,
|
||||
"kind": "number",
|
||||
"lValueRequested": false,
|
||||
"nodeType": "Literal",
|
||||
"src": "240:2:1",
|
||||
"typeDescriptions":
|
||||
{
|
||||
"typeIdentifier": "t_rational_10_by_1",
|
||||
"typeString": "int_const 10"
|
||||
},
|
||||
"value": "10"
|
||||
},
|
||||
"src": "236:6:1",
|
||||
"typeDescriptions":
|
||||
{
|
||||
"typeIdentifier": "t_bool",
|
||||
"typeString": "bool"
|
||||
}
|
||||
},
|
||||
"id": 25,
|
||||
"initializationExpression":
|
||||
{
|
||||
"assignments":
|
||||
[
|
||||
10
|
||||
],
|
||||
"declarations":
|
||||
[
|
||||
{
|
||||
"constant": false,
|
||||
"id": 10,
|
||||
"mutability": "mutable",
|
||||
"name": "i",
|
||||
"nameLocation": "217:1:1",
|
||||
"nodeType": "VariableDeclaration",
|
||||
"scope": 25,
|
||||
"src": "212:6:1",
|
||||
"stateVariable": false,
|
||||
"storageLocation": "default",
|
||||
"typeDescriptions":
|
||||
{
|
||||
"typeIdentifier": "t_uint256",
|
||||
"typeString": "uint256"
|
||||
},
|
||||
"typeName":
|
||||
{
|
||||
"id": 9,
|
||||
"name": "uint",
|
||||
"nodeType": "ElementaryTypeName",
|
||||
"src": "212:4:1",
|
||||
"typeDescriptions":
|
||||
{
|
||||
"typeIdentifier": "t_uint256",
|
||||
"typeString": "uint256"
|
||||
}
|
||||
},
|
||||
"visibility": "internal"
|
||||
}
|
||||
],
|
||||
"id": 12,
|
||||
"initialValue":
|
||||
{
|
||||
"hexValue": "30",
|
||||
"id": 11,
|
||||
"isConstant": false,
|
||||
"isLValue": false,
|
||||
"isPure": true,
|
||||
"kind": "number",
|
||||
"lValueRequested": false,
|
||||
"nodeType": "Literal",
|
||||
"src": "221:1:1",
|
||||
"typeDescriptions":
|
||||
{
|
||||
"typeIdentifier": "t_rational_0_by_1",
|
||||
"typeString": "int_const 0"
|
||||
},
|
||||
"value": "0"
|
||||
},
|
||||
"nodeType": "VariableDeclarationStatement",
|
||||
"src": "212:10:1"
|
||||
},
|
||||
"loopExpression":
|
||||
{
|
||||
"expression":
|
||||
{
|
||||
"id": 17,
|
||||
"isConstant": false,
|
||||
"isLValue": false,
|
||||
"isPure": false,
|
||||
"lValueRequested": false,
|
||||
"nodeType": "UnaryOperation",
|
||||
"operator": "++",
|
||||
"prefix": true,
|
||||
"src": "256:3:1",
|
||||
"subExpression":
|
||||
{
|
||||
"id": 16,
|
||||
"name": "i",
|
||||
"nodeType": "Identifier",
|
||||
"overloadedDeclarations": [],
|
||||
"referencedDeclaration": 10,
|
||||
"src": "258:1:1",
|
||||
"typeDescriptions":
|
||||
{
|
||||
"typeIdentifier": "t_uint256",
|
||||
"typeString": "uint256"
|
||||
}
|
||||
},
|
||||
"typeDescriptions":
|
||||
{
|
||||
"typeIdentifier": "t_uint256",
|
||||
"typeString": "uint256"
|
||||
}
|
||||
},
|
||||
"id": 18,
|
||||
"nodeType": "ExpressionStatement",
|
||||
"src": "256:3:1"
|
||||
},
|
||||
"nodeType": "ForStatement",
|
||||
"src": "129:237:1"
|
||||
}
|
||||
]
|
||||
},
|
||||
"functionSelector": "26121ff0",
|
||||
"id": 27,
|
||||
"implemented": true,
|
||||
"kind": "function",
|
||||
"modifiers": [],
|
||||
"name": "f",
|
||||
"nameLocation": "26:1:1",
|
||||
"nodeType": "FunctionDefinition",
|
||||
"parameters":
|
||||
{
|
||||
"id": 1,
|
||||
"nodeType": "ParameterList",
|
||||
"parameters": [],
|
||||
"src": "27:2:1"
|
||||
},
|
||||
"returnParameters":
|
||||
{
|
||||
"id": 2,
|
||||
"nodeType": "ParameterList",
|
||||
"parameters": [],
|
||||
"src": "42:0:1"
|
||||
},
|
||||
"scope": 41,
|
||||
"src": "17:355:1",
|
||||
"stateMutability": "pure",
|
||||
"virtual": false,
|
||||
"visibility": "public"
|
||||
},
|
||||
{
|
||||
"body":
|
||||
{
|
||||
"id": 39,
|
||||
"nodeType": "Block",
|
||||
"src": "662:2:1",
|
||||
"statements": []
|
||||
},
|
||||
"functionSelector": "191157d1",
|
||||
"id": 40,
|
||||
"implemented": true,
|
||||
"kind": "function",
|
||||
"modifiers": [],
|
||||
"name": "g",
|
||||
"nameLocation": "386:1:1",
|
||||
"nodeType": "FunctionDefinition",
|
||||
"parameters":
|
||||
{
|
||||
"id": 37,
|
||||
"nodeType": "ParameterList",
|
||||
"parameters":
|
||||
[
|
||||
{
|
||||
"constant": false,
|
||||
"id": 30,
|
||||
"mutability": "mutable",
|
||||
"name": "param1",
|
||||
"nameLocation": "468:6:1",
|
||||
"nodeType": "VariableDeclaration",
|
||||
"scope": 40,
|
||||
"src": "463:11:1",
|
||||
"stateVariable": false,
|
||||
"storageLocation": "default",
|
||||
"typeDescriptions":
|
||||
{
|
||||
"typeIdentifier": "t_uint256",
|
||||
"typeString": "uint256"
|
||||
},
|
||||
"typeName":
|
||||
{
|
||||
"id": 29,
|
||||
"name": "uint",
|
||||
"nodeType": "ElementaryTypeName",
|
||||
"src": "463:4:1",
|
||||
"typeDescriptions":
|
||||
{
|
||||
"typeIdentifier": "t_uint256",
|
||||
"typeString": "uint256"
|
||||
}
|
||||
},
|
||||
"visibility": "internal"
|
||||
},
|
||||
{
|
||||
"constant": false,
|
||||
"id": 33,
|
||||
"mutability": "mutable",
|
||||
"name": "param2",
|
||||
"nameLocation": "555:6:1",
|
||||
"nodeType": "VariableDeclaration",
|
||||
"scope": 40,
|
||||
"src": "550:11:1",
|
||||
"stateVariable": false,
|
||||
"storageLocation": "default",
|
||||
"typeDescriptions":
|
||||
{
|
||||
"typeIdentifier": "t_uint256",
|
||||
"typeString": "uint256"
|
||||
},
|
||||
"typeName":
|
||||
{
|
||||
"id": 32,
|
||||
"name": "uint",
|
||||
"nodeType": "ElementaryTypeName",
|
||||
"src": "550:4:1",
|
||||
"typeDescriptions":
|
||||
{
|
||||
"typeIdentifier": "t_uint256",
|
||||
"typeString": "uint256"
|
||||
}
|
||||
},
|
||||
"visibility": "internal"
|
||||
},
|
||||
{
|
||||
"constant": false,
|
||||
"id": 36,
|
||||
"mutability": "mutable",
|
||||
"name": "param3",
|
||||
"nameLocation": "642:6:1",
|
||||
"nodeType": "VariableDeclaration",
|
||||
"scope": 40,
|
||||
"src": "637:11:1",
|
||||
"stateVariable": false,
|
||||
"storageLocation": "default",
|
||||
"typeDescriptions":
|
||||
{
|
||||
"typeIdentifier": "t_uint256",
|
||||
"typeString": "uint256"
|
||||
},
|
||||
"typeName":
|
||||
{
|
||||
"id": 35,
|
||||
"name": "uint",
|
||||
"nodeType": "ElementaryTypeName",
|
||||
"src": "637:4:1",
|
||||
"typeDescriptions":
|
||||
{
|
||||
"typeIdentifier": "t_uint256",
|
||||
"typeString": "uint256"
|
||||
}
|
||||
},
|
||||
"visibility": "internal"
|
||||
}
|
||||
],
|
||||
"src": "387:267:1"
|
||||
},
|
||||
"returnParameters":
|
||||
{
|
||||
"id": 38,
|
||||
"nodeType": "ParameterList",
|
||||
"parameters": [],
|
||||
"src": "662:0:1"
|
||||
},
|
||||
"scope": 41,
|
||||
"src": "377:287:1",
|
||||
"stateMutability": "nonpayable",
|
||||
"virtual": false,
|
||||
"visibility": "public"
|
||||
}
|
||||
],
|
||||
"scope": 42,
|
||||
"src": "0:666:1"
|
||||
}
|
||||
],
|
||||
"src": "0:667:1"
|
||||
}
|
25
test/libsolidity/ASTJSON/documentation_local_variable.sol
Normal file
25
test/libsolidity/ASTJSON/documentation_local_variable.sol
Normal file
@ -0,0 +1,25 @@
|
||||
contract C {
|
||||
function f() public pure {
|
||||
/// Documentation for x; will appear in ast json
|
||||
uint x = 1;
|
||||
for (
|
||||
/// documentation for i; will not appear in ast json
|
||||
uint i = 0;
|
||||
i < 10;
|
||||
++i
|
||||
) {
|
||||
/// documentation for j; will appear in ast json
|
||||
uint j = 0;
|
||||
}
|
||||
}
|
||||
function g(
|
||||
/// documentation for param1; will not appear in ast json
|
||||
uint param1,
|
||||
/// documentation for param2; will not appear in ast json
|
||||
uint param2,
|
||||
/// documentation for param3; will not appear in ast json
|
||||
uint param3
|
||||
) public {}
|
||||
}
|
||||
|
||||
// ----
|
@ -0,0 +1,356 @@
|
||||
{
|
||||
"absolutePath": "a",
|
||||
"id": 42,
|
||||
"nodeType": "SourceUnit",
|
||||
"nodes":
|
||||
[
|
||||
{
|
||||
"abstract": false,
|
||||
"baseContracts": [],
|
||||
"contractDependencies": [],
|
||||
"contractKind": "contract",
|
||||
"id": 41,
|
||||
"name": "C",
|
||||
"nameLocation": "9:1:1",
|
||||
"nodeType": "ContractDefinition",
|
||||
"nodes":
|
||||
[
|
||||
{
|
||||
"body":
|
||||
{
|
||||
"id": 26,
|
||||
"nodeType": "Block",
|
||||
"src": "42:330:1",
|
||||
"statements":
|
||||
[
|
||||
{
|
||||
"assignments":
|
||||
[
|
||||
5
|
||||
],
|
||||
"declarations":
|
||||
[
|
||||
{
|
||||
"constant": false,
|
||||
"id": 5,
|
||||
"mutability": "mutable",
|
||||
"name": "x",
|
||||
"nameLocation": "114:1:1",
|
||||
"nodeType": "VariableDeclaration",
|
||||
"src": "109:6:1",
|
||||
"stateVariable": false,
|
||||
"storageLocation": "default",
|
||||
"typeDescriptions": {},
|
||||
"typeName":
|
||||
{
|
||||
"id": 4,
|
||||
"name": "uint",
|
||||
"nodeType": "ElementaryTypeName",
|
||||
"src": "109:4:1",
|
||||
"typeDescriptions": {}
|
||||
},
|
||||
"visibility": "internal"
|
||||
}
|
||||
],
|
||||
"documentation": "Documentation for x; will appear in ast json",
|
||||
"id": 7,
|
||||
"initialValue":
|
||||
{
|
||||
"hexValue": "31",
|
||||
"id": 6,
|
||||
"kind": "number",
|
||||
"nodeType": "Literal",
|
||||
"src": "118:1:1",
|
||||
"typeDescriptions": {},
|
||||
"value": "1"
|
||||
},
|
||||
"nodeType": "VariableDeclarationStatement",
|
||||
"src": "109:10:1"
|
||||
},
|
||||
{
|
||||
"body":
|
||||
{
|
||||
"id": 24,
|
||||
"nodeType": "Block",
|
||||
"src": "270:96:1",
|
||||
"statements":
|
||||
[
|
||||
{
|
||||
"assignments":
|
||||
[
|
||||
21
|
||||
],
|
||||
"declarations":
|
||||
[
|
||||
{
|
||||
"constant": false,
|
||||
"id": 21,
|
||||
"mutability": "mutable",
|
||||
"name": "j",
|
||||
"nameLocation": "350:1:1",
|
||||
"nodeType": "VariableDeclaration",
|
||||
"src": "345:6:1",
|
||||
"stateVariable": false,
|
||||
"storageLocation": "default",
|
||||
"typeDescriptions": {},
|
||||
"typeName":
|
||||
{
|
||||
"id": 20,
|
||||
"name": "uint",
|
||||
"nodeType": "ElementaryTypeName",
|
||||
"src": "345:4:1",
|
||||
"typeDescriptions": {}
|
||||
},
|
||||
"visibility": "internal"
|
||||
}
|
||||
],
|
||||
"documentation": "documentation for j; will appear in ast json",
|
||||
"id": 23,
|
||||
"initialValue":
|
||||
{
|
||||
"hexValue": "30",
|
||||
"id": 22,
|
||||
"kind": "number",
|
||||
"nodeType": "Literal",
|
||||
"src": "354:1:1",
|
||||
"typeDescriptions": {},
|
||||
"value": "0"
|
||||
},
|
||||
"nodeType": "VariableDeclarationStatement",
|
||||
"src": "345:10:1"
|
||||
}
|
||||
]
|
||||
},
|
||||
"condition":
|
||||
{
|
||||
"commonType": {},
|
||||
"id": 15,
|
||||
"leftExpression":
|
||||
{
|
||||
"id": 13,
|
||||
"name": "i",
|
||||
"nodeType": "Identifier",
|
||||
"overloadedDeclarations": [],
|
||||
"src": "236:1:1",
|
||||
"typeDescriptions": {}
|
||||
},
|
||||
"nodeType": "BinaryOperation",
|
||||
"operator": "<",
|
||||
"rightExpression":
|
||||
{
|
||||
"hexValue": "3130",
|
||||
"id": 14,
|
||||
"kind": "number",
|
||||
"nodeType": "Literal",
|
||||
"src": "240:2:1",
|
||||
"typeDescriptions": {},
|
||||
"value": "10"
|
||||
},
|
||||
"src": "236:6:1",
|
||||
"typeDescriptions": {}
|
||||
},
|
||||
"id": 25,
|
||||
"initializationExpression":
|
||||
{
|
||||
"assignments":
|
||||
[
|
||||
10
|
||||
],
|
||||
"declarations":
|
||||
[
|
||||
{
|
||||
"constant": false,
|
||||
"id": 10,
|
||||
"mutability": "mutable",
|
||||
"name": "i",
|
||||
"nameLocation": "217:1:1",
|
||||
"nodeType": "VariableDeclaration",
|
||||
"src": "212:6:1",
|
||||
"stateVariable": false,
|
||||
"storageLocation": "default",
|
||||
"typeDescriptions": {},
|
||||
"typeName":
|
||||
{
|
||||
"id": 9,
|
||||
"name": "uint",
|
||||
"nodeType": "ElementaryTypeName",
|
||||
"src": "212:4:1",
|
||||
"typeDescriptions": {}
|
||||
},
|
||||
"visibility": "internal"
|
||||
}
|
||||
],
|
||||
"id": 12,
|
||||
"initialValue":
|
||||
{
|
||||
"hexValue": "30",
|
||||
"id": 11,
|
||||
"kind": "number",
|
||||
"nodeType": "Literal",
|
||||
"src": "221:1:1",
|
||||
"typeDescriptions": {},
|
||||
"value": "0"
|
||||
},
|
||||
"nodeType": "VariableDeclarationStatement",
|
||||
"src": "212:10:1"
|
||||
},
|
||||
"loopExpression":
|
||||
{
|
||||
"expression":
|
||||
{
|
||||
"id": 17,
|
||||
"nodeType": "UnaryOperation",
|
||||
"operator": "++",
|
||||
"prefix": true,
|
||||
"src": "256:3:1",
|
||||
"subExpression":
|
||||
{
|
||||
"id": 16,
|
||||
"name": "i",
|
||||
"nodeType": "Identifier",
|
||||
"overloadedDeclarations": [],
|
||||
"src": "258:1:1",
|
||||
"typeDescriptions": {}
|
||||
},
|
||||
"typeDescriptions": {}
|
||||
},
|
||||
"id": 18,
|
||||
"nodeType": "ExpressionStatement",
|
||||
"src": "256:3:1"
|
||||
},
|
||||
"nodeType": "ForStatement",
|
||||
"src": "129:237:1"
|
||||
}
|
||||
]
|
||||
},
|
||||
"id": 27,
|
||||
"implemented": true,
|
||||
"kind": "function",
|
||||
"modifiers": [],
|
||||
"name": "f",
|
||||
"nameLocation": "26:1:1",
|
||||
"nodeType": "FunctionDefinition",
|
||||
"parameters":
|
||||
{
|
||||
"id": 1,
|
||||
"nodeType": "ParameterList",
|
||||
"parameters": [],
|
||||
"src": "27:2:1"
|
||||
},
|
||||
"returnParameters":
|
||||
{
|
||||
"id": 2,
|
||||
"nodeType": "ParameterList",
|
||||
"parameters": [],
|
||||
"src": "42:0:1"
|
||||
},
|
||||
"src": "17:355:1",
|
||||
"stateMutability": "pure",
|
||||
"virtual": false,
|
||||
"visibility": "public"
|
||||
},
|
||||
{
|
||||
"body":
|
||||
{
|
||||
"id": 39,
|
||||
"nodeType": "Block",
|
||||
"src": "662:2:1",
|
||||
"statements": []
|
||||
},
|
||||
"id": 40,
|
||||
"implemented": true,
|
||||
"kind": "function",
|
||||
"modifiers": [],
|
||||
"name": "g",
|
||||
"nameLocation": "386:1:1",
|
||||
"nodeType": "FunctionDefinition",
|
||||
"parameters":
|
||||
{
|
||||
"id": 37,
|
||||
"nodeType": "ParameterList",
|
||||
"parameters":
|
||||
[
|
||||
{
|
||||
"constant": false,
|
||||
"id": 30,
|
||||
"mutability": "mutable",
|
||||
"name": "param1",
|
||||
"nameLocation": "468:6:1",
|
||||
"nodeType": "VariableDeclaration",
|
||||
"src": "463:11:1",
|
||||
"stateVariable": false,
|
||||
"storageLocation": "default",
|
||||
"typeDescriptions": {},
|
||||
"typeName":
|
||||
{
|
||||
"id": 29,
|
||||
"name": "uint",
|
||||
"nodeType": "ElementaryTypeName",
|
||||
"src": "463:4:1",
|
||||
"typeDescriptions": {}
|
||||
},
|
||||
"visibility": "internal"
|
||||
},
|
||||
{
|
||||
"constant": false,
|
||||
"id": 33,
|
||||
"mutability": "mutable",
|
||||
"name": "param2",
|
||||
"nameLocation": "555:6:1",
|
||||
"nodeType": "VariableDeclaration",
|
||||
"src": "550:11:1",
|
||||
"stateVariable": false,
|
||||
"storageLocation": "default",
|
||||
"typeDescriptions": {},
|
||||
"typeName":
|
||||
{
|
||||
"id": 32,
|
||||
"name": "uint",
|
||||
"nodeType": "ElementaryTypeName",
|
||||
"src": "550:4:1",
|
||||
"typeDescriptions": {}
|
||||
},
|
||||
"visibility": "internal"
|
||||
},
|
||||
{
|
||||
"constant": false,
|
||||
"id": 36,
|
||||
"mutability": "mutable",
|
||||
"name": "param3",
|
||||
"nameLocation": "642:6:1",
|
||||
"nodeType": "VariableDeclaration",
|
||||
"src": "637:11:1",
|
||||
"stateVariable": false,
|
||||
"storageLocation": "default",
|
||||
"typeDescriptions": {},
|
||||
"typeName":
|
||||
{
|
||||
"id": 35,
|
||||
"name": "uint",
|
||||
"nodeType": "ElementaryTypeName",
|
||||
"src": "637:4:1",
|
||||
"typeDescriptions": {}
|
||||
},
|
||||
"visibility": "internal"
|
||||
}
|
||||
],
|
||||
"src": "387:267:1"
|
||||
},
|
||||
"returnParameters":
|
||||
{
|
||||
"id": 38,
|
||||
"nodeType": "ParameterList",
|
||||
"parameters": [],
|
||||
"src": "662:0:1"
|
||||
},
|
||||
"src": "377:287:1",
|
||||
"stateMutability": "nonpayable",
|
||||
"virtual": false,
|
||||
"visibility": "public"
|
||||
}
|
||||
],
|
||||
"src": "0:666:1"
|
||||
}
|
||||
],
|
||||
"src": "0:667:1"
|
||||
}
|
@ -4,4 +4,3 @@ contract C {
|
||||
uint private state;
|
||||
}
|
||||
// ----
|
||||
// DocstringParsingError 6546: (17-74): Documentation tag @notice not valid for non-public state variables.
|
||||
|
@ -11,4 +11,3 @@ contract C {
|
||||
}
|
||||
}
|
||||
// ----
|
||||
// ParserError 2837: (290-295): Only state variables or file-level variables can have a docstring.
|
||||
|
Loading…
Reference in New Issue
Block a user