//// [computedPropertyNames48_ES5.ts] declare function extractIndexer(p: { [n: number]: T }): T; enum E { x } var a: any; extractIndexer({ [a]: "" }); // Should return string extractIndexer({ [E.x]: "" }); // Should return string extractIndexer({ ["" || 0]: "" }); // Should return any (widened form of undefined) //// [computedPropertyNames48_ES5.js] var E; (function (E) { E[E["x"] = 0] = "x"; })(E || (E = {})); var a; extractIndexer((_a = {}, _a[a] = "", _a )); // Should return string extractIndexer((_b = {}, _b[E.x] = "", _b )); // Should return string extractIndexer((_c = {}, _c["" || 0] = "", _c )); // Should return any (widened form of undefined) var _a, _b, _c;