JSON AST:


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