* 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 commitef0f6c8fe4
, reversing changes made to9f087cb62a
. * reuse the fixupParentReferences function * Fix up error from merging with master
32 lines
521 B
TypeScript
32 lines
521 B
TypeScript
//// [strictNullChecksNoWidening.ts]
|
|
|
|
var a1 = null;
|
|
var a2 = undefined;
|
|
var a3 = void 0;
|
|
|
|
var b1 = [];
|
|
var b2 = [,];
|
|
var b3 = [undefined];
|
|
var b4 = [[], []];
|
|
var b5 = [[], [,]];
|
|
|
|
declare function f<T>(x: T): T;
|
|
|
|
var c1 = f(null);
|
|
var c2 = f(undefined);
|
|
var c3 = f([]);
|
|
|
|
|
|
//// [strictNullChecksNoWidening.js]
|
|
var a1 = null;
|
|
var a2 = undefined;
|
|
var a3 = void 0;
|
|
var b1 = [];
|
|
var b2 = [,];
|
|
var b3 = [undefined];
|
|
var b4 = [[], []];
|
|
var b5 = [[], [,]];
|
|
var c1 = f(null);
|
|
var c2 = f(undefined);
|
|
var c3 = f([]);
|