mirror of
https://github.com/microsoft/TypeScript.git
synced 2026-05-30 01:04:49 -05:00
update CFG to properly handle do statements
This commit is contained in:
26
tests/baselines/reference/doWhileUnreachableCode.js
Normal file
26
tests/baselines/reference/doWhileUnreachableCode.js
Normal file
@@ -0,0 +1,26 @@
|
||||
//// [doWhileUnreachableCode.ts]
|
||||
function test() {
|
||||
let foo = 0;
|
||||
testLoop: do {
|
||||
foo++;
|
||||
continue testLoop;
|
||||
} while (function() {
|
||||
var x = 1;
|
||||
return false;
|
||||
}());
|
||||
|
||||
return foo;
|
||||
}
|
||||
|
||||
//// [doWhileUnreachableCode.js]
|
||||
function test() {
|
||||
var foo = 0;
|
||||
testLoop: do {
|
||||
foo++;
|
||||
continue testLoop;
|
||||
} while (function () {
|
||||
var x = 1;
|
||||
return false;
|
||||
}());
|
||||
return foo;
|
||||
}
|
||||
22
tests/baselines/reference/doWhileUnreachableCode.symbols
Normal file
22
tests/baselines/reference/doWhileUnreachableCode.symbols
Normal file
@@ -0,0 +1,22 @@
|
||||
=== tests/cases/compiler/doWhileUnreachableCode.ts ===
|
||||
function test() {
|
||||
>test : Symbol(test, Decl(doWhileUnreachableCode.ts, 0, 0))
|
||||
|
||||
let foo = 0;
|
||||
>foo : Symbol(foo, Decl(doWhileUnreachableCode.ts, 1, 7))
|
||||
|
||||
testLoop: do {
|
||||
foo++;
|
||||
>foo : Symbol(foo, Decl(doWhileUnreachableCode.ts, 1, 7))
|
||||
|
||||
continue testLoop;
|
||||
} while (function() {
|
||||
var x = 1;
|
||||
>x : Symbol(x, Decl(doWhileUnreachableCode.ts, 6, 11))
|
||||
|
||||
return false;
|
||||
}());
|
||||
|
||||
return foo;
|
||||
>foo : Symbol(foo, Decl(doWhileUnreachableCode.ts, 1, 7))
|
||||
}
|
||||
34
tests/baselines/reference/doWhileUnreachableCode.types
Normal file
34
tests/baselines/reference/doWhileUnreachableCode.types
Normal file
@@ -0,0 +1,34 @@
|
||||
=== tests/cases/compiler/doWhileUnreachableCode.ts ===
|
||||
function test() {
|
||||
>test : () => number
|
||||
|
||||
let foo = 0;
|
||||
>foo : number
|
||||
>0 : 0
|
||||
|
||||
testLoop: do {
|
||||
>testLoop : any
|
||||
|
||||
foo++;
|
||||
>foo++ : number
|
||||
>foo : number
|
||||
|
||||
continue testLoop;
|
||||
>testLoop : any
|
||||
|
||||
} while (function() {
|
||||
>function() { var x = 1; return false; }() : boolean
|
||||
>function() { var x = 1; return false; } : () => boolean
|
||||
|
||||
var x = 1;
|
||||
>x : number
|
||||
>1 : 1
|
||||
|
||||
return false;
|
||||
>false : false
|
||||
|
||||
}());
|
||||
|
||||
return foo;
|
||||
>foo : number
|
||||
}
|
||||
12
tests/cases/compiler/doWhileUnreachableCode.ts
Normal file
12
tests/cases/compiler/doWhileUnreachableCode.ts
Normal file
@@ -0,0 +1,12 @@
|
||||
function test() {
|
||||
let foo = 0;
|
||||
testLoop: do {
|
||||
foo++;
|
||||
continue testLoop;
|
||||
} while (function() {
|
||||
var x = 1;
|
||||
return false;
|
||||
}());
|
||||
|
||||
return foo;
|
||||
}
|
||||
Reference in New Issue
Block a user