ffae189e89
Conflicts: src/compiler/emitter.ts tests/baselines/reference/ES5SymbolProperty1.js tests/baselines/reference/FunctionDeclaration8_es6.js tests/baselines/reference/FunctionDeclaration9_es6.js tests/baselines/reference/FunctionPropertyAssignments5_es6.js tests/baselines/reference/computedPropertyNames10_ES5.js tests/baselines/reference/computedPropertyNames11_ES5.js tests/baselines/reference/computedPropertyNames18_ES5.js tests/baselines/reference/computedPropertyNames19_ES5.js tests/baselines/reference/computedPropertyNames1_ES5.js tests/baselines/reference/computedPropertyNames20_ES5.js tests/baselines/reference/computedPropertyNames22_ES5.js tests/baselines/reference/computedPropertyNames23_ES5.js tests/baselines/reference/computedPropertyNames25_ES5.js tests/baselines/reference/computedPropertyNames26_ES5.js tests/baselines/reference/computedPropertyNames28_ES5.js tests/baselines/reference/computedPropertyNames29_ES5.js tests/baselines/reference/computedPropertyNames30_ES5.js tests/baselines/reference/computedPropertyNames31_ES5.js tests/baselines/reference/computedPropertyNames33_ES5.js tests/baselines/reference/computedPropertyNames34_ES5.js tests/baselines/reference/computedPropertyNames46_ES5.js tests/baselines/reference/computedPropertyNames47_ES5.js tests/baselines/reference/computedPropertyNames48_ES5.js tests/baselines/reference/computedPropertyNames49_ES5.js tests/baselines/reference/computedPropertyNames4_ES5.js tests/baselines/reference/computedPropertyNames50_ES5.js tests/baselines/reference/computedPropertyNames5_ES5.js tests/baselines/reference/computedPropertyNames6_ES5.js tests/baselines/reference/computedPropertyNames7_ES5.js tests/baselines/reference/computedPropertyNames8_ES5.js tests/baselines/reference/computedPropertyNames9_ES5.js tests/baselines/reference/computedPropertyNamesContextualType10_ES5.js tests/baselines/reference/computedPropertyNamesContextualType1_ES5.js tests/baselines/reference/computedPropertyNamesContextualType2_ES5.js tests/baselines/reference/computedPropertyNamesContextualType3_ES5.js tests/baselines/reference/computedPropertyNamesContextualType4_ES5.js tests/baselines/reference/computedPropertyNamesContextualType5_ES5.js tests/baselines/reference/computedPropertyNamesContextualType6_ES5.js tests/baselines/reference/computedPropertyNamesContextualType7_ES5.js tests/baselines/reference/computedPropertyNamesContextualType8_ES5.js tests/baselines/reference/computedPropertyNamesContextualType9_ES5.js tests/baselines/reference/computedPropertyNamesDeclarationEmit5_ES5.js tests/baselines/reference/computedPropertyNamesSourceMap2_ES5.js tests/baselines/reference/computedPropertyNamesSourceMap2_ES5.js.map tests/baselines/reference/computedPropertyNamesSourceMap2_ES5.sourcemap.txt tests/baselines/reference/parserES5ComputedPropertyName2.js tests/baselines/reference/parserES5ComputedPropertyName3.js tests/baselines/reference/parserES5ComputedPropertyName4.js tests/baselines/reference/privateIndexer2.js
39 lines
746 B
TypeScript
39 lines
746 B
TypeScript
//// [computedPropertyNames48_ES5.ts]
|
|
declare function extractIndexer<T>(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;
|