TypeScript/tests/baselines/reference/objectLiteralWidened.js
Yui f619282af1 [Transforms] Update transforms with recent master (#8960)
* Remove check narrowing only certain types, add test showing issues with this

* string literal case test

* Reconcile fix with CFA work

* Defaultable -> NotNarrowable to align with use

* Missed a defaultable in comments

* Add test for narrowing to unions of string literals

* Actually merge from master

* Run fixupParentReferences when parsing isolated jsDocComment

* initial revision of unit test support for project system in tsserver

* Add non-widening forms of null and undefined

* Create separate control flows for property declarations with initializers

* Add regression test

* Add tests

* Remove unused variable

* Add null check and CR feedback

* Revert "Merge pull request #7235 from weswigham/narrow-all-types"

This reverts commit ef0f6c8fe4, reversing
changes made to 9f087cb62a.

* reuse the fixupParentReferences function

* Fix up error from merging with master
2016-06-03 11:02:35 -07:00

62 lines
818 B
TypeScript

//// [objectLiteralWidened.ts]
// object literal properties are widened to any
var x1 = {
foo: null,
bar: undefined
}
var y1 = {
foo: null,
bar: {
baz: null,
boo: undefined
}
}
// these are not widened
var u: undefined = undefined;
var n: null = null;
var x2 = {
foo: n,
bar: u
}
var y2 = {
foo: n,
bar: {
baz: n,
boo: u
}
}
//// [objectLiteralWidened.js]
// object literal properties are widened to any
var x1 = {
foo: null,
bar: undefined
};
var y1 = {
foo: null,
bar: {
baz: null,
boo: undefined
}
};
// these are not widened
var u = undefined;
var n = null;
var x2 = {
foo: n,
bar: u
};
var y2 = {
foo: n,
bar: {
baz: n,
boo: u
}
};