solang-parser 0.2.1

Solang Solidity Parser
Documentation
{
  "absolutePath": "a",
  "id": 14,
  "nodeType": "SourceUnit",
  "nodes":
  [
    {
      "id": 3,
      "members":
      [
        {
          "id": 1,
          "name": "X",
          "nameLocation": "9:1:1",
          "nodeType": "EnumValue",
          "src": "9:1:1"
        },
        {
          "id": 2,
          "name": "Y",
          "nameLocation": "12:1:1",
          "nodeType": "EnumValue",
          "src": "12:1:1"
        }
      ],
      "name": "A",
      "nameLocation": "5:1:1",
      "nodeType": "EnumDefinition",
      "src": "0:15:1"
    },
    {
      "body":
      {
        "id": 12,
        "nodeType": "Block",
        "src": "46:15:1",
        "statements":
        [
          {
            "expression":
            {
              "expression":
              {
                "id": 9,
                "name": "A",
                "nodeType": "Identifier",
                "overloadedDeclarations": [],
                "src": "55:1:1",
                "typeDescriptions": {}
              },
              "id": 10,
              "memberName": "X",
              "nodeType": "MemberAccess",
              "src": "55:3:1",
              "typeDescriptions": {}
            },
            "id": 11,
            "nodeType": "Return",
            "src": "48:10:1"
          }
        ]
      },
      "id": 13,
      "implemented": true,
      "kind": "freeFunction",
      "modifiers": [],
      "name": "f",
      "nameLocation": "25:1:1",
      "nodeType": "FunctionDefinition",
      "parameters":
      {
        "id": 4,
        "nodeType": "ParameterList",
        "parameters": [],
        "src": "26:2:1"
      },
      "returnParameters":
      {
        "id": 8,
        "nodeType": "ParameterList",
        "parameters":
        [
          {
            "constant": false,
            "id": 7,
            "mutability": "mutable",
            "name": "",
            "nameLocation": "-1:-1:-1",
            "nodeType": "VariableDeclaration",
            "src": "43:1:1",
            "stateVariable": false,
            "storageLocation": "default",
            "typeDescriptions": {},
            "typeName":
            {
              "id": 6,
              "nodeType": "UserDefinedTypeName",
              "pathNode":
              {
                "id": 5,
                "name": "A",
                "nodeType": "IdentifierPath",
                "src": "43:1:1"
              },
              "src": "43:1:1",
              "typeDescriptions": {}
            },
            "visibility": "internal"
          }
        ],
        "src": "42:3:1"
      },
      "src": "16:45:1",
      "stateMutability": "pure",
      "virtual": false,
      "visibility": "internal"
    }
  ],
  "src": "0:62:1"
}