1{ 2 "type": "Program", 3 "statements": [ 4 { 5 "type": "TSInterfaceDeclaration", 6 "body": { 7 "type": "TSInterfaceBody", 8 "body": [], 9 "loc": { 10 "start": { 11 "line": 17, 12 "column": 23 13 }, 14 "end": { 15 "line": 19, 16 "column": 2 17 } 18 } 19 }, 20 "id": { 21 "type": "Identifier", 22 "name": "A", 23 "decorators": [], 24 "loc": { 25 "start": { 26 "line": 17, 27 "column": 11 28 }, 29 "end": { 30 "line": 17, 31 "column": 12 32 } 33 } 34 }, 35 "extends": [ 36 { 37 "type": "TSInterfaceHeritage", 38 "expression": { 39 "type": "TSTypeReference", 40 "typeName": { 41 "type": "Identifier", 42 "name": "C", 43 "decorators": [], 44 "loc": { 45 "start": { 46 "line": 17, 47 "column": 21 48 }, 49 "end": { 50 "line": 17, 51 "column": 22 52 } 53 } 54 }, 55 "loc": { 56 "start": { 57 "line": 17, 58 "column": 23 59 }, 60 "end": { 61 "line": 17, 62 "column": 22 63 } 64 } 65 }, 66 "loc": { 67 "start": { 68 "line": 17, 69 "column": 23 70 }, 71 "end": { 72 "line": 17, 73 "column": 22 74 } 75 } 76 } 77 ], 78 "loc": { 79 "start": { 80 "line": 17, 81 "column": 1 82 }, 83 "end": { 84 "line": 19, 85 "column": 2 86 } 87 } 88 }, 89 { 90 "type": "TSInterfaceDeclaration", 91 "body": { 92 "type": "TSInterfaceBody", 93 "body": [], 94 "loc": { 95 "start": { 96 "line": 21, 97 "column": 23 98 }, 99 "end": { 100 "line": 23, 101 "column": 2 102 } 103 } 104 }, 105 "id": { 106 "type": "Identifier", 107 "name": "B", 108 "decorators": [], 109 "loc": { 110 "start": { 111 "line": 21, 112 "column": 11 113 }, 114 "end": { 115 "line": 21, 116 "column": 12 117 } 118 } 119 }, 120 "extends": [ 121 { 122 "type": "TSInterfaceHeritage", 123 "expression": { 124 "type": "TSTypeReference", 125 "typeName": { 126 "type": "Identifier", 127 "name": "A", 128 "decorators": [], 129 "loc": { 130 "start": { 131 "line": 21, 132 "column": 21 133 }, 134 "end": { 135 "line": 21, 136 "column": 22 137 } 138 } 139 }, 140 "loc": { 141 "start": { 142 "line": 21, 143 "column": 23 144 }, 145 "end": { 146 "line": 21, 147 "column": 22 148 } 149 } 150 }, 151 "loc": { 152 "start": { 153 "line": 21, 154 "column": 23 155 }, 156 "end": { 157 "line": 21, 158 "column": 22 159 } 160 } 161 } 162 ], 163 "loc": { 164 "start": { 165 "line": 21, 166 "column": 1 167 }, 168 "end": { 169 "line": 23, 170 "column": 2 171 } 172 } 173 }, 174 { 175 "type": "TSInterfaceDeclaration", 176 "body": { 177 "type": "TSInterfaceBody", 178 "body": [], 179 "loc": { 180 "start": { 181 "line": 25, 182 "column": 23 183 }, 184 "end": { 185 "line": 27, 186 "column": 2 187 } 188 } 189 }, 190 "id": { 191 "type": "Identifier", 192 "name": "C", 193 "decorators": [], 194 "loc": { 195 "start": { 196 "line": 25, 197 "column": 11 198 }, 199 "end": { 200 "line": 25, 201 "column": 12 202 } 203 } 204 }, 205 "extends": [ 206 { 207 "type": "TSInterfaceHeritage", 208 "expression": { 209 "type": "TSTypeReference", 210 "typeName": { 211 "type": "Identifier", 212 "name": "B", 213 "decorators": [], 214 "loc": { 215 "start": { 216 "line": 25, 217 "column": 21 218 }, 219 "end": { 220 "line": 25, 221 "column": 22 222 } 223 } 224 }, 225 "loc": { 226 "start": { 227 "line": 25, 228 "column": 23 229 }, 230 "end": { 231 "line": 25, 232 "column": 22 233 } 234 } 235 }, 236 "loc": { 237 "start": { 238 "line": 25, 239 "column": 23 240 }, 241 "end": { 242 "line": 25, 243 "column": 22 244 } 245 } 246 } 247 ], 248 "loc": { 249 "start": { 250 "line": 25, 251 "column": 1 252 }, 253 "end": { 254 "line": 27, 255 "column": 2 256 } 257 } 258 } 259 ], 260 "loc": { 261 "start": { 262 "line": 1, 263 "column": 1 264 }, 265 "end": { 266 "line": 27, 267 "column": 2 268 } 269 } 270} 271TypeError: Type A recursively references itself as a base type. [interfaceInheritance1.ts:17:11] 272