[
 {
  "name" : "json",
  "kind" : "module",
  "members" : [
   {
    "name" : "_staticCtor1",
    "kind" : "function",
    "line" : 8,
    "char" : 1,
    "storageClass" : [
     "static"
    ],
    "deco" : "FZv",
    "endline" : 8,
    "endchar" : 16
   },
   {
    "name" : "_staticDtor2",
    "kind" : "function",
    "line" : 10,
    "char" : 1,
    "storageClass" : [
     "static"
    ],
    "deco" : "FZv",
    "endline" : 10,
    "endchar" : 17
   },
   {
    "name" : "myInt",
    "kind" : "alias",
    "line" : 13,
    "char" : 11,
    "deco" : "i"
   },
   {
    "name" : "x",
    "kind" : "variable",
    "line" : 14,
    "char" : 7,
    "deco" : "i",
    "originalType" : "myInt"
   },
   {
    "kind" : "template",
    "line" : 16,
    "char" : 1,
    "name" : "Foo",
    "parameters" : [
     {
      "name" : "T",
      "kind" : "type"
     }
    ],
    "members" : [
     {
      "name" : "Foo",
      "kind" : "struct",
      "line" : 16,
      "char" : 1,
      "members" : [
       {
        "name" : "t",
        "kind" : "variable",
        "line" : 16,
        "char" : 19,
        "type" : "T"
       }
      ]
     }
    ]
   },
   {
    "kind" : "template",
    "line" : 17,
    "char" : 1,
    "name" : "Bar",
    "parameters" : [
     {
      "name" : "T",
      "kind" : "value",
      "deco" : "i"
     }
    ],
    "members" : [
     {
      "name" : "Bar",
      "kind" : "class",
      "line" : 17,
      "char" : 1,
      "members" : [
       {
        "name" : "t",
        "kind" : "variable",
        "line" : 17,
        "char" : 25,
        "deco" : "i",
        "init" : "T"
       }
      ]
     }
    ]
   },
   {
    "kind" : "template",
    "line" : 18,
    "char" : 1,
    "name" : "Baz",
    "parameters" : [
     {
      "name" : "T",
      "kind" : "tuple"
     }
    ],
    "members" : [
     {
      "name" : "Baz",
      "kind" : "interface",
      "line" : 18,
      "char" : 1,
      "members" : [
       {
        "name" : "t",
        "kind" : "function",
        "line" : 18,
        "char" : 28,
        "type" : "const T[0]()"
       }
      ]
     }
    ]
   },
   {
    "kind" : "template",
    "line" : 20,
    "char" : 1,
    "name" : "P",
    "parameters" : [
     {
      "name" : "T",
      "kind" : "alias"
     }
    ],
    "members" : []
   },
   {
    "name" : "Bar2",
    "kind" : "class",
    "line" : 22,
    "char" : 1,
    "base" : "json.Bar!1.Bar",
    "interfaces" : [
     "json.Baz!(int, 2, null).Baz"
    ],
    "members" : [
     {
      "name" : "this",
      "kind" : "constructor",
      "line" : 23,
      "char" : 5,
      "deco" : "FZC4json4Bar2",
      "originalType" : "()",
      "endline" : 23,
      "endchar" : 13
     },
     {
      "name" : "~this",
      "kind" : "destructor",
      "line" : 24,
      "char" : 5,
      "deco" : "FZv",
      "endline" : 24,
      "endchar" : 14
     },
     {
      "name" : "foo",
      "kind" : "function",
      "line" : 26,
      "char" : 12,
      "storageClass" : [
       "static"
      ],
      "deco" : "FNaNbNiNfZv",
      "originalType" : "()",
      "endline" : 26,
      "endchar" : 19
     },
     {
      "name" : "baz",
      "kind" : "function",
      "protection" : "protected",
      "line" : 27,
      "char" : 32,
      "storageClass" : [
       "abstract"
      ],
      "deco" : "FZS4json10__T3FooTiZ3Foo"
     },
     {
      "name" : "t",
      "kind" : "function",
      "line" : 28,
      "char" : 18,
      "storageClass" : [
       "override"
      ],
      "deco" : "xFZi",
      "endline" : 28,
      "endchar" : 40,
      "overrides" : [
       "json.Baz!(int, 2, null).Baz.t"
      ]
     },
     {
      "name" : "__xdtor",
      "kind" : "alias"
     }
    ]
   },
   {
    "name" : "Bar3",
    "kind" : "class",
    "line" : 31,
    "char" : 1,
    "base" : "json.Bar2",
    "members" : [
     {
      "name" : "val",
      "kind" : "variable",
      "protection" : "private",
      "line" : 32,
      "char" : 14,
      "deco" : "i",
     },
     {
      "name" : "this",
      "kind" : "constructor",
      "line" : 33,
      "char" : 5,
      "deco" : "FiZC4json4Bar3",
      "originalType" : "(int i)",
      "parameters" : [
       {
        "name" : "i",
        "deco" : "i"
       }
      ],
      "endline" : 33,
      "endchar" : 28
     },
     {
      "name" : "baz",
      "kind" : "function",
      "protection" : "protected",
      "line" : 35,
      "char" : 32,
      "storageClass" : [
       "override"
      ],
      "deco" : "FZS4json10__T3FooTiZ3Foo",
      "endline" : 35,
      "endchar" : 61,
      "overrides" : [
       "json.Bar2.baz"
      ]
     }
    ]
   },
   {
    "name" : "Foo2",
    "kind" : "struct",
    "line" : 38,
    "char" : 1,
    "members" : [
     {
      "name" : "bar2",
      "kind" : "variable",
      "line" : 39,
      "char" : 7,
      "deco" : "C4json4Bar2",
      "originalType" : "Bar2",
     },
     {
      "name" : "U",
      "kind" : "union",
      "line" : 40,
      "char" : 2,
      "members" : [
       {
        "name" : "s",
        "kind" : "variable",
        "line" : 42,
        "char" : 10,
        "deco" : "s",
       },
       {
        "name" : "i",
        "kind" : "variable",
        "line" : 43,
        "char" : 8,
        "deco" : "i",
       },
       {
        "name" : "o",
        "kind" : "variable",
        "line" : 45,
        "char" : 10,
        "deco" : "C6Object",
        "originalType" : "Object",
       }
      ]
     }
    ]
   },
   {
    "name" : "bar",
    "kind" : "function",
    "line" : 52,
    "char" : 16,
    "deco" : "FNeKkC4json4Bar2Zi",
    "originalType" : "@trusted myInt(ref uint blah, Bar2 foo = new Bar3(7))",
    "parameters" : [
     {
      "name" : "blah",
      "deco" : "k",
      "storageClass" : [
       "ref"
      ]
     },
     {
      "name" : "foo",
      "deco" : "C4json4Bar2",
      "default" : "new Bar3(7)"
     }
    ],
    "endline" : 55,
    "endchar" : 1
   },
   {
    "name" : "outer",
    "kind" : "function",
    "line" : 57,
    "char" : 15,
    "deco" : "FNbNdZi",
    "endline" : 74,
    "endchar" : 1
   },
   {
    "name" : "imports.jsonimport1",
    "kind" : "import",
    "line" : 77,
    "char" : 8,
    "protection" : "private",
    "selective" : [
     "target1",
     "target2"
    ]
   },
   {
    "name" : "imports.jsonimport2",
    "kind" : "import",
    "line" : 78,
    "char" : 8,
    "protection" : "private",
    "renamed" : {
     "alias1" : "target1",
     "alias2" : "target2"
    }
   },
   {
    "name" : "imports.jsonimport3",
    "kind" : "import",
    "line" : 79,
    "char" : 8,
    "protection" : "private",
    "renamed" : {
     "alias3" : "target1",
     "alias4" : "target2"
    },
    "selective" : [
     "target3"
    ]
   },
   {
    "name" : "imports.jsonimport4",
    "kind" : "import",
    "line" : 80,
    "char" : 8,
    "protection" : "private"
   },
   {
    "name" : "S",
    "kind" : "struct",
    "line" : 82,
    "char" : 1,
    "members" : [
     {
      "kind" : "template",
      "line" : 85,
      "char" : 5,
      "name" : "this",
      "parameters" : [
       {
        "name" : "T",
        "kind" : "type"
       }
      ],
      "members" : [
       {
        "name" : "this",
        "kind" : "constructor",
        "line" : 85,
        "char" : 5,
        "type" : "(T t)",
        "parameters" : [
         {
          "name" : "t",
          "type" : "T"
         }
        ],
        "endline" : 85,
        "endchar" : 20
       }
      ]
     }
    ]
   },
   {
    "kind" : "template",
    "protection" : "private",
    "line" : 89,
    "char" : 9,
    "name" : "S1_9755",
    "parameters" : [
     {
      "name" : "T",
      "kind" : "type"
     }
    ],
    "members" : [
     {
      "name" : "S1_9755",
      "kind" : "struct",
      "line" : 89,
      "char" : 9,
      "members" : []
     }
    ]
   },
   {
    "kind" : "template",
    "protection" : "package",
    "line" : 90,
    "char" : 9,
    "name" : "S2_9755",
    "parameters" : [
     {
      "name" : "T",
      "kind" : "type"
     }
    ],
    "members" : [
     {
      "name" : "S2_9755",
      "kind" : "struct",
      "line" : 90,
      "char" : 9,
      "members" : []
     }
    ]
   },
   {
    "name" : "C_9755",
    "kind" : "class",
    "line" : 92,
    "char" : 1,
    "members" : [
     {
      "kind" : "template",
      "protection" : "protected",
      "line" : 94,
      "char" : 22,
      "name" : "CI_9755",
      "parameters" : [
       {
        "name" : "T",
        "kind" : "type"
       }
      ],
      "members" : [
       {
        "name" : "CI_9755",
        "kind" : "class",
        "line" : 94,
        "char" : 22,
        "members" : []
       }
      ]
     }
    ]
   },
   {
    "name" : "c_10011",
    "kind" : "variable",
    "line" : 98,
    "char" : 14,
    "storageClass" : [
     "const"
    ],
    "deco" : "xC6Object",
    "originalType" : "Object",
    "init" : "Object()"
   },
   {
    "name" : "Numbers",
    "kind" : "enum",
    "line" : 101,
    "char" : 1,
    "baseDeco" : "i",
    "members" : [
     {
      "name" : "unspecified1",
      "kind" : "enum member",
      "value" : "0",
      "line" : 103,
      "char" : 5
     },
     {
      "name" : "one",
      "kind" : "enum member",
      "value" : "2",
      "line" : 104,
      "char" : 5
     },
     {
      "name" : "two",
      "kind" : "enum member",
      "value" : "3",
      "line" : 105,
      "char" : 5
     },
     {
      "name" : "FILE_NOT_FOUND",
      "kind" : "enum member",
      "value" : "101",
      "line" : 106,
      "char" : 5
     },
     {
      "name" : "unspecified3",
      "kind" : "enum member",
      "value" : "102",
      "line" : 107,
      "char" : 5
     },
     {
      "name" : "unspecified4",
      "kind" : "enum member",
      "value" : "103",
      "line" : 108,
      "char" : 5
     },
     {
      "name" : "four",
      "kind" : "enum member",
      "value" : "4",
      "line" : 109,
      "char" : 5
     }
    ]
   },
   {
    "kind" : "template",
    "line" : 112,
    "char" : 1,
    "name" : "IncludeConstraint",
    "parameters" : [
     {
      "name" : "T",
      "kind" : "type"
     }
    ],
    "constraint" : "T == string",
    "members" : []
   }
  ]
 }
]
