{
  "absolutePath": "a",
  "exportedSymbols":
  {
    "A":
    [
      3
    ],
    "f":
    [
      13
    ]
  },
  "id": 14,
  "nodeType": "SourceUnit",
  "nodes":
  [
    {
      "canonicalName": "A",
      "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": [],
                "referencedDeclaration": 3,
                "src": "55:1:1",
                "typeDescriptions":
                {
                  "typeIdentifier": "t_type$_t_enum$_A_$3_$",
                  "typeString": "type(enum A)"
                }
              },
              "id": 10,
              "isConstant": false,
              "isLValue": false,
              "isPure": true,
              "lValueRequested": false,
              "memberName": "X",
              "nodeType": "MemberAccess",
              "referencedDeclaration": 1,
              "src": "55:3:1",
              "typeDescriptions":
              {
                "typeIdentifier": "t_enum$_A_$3",
                "typeString": "enum A"
              }
            },
            "functionReturnParameters": 8,
            "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",
            "scope": 13,
            "src": "43:1:1",
            "stateVariable": false,
            "storageLocation": "default",
            "typeDescriptions":
            {
              "typeIdentifier": "t_enum$_A_$3",
              "typeString": "enum A"
            },
            "typeName":
            {
              "id": 6,
              "nodeType": "UserDefinedTypeName",
              "pathNode":
              {
                "id": 5,
                "name": "A",
                "nodeType": "IdentifierPath",
                "referencedDeclaration": 3,
                "src": "43:1:1"
              },
              "referencedDeclaration": 3,
              "src": "43:1:1",
              "typeDescriptions":
              {
                "typeIdentifier": "t_enum$_A_$3",
                "typeString": "enum A"
              }
            },
            "visibility": "internal"
          }
        ],
        "src": "42:3:1"
      },
      "scope": 14,
      "src": "16:45:1",
      "stateMutability": "pure",
      "virtual": false,
      "visibility": "internal"
    }
  ],
  "src": "0:62:1"
}
