JSON AST (compact format):


======= recovery_ast_constructor/input.sol =======
{
  "absolutePath": "recovery_ast_constructor/input.sol",
  "exportedSymbols":
  {
    "Error1":
    [
      18
    ]
  },
  "id": 19,
  "license": "GPL-3.0",
  "nodeType": "SourceUnit",
  "nodes":
  [
    {
      "id": 1,
      "literals":
      [
        "solidity",
        ">=",
        "0.0",
        ".0"
      ],
      "nodeType": "PragmaDirective",
      "src": "36:24:0"
    },
    {
      "abstract": false,
      "baseContracts": [],
      "canonicalName": "Error1",
      "contractDependencies": [],
      "contractKind": "contract",
      "fullyImplemented": true,
      "id": 18,
      "linearizedBaseContracts":
      [
        18
      ],
      "name": "Error1",
      "nameLocation": "71:6:0",
      "nodeType": "ContractDefinition",
      "nodes":
      [
        {
          "body":
          {
            "id": 8,
            "nodeType": "Block",
            "src": "96:49:0",
            "statements":
            [
              null
            ]
          },
          "id": 9,
          "implemented": true,
          "kind": "constructor",
          "modifiers": [],
          "name": "",
          "nameLocation": "-1:-1:-1",
          "nodeType": "FunctionDefinition",
          "parameters":
          {
            "id": 2,
            "nodeType": "ParameterList",
            "parameters": [],
            "src": "93:2:0"
          },
          "returnParameters":
          {
            "id": 3,
            "nodeType": "ParameterList",
            "parameters": [],
            "src": "96:0:0"
          },
          "scope": 18,
          "src": "82:63:0",
          "stateMutability": "nonpayable",
          "virtual": false,
          "visibility": "public"
        },
        {
          "body":
          {
            "id": 16,
            "nodeType": "Block",
            "src": "440:19:0",
            "statements":
            [
              {
                "expression":
                {
                  "hexValue": "35",
                  "id": 14,
                  "isConstant": false,
                  "isLValue": false,
                  "isPure": true,
                  "kind": "number",
                  "lValueRequested": false,
                  "nodeType": "Literal",
                  "src": "453:1:0",
                  "typeDescriptions":
                  {
                    "typeIdentifier": "t_rational_5_by_1",
                    "typeString": "int_const 5"
                  },
                  "value": "5"
                },
                "functionReturnParameters": 13,
                "id": 15,
                "nodeType": "Return",
                "src": "446:8:0"
              }
            ]
          },
          "functionSelector": "af11c34c",
          "id": 17,
          "implemented": true,
          "kind": "function",
          "modifiers": [],
          "name": "five",
          "nameLocation": "407:4:0",
          "nodeType": "FunctionDefinition",
          "parameters":
          {
            "id": 10,
            "nodeType": "ParameterList",
            "parameters": [],
            "src": "411:2:0"
          },
          "returnParameters":
          {
            "id": 13,
            "nodeType": "ParameterList",
            "parameters":
            [
              {
                "constant": false,
                "id": 12,
                "mutability": "mutable",
                "name": "",
                "nameLocation": "-1:-1:-1",
                "nodeType": "VariableDeclaration",
                "scope": 17,
                "src": "434:4:0",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions":
                {
                  "typeIdentifier": "t_uint256",
                  "typeString": "uint256"
                },
                "typeName":
                {
                  "id": 11,
                  "name": "uint",
                  "nodeType": "ElementaryTypeName",
                  "src": "434:4:0",
                  "typeDescriptions":
                  {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  }
                },
                "visibility": "internal"
              }
            ],
            "src": "433:6:0"
          },
          "scope": 18,
          "src": "398:61:0",
          "stateMutability": "view",
          "virtual": false,
          "visibility": "public"
        }
      ],
      "scope": 19,
      "src": "62:399:0",
      "usedErrors": []
    }
  ],
  "src": "36:426:0"
}
