mirror of
https://github.com/microsoft/TypeScript.git
synced 2026-02-06 20:14:01 -06:00
Test case for nested array binding pattern
This commit is contained in:
parent
7c618a494d
commit
7945de4cd3
@ -0,0 +1,34 @@
|
||||
//// [sourceMapValidationDestructuringVariableStatementArrayBindingPattern2.ts]
|
||||
declare var console: {
|
||||
log(msg: string): void;
|
||||
}
|
||||
type MultiSkilledRobot = [string, [string, string]];
|
||||
var multiRobotA: MultiSkilledRobot = ["mower", ["mowing", ""]];
|
||||
var multiRobotB: MultiSkilledRobot = ["trimmer", ["trimming", "edging"]];
|
||||
|
||||
let [, skillA] = multiRobotA;
|
||||
let [nameMB] = multiRobotB;
|
||||
let [nameMA, [primarySkillA, secondarySkillA]] = multiRobotA;
|
||||
|
||||
let [nameMC] = ["roomba", ["vaccum", "mopping"]];
|
||||
let [nameMC2, [primarySkillC, secondarySkillC]] = ["roomba", ["vaccum", "mopping"]];
|
||||
|
||||
let [...multiRobotAInfo] = multiRobotA;
|
||||
|
||||
if (nameMB == nameMA) {
|
||||
console.log(skillA[0] + skillA[1]);
|
||||
}
|
||||
|
||||
//// [sourceMapValidationDestructuringVariableStatementArrayBindingPattern2.js]
|
||||
var multiRobotA = ["mower", ["mowing", ""]];
|
||||
var multiRobotB = ["trimmer", ["trimming", "edging"]];
|
||||
var skillA = multiRobotA[1];
|
||||
var nameMB = multiRobotB[0];
|
||||
var nameMA = multiRobotA[0], _a = multiRobotA[1], primarySkillA = _a[0], secondarySkillA = _a[1];
|
||||
var nameMC = ["roomba", ["vaccum", "mopping"]][0];
|
||||
var _b = ["roomba", ["vaccum", "mopping"]], nameMC2 = _b[0], _c = _b[1], primarySkillC = _c[0], secondarySkillC = _c[1];
|
||||
var multiRobotAInfo = multiRobotA.slice(0);
|
||||
if (nameMB == nameMA) {
|
||||
console.log(skillA[0] + skillA[1]);
|
||||
}
|
||||
//# sourceMappingURL=sourceMapValidationDestructuringVariableStatementArrayBindingPattern2.js.map
|
||||
@ -0,0 +1,2 @@
|
||||
//// [sourceMapValidationDestructuringVariableStatementArrayBindingPattern2.js.map]
|
||||
{"version":3,"file":"sourceMapValidationDestructuringVariableStatementArrayBindingPattern2.js","sourceRoot":"","sources":["sourceMapValidationDestructuringVariableStatementArrayBindingPattern2.ts"],"names":[],"mappings":"AAIA,IAAI,WAAW,GAAsB,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAC;AAC/D,IAAI,WAAW,GAAsB,CAAC,SAAS,EAAE,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC,CAAC;AAEzE,IAAI,uBAAwB,CAAC;AAC7B,IAAI,uBAAsB,CAAC;AAC3B,IAAK,uBAAM,uBAAG,qBAAa,EAAE,uBAAe,CAAiB;AAE7D,IAAI,6CAA4C,CAAC;AACjD,IAAkD,sCAAiC,EAA9E,eAAO,cAAG,qBAAa,EAAE,uBAAe,CAAuC;AAEpF,IAAI,sCAAkC,CAAC;AAEvC,EAAE,CAAC,CAAC,MAAM,IAAI,MAAM,CAAC,CAAC,CAAC;IACnB,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;AACvC,CAAC"}
|
||||
@ -0,0 +1,327 @@
|
||||
===================================================================
|
||||
JsFile: sourceMapValidationDestructuringVariableStatementArrayBindingPattern2.js
|
||||
mapUrl: sourceMapValidationDestructuringVariableStatementArrayBindingPattern2.js.map
|
||||
sourceRoot:
|
||||
sources: sourceMapValidationDestructuringVariableStatementArrayBindingPattern2.ts
|
||||
===================================================================
|
||||
-------------------------------------------------------------------
|
||||
emittedFile:tests/cases/compiler/sourceMapValidationDestructuringVariableStatementArrayBindingPattern2.js
|
||||
sourceFile:sourceMapValidationDestructuringVariableStatementArrayBindingPattern2.ts
|
||||
-------------------------------------------------------------------
|
||||
>>>var multiRobotA = ["mower", ["mowing", ""]];
|
||||
1 >
|
||||
2 >^^^^
|
||||
3 > ^^^^^^^^^^^
|
||||
4 > ^^^
|
||||
5 > ^
|
||||
6 > ^^^^^^^
|
||||
7 > ^^
|
||||
8 > ^
|
||||
9 > ^^^^^^^^
|
||||
10> ^^
|
||||
11> ^^
|
||||
12> ^
|
||||
13> ^
|
||||
14> ^
|
||||
15> ^^^^^^^^^^^->
|
||||
1 >declare var console: {
|
||||
> log(msg: string): void;
|
||||
>}
|
||||
>type MultiSkilledRobot = [string, [string, string]];
|
||||
>
|
||||
2 >var
|
||||
3 > multiRobotA
|
||||
4 > : MultiSkilledRobot =
|
||||
5 > [
|
||||
6 > "mower"
|
||||
7 > ,
|
||||
8 > [
|
||||
9 > "mowing"
|
||||
10> ,
|
||||
11> ""
|
||||
12> ]
|
||||
13> ]
|
||||
14> ;
|
||||
1 >Emitted(1, 1) Source(5, 1) + SourceIndex(0)
|
||||
2 >Emitted(1, 5) Source(5, 5) + SourceIndex(0)
|
||||
3 >Emitted(1, 16) Source(5, 16) + SourceIndex(0)
|
||||
4 >Emitted(1, 19) Source(5, 38) + SourceIndex(0)
|
||||
5 >Emitted(1, 20) Source(5, 39) + SourceIndex(0)
|
||||
6 >Emitted(1, 27) Source(5, 46) + SourceIndex(0)
|
||||
7 >Emitted(1, 29) Source(5, 48) + SourceIndex(0)
|
||||
8 >Emitted(1, 30) Source(5, 49) + SourceIndex(0)
|
||||
9 >Emitted(1, 38) Source(5, 57) + SourceIndex(0)
|
||||
10>Emitted(1, 40) Source(5, 59) + SourceIndex(0)
|
||||
11>Emitted(1, 42) Source(5, 61) + SourceIndex(0)
|
||||
12>Emitted(1, 43) Source(5, 62) + SourceIndex(0)
|
||||
13>Emitted(1, 44) Source(5, 63) + SourceIndex(0)
|
||||
14>Emitted(1, 45) Source(5, 64) + SourceIndex(0)
|
||||
---
|
||||
>>>var multiRobotB = ["trimmer", ["trimming", "edging"]];
|
||||
1->
|
||||
2 >^^^^
|
||||
3 > ^^^^^^^^^^^
|
||||
4 > ^^^
|
||||
5 > ^
|
||||
6 > ^^^^^^^^^
|
||||
7 > ^^
|
||||
8 > ^
|
||||
9 > ^^^^^^^^^^
|
||||
10> ^^
|
||||
11> ^^^^^^^^
|
||||
12> ^
|
||||
13> ^
|
||||
14> ^
|
||||
1->
|
||||
>
|
||||
2 >var
|
||||
3 > multiRobotB
|
||||
4 > : MultiSkilledRobot =
|
||||
5 > [
|
||||
6 > "trimmer"
|
||||
7 > ,
|
||||
8 > [
|
||||
9 > "trimming"
|
||||
10> ,
|
||||
11> "edging"
|
||||
12> ]
|
||||
13> ]
|
||||
14> ;
|
||||
1->Emitted(2, 1) Source(6, 1) + SourceIndex(0)
|
||||
2 >Emitted(2, 5) Source(6, 5) + SourceIndex(0)
|
||||
3 >Emitted(2, 16) Source(6, 16) + SourceIndex(0)
|
||||
4 >Emitted(2, 19) Source(6, 38) + SourceIndex(0)
|
||||
5 >Emitted(2, 20) Source(6, 39) + SourceIndex(0)
|
||||
6 >Emitted(2, 29) Source(6, 48) + SourceIndex(0)
|
||||
7 >Emitted(2, 31) Source(6, 50) + SourceIndex(0)
|
||||
8 >Emitted(2, 32) Source(6, 51) + SourceIndex(0)
|
||||
9 >Emitted(2, 42) Source(6, 61) + SourceIndex(0)
|
||||
10>Emitted(2, 44) Source(6, 63) + SourceIndex(0)
|
||||
11>Emitted(2, 52) Source(6, 71) + SourceIndex(0)
|
||||
12>Emitted(2, 53) Source(6, 72) + SourceIndex(0)
|
||||
13>Emitted(2, 54) Source(6, 73) + SourceIndex(0)
|
||||
14>Emitted(2, 55) Source(6, 74) + SourceIndex(0)
|
||||
---
|
||||
>>>var skillA = multiRobotA[1];
|
||||
1 >
|
||||
2 >^^^^
|
||||
3 > ^^^^^^^^^^^^^^^^^^^^^^^
|
||||
4 > ^
|
||||
5 > ^->
|
||||
1 >
|
||||
>
|
||||
>
|
||||
2 >let
|
||||
3 > [, skillA] = multiRobotA
|
||||
4 > ;
|
||||
1 >Emitted(3, 1) Source(8, 1) + SourceIndex(0)
|
||||
2 >Emitted(3, 5) Source(8, 5) + SourceIndex(0)
|
||||
3 >Emitted(3, 28) Source(8, 29) + SourceIndex(0)
|
||||
4 >Emitted(3, 29) Source(8, 30) + SourceIndex(0)
|
||||
---
|
||||
>>>var nameMB = multiRobotB[0];
|
||||
1->
|
||||
2 >^^^^
|
||||
3 > ^^^^^^^^^^^^^^^^^^^^^^^
|
||||
4 > ^
|
||||
5 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^->
|
||||
1->
|
||||
>
|
||||
2 >let
|
||||
3 > [nameMB] = multiRobotB
|
||||
4 > ;
|
||||
1->Emitted(4, 1) Source(9, 1) + SourceIndex(0)
|
||||
2 >Emitted(4, 5) Source(9, 5) + SourceIndex(0)
|
||||
3 >Emitted(4, 28) Source(9, 27) + SourceIndex(0)
|
||||
4 >Emitted(4, 29) Source(9, 28) + SourceIndex(0)
|
||||
---
|
||||
>>>var nameMA = multiRobotA[0], _a = multiRobotA[1], primarySkillA = _a[0], secondarySkillA = _a[1];
|
||||
1->
|
||||
2 >^^^^
|
||||
3 > ^^^^^^^^^^^^^^^^^^^^^^^
|
||||
4 > ^^^^^^^^^^^^^^^^^^^^^^^
|
||||
5 > ^^^^^^^^^^^^^^^^^^^^^
|
||||
6 > ^^
|
||||
7 > ^^^^^^^^^^^^^^^^^^^^^^^
|
||||
8 > ^
|
||||
1->
|
||||
>
|
||||
2 >let [
|
||||
3 > nameMA
|
||||
4 > , [
|
||||
5 > primarySkillA
|
||||
6 > ,
|
||||
7 > secondarySkillA
|
||||
8 > ]] = multiRobotA;
|
||||
1->Emitted(5, 1) Source(10, 1) + SourceIndex(0)
|
||||
2 >Emitted(5, 5) Source(10, 6) + SourceIndex(0)
|
||||
3 >Emitted(5, 28) Source(10, 12) + SourceIndex(0)
|
||||
4 >Emitted(5, 51) Source(10, 15) + SourceIndex(0)
|
||||
5 >Emitted(5, 72) Source(10, 28) + SourceIndex(0)
|
||||
6 >Emitted(5, 74) Source(10, 30) + SourceIndex(0)
|
||||
7 >Emitted(5, 97) Source(10, 45) + SourceIndex(0)
|
||||
8 >Emitted(5, 98) Source(10, 62) + SourceIndex(0)
|
||||
---
|
||||
>>>var nameMC = ["roomba", ["vaccum", "mopping"]][0];
|
||||
1 >
|
||||
2 >^^^^
|
||||
3 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
4 > ^
|
||||
5 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^->
|
||||
1 >
|
||||
>
|
||||
>
|
||||
2 >let
|
||||
3 > [nameMC] = ["roomba", ["vaccum", "mopping"]]
|
||||
4 > ;
|
||||
1 >Emitted(6, 1) Source(12, 1) + SourceIndex(0)
|
||||
2 >Emitted(6, 5) Source(12, 5) + SourceIndex(0)
|
||||
3 >Emitted(6, 50) Source(12, 49) + SourceIndex(0)
|
||||
4 >Emitted(6, 51) Source(12, 50) + SourceIndex(0)
|
||||
---
|
||||
>>>var _b = ["roomba", ["vaccum", "mopping"]], nameMC2 = _b[0], _c = _b[1], primarySkillC = _c[0], secondarySkillC = _c[1];
|
||||
1->
|
||||
2 >^^^^
|
||||
3 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
4 > ^^
|
||||
5 > ^^^^^^^^^^^^^^^
|
||||
6 > ^^^^^^^^^^^^^^
|
||||
7 > ^^^^^^^^^^^^^^^^^^^^^
|
||||
8 > ^^
|
||||
9 > ^^^^^^^^^^^^^^^^^^^^^^^
|
||||
10> ^
|
||||
1->
|
||||
>
|
||||
2 >let [nameMC2, [primarySkillC, secondarySkillC]] =
|
||||
3 > ["roomba", ["vaccum", "mopping"]]
|
||||
4 >
|
||||
5 > nameMC2
|
||||
6 > , [
|
||||
7 > primarySkillC
|
||||
8 > ,
|
||||
9 > secondarySkillC
|
||||
10> ]] = ["roomba", ["vaccum", "mopping"]];
|
||||
1->Emitted(7, 1) Source(13, 1) + SourceIndex(0)
|
||||
2 >Emitted(7, 5) Source(13, 51) + SourceIndex(0)
|
||||
3 >Emitted(7, 43) Source(13, 84) + SourceIndex(0)
|
||||
4 >Emitted(7, 45) Source(13, 6) + SourceIndex(0)
|
||||
5 >Emitted(7, 60) Source(13, 13) + SourceIndex(0)
|
||||
6 >Emitted(7, 74) Source(13, 16) + SourceIndex(0)
|
||||
7 >Emitted(7, 95) Source(13, 29) + SourceIndex(0)
|
||||
8 >Emitted(7, 97) Source(13, 31) + SourceIndex(0)
|
||||
9 >Emitted(7, 120) Source(13, 46) + SourceIndex(0)
|
||||
10>Emitted(7, 121) Source(13, 85) + SourceIndex(0)
|
||||
---
|
||||
>>>var multiRobotAInfo = multiRobotA.slice(0);
|
||||
1 >
|
||||
2 >^^^^
|
||||
3 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
4 > ^
|
||||
1 >
|
||||
>
|
||||
>
|
||||
2 >let
|
||||
3 > [...multiRobotAInfo] = multiRobotA
|
||||
4 > ;
|
||||
1 >Emitted(8, 1) Source(15, 1) + SourceIndex(0)
|
||||
2 >Emitted(8, 5) Source(15, 5) + SourceIndex(0)
|
||||
3 >Emitted(8, 43) Source(15, 39) + SourceIndex(0)
|
||||
4 >Emitted(8, 44) Source(15, 40) + SourceIndex(0)
|
||||
---
|
||||
>>>if (nameMB == nameMA) {
|
||||
1 >
|
||||
2 >^^
|
||||
3 > ^
|
||||
4 > ^
|
||||
5 > ^^^^^^
|
||||
6 > ^^^^
|
||||
7 > ^^^^^^
|
||||
8 > ^
|
||||
9 > ^
|
||||
10> ^
|
||||
11> ^^^^^^^^^^^^^^^^^->
|
||||
1 >
|
||||
>
|
||||
>
|
||||
2 >if
|
||||
3 >
|
||||
4 > (
|
||||
5 > nameMB
|
||||
6 > ==
|
||||
7 > nameMA
|
||||
8 > )
|
||||
9 >
|
||||
10> {
|
||||
1 >Emitted(9, 1) Source(17, 1) + SourceIndex(0)
|
||||
2 >Emitted(9, 3) Source(17, 3) + SourceIndex(0)
|
||||
3 >Emitted(9, 4) Source(17, 4) + SourceIndex(0)
|
||||
4 >Emitted(9, 5) Source(17, 5) + SourceIndex(0)
|
||||
5 >Emitted(9, 11) Source(17, 11) + SourceIndex(0)
|
||||
6 >Emitted(9, 15) Source(17, 15) + SourceIndex(0)
|
||||
7 >Emitted(9, 21) Source(17, 21) + SourceIndex(0)
|
||||
8 >Emitted(9, 22) Source(17, 22) + SourceIndex(0)
|
||||
9 >Emitted(9, 23) Source(17, 23) + SourceIndex(0)
|
||||
10>Emitted(9, 24) Source(17, 24) + SourceIndex(0)
|
||||
---
|
||||
>>> console.log(skillA[0] + skillA[1]);
|
||||
1->^^^^
|
||||
2 > ^^^^^^^
|
||||
3 > ^
|
||||
4 > ^^^
|
||||
5 > ^
|
||||
6 > ^^^^^^
|
||||
7 > ^
|
||||
8 > ^
|
||||
9 > ^
|
||||
10> ^^^
|
||||
11> ^^^^^^
|
||||
12> ^
|
||||
13> ^
|
||||
14> ^
|
||||
15> ^
|
||||
16> ^
|
||||
1->
|
||||
>
|
||||
2 > console
|
||||
3 > .
|
||||
4 > log
|
||||
5 > (
|
||||
6 > skillA
|
||||
7 > [
|
||||
8 > 0
|
||||
9 > ]
|
||||
10> +
|
||||
11> skillA
|
||||
12> [
|
||||
13> 1
|
||||
14> ]
|
||||
15> )
|
||||
16> ;
|
||||
1->Emitted(10, 5) Source(18, 5) + SourceIndex(0)
|
||||
2 >Emitted(10, 12) Source(18, 12) + SourceIndex(0)
|
||||
3 >Emitted(10, 13) Source(18, 13) + SourceIndex(0)
|
||||
4 >Emitted(10, 16) Source(18, 16) + SourceIndex(0)
|
||||
5 >Emitted(10, 17) Source(18, 17) + SourceIndex(0)
|
||||
6 >Emitted(10, 23) Source(18, 23) + SourceIndex(0)
|
||||
7 >Emitted(10, 24) Source(18, 24) + SourceIndex(0)
|
||||
8 >Emitted(10, 25) Source(18, 25) + SourceIndex(0)
|
||||
9 >Emitted(10, 26) Source(18, 26) + SourceIndex(0)
|
||||
10>Emitted(10, 29) Source(18, 29) + SourceIndex(0)
|
||||
11>Emitted(10, 35) Source(18, 35) + SourceIndex(0)
|
||||
12>Emitted(10, 36) Source(18, 36) + SourceIndex(0)
|
||||
13>Emitted(10, 37) Source(18, 37) + SourceIndex(0)
|
||||
14>Emitted(10, 38) Source(18, 38) + SourceIndex(0)
|
||||
15>Emitted(10, 39) Source(18, 39) + SourceIndex(0)
|
||||
16>Emitted(10, 40) Source(18, 40) + SourceIndex(0)
|
||||
---
|
||||
>>>}
|
||||
1 >
|
||||
2 >^
|
||||
3 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^->
|
||||
1 >
|
||||
>
|
||||
2 >}
|
||||
1 >Emitted(11, 1) Source(19, 1) + SourceIndex(0)
|
||||
2 >Emitted(11, 2) Source(19, 2) + SourceIndex(0)
|
||||
---
|
||||
>>>//# sourceMappingURL=sourceMapValidationDestructuringVariableStatementArrayBindingPattern2.js.map
|
||||
@ -0,0 +1,58 @@
|
||||
=== tests/cases/compiler/sourceMapValidationDestructuringVariableStatementArrayBindingPattern2.ts ===
|
||||
declare var console: {
|
||||
>console : Symbol(console, Decl(sourceMapValidationDestructuringVariableStatementArrayBindingPattern2.ts, 0, 11))
|
||||
|
||||
log(msg: string): void;
|
||||
>log : Symbol(log, Decl(sourceMapValidationDestructuringVariableStatementArrayBindingPattern2.ts, 0, 22))
|
||||
>msg : Symbol(msg, Decl(sourceMapValidationDestructuringVariableStatementArrayBindingPattern2.ts, 1, 8))
|
||||
}
|
||||
type MultiSkilledRobot = [string, [string, string]];
|
||||
>MultiSkilledRobot : Symbol(MultiSkilledRobot, Decl(sourceMapValidationDestructuringVariableStatementArrayBindingPattern2.ts, 2, 1))
|
||||
|
||||
var multiRobotA: MultiSkilledRobot = ["mower", ["mowing", ""]];
|
||||
>multiRobotA : Symbol(multiRobotA, Decl(sourceMapValidationDestructuringVariableStatementArrayBindingPattern2.ts, 4, 3))
|
||||
>MultiSkilledRobot : Symbol(MultiSkilledRobot, Decl(sourceMapValidationDestructuringVariableStatementArrayBindingPattern2.ts, 2, 1))
|
||||
|
||||
var multiRobotB: MultiSkilledRobot = ["trimmer", ["trimming", "edging"]];
|
||||
>multiRobotB : Symbol(multiRobotB, Decl(sourceMapValidationDestructuringVariableStatementArrayBindingPattern2.ts, 5, 3))
|
||||
>MultiSkilledRobot : Symbol(MultiSkilledRobot, Decl(sourceMapValidationDestructuringVariableStatementArrayBindingPattern2.ts, 2, 1))
|
||||
|
||||
let [, skillA] = multiRobotA;
|
||||
>skillA : Symbol(skillA, Decl(sourceMapValidationDestructuringVariableStatementArrayBindingPattern2.ts, 7, 6))
|
||||
>multiRobotA : Symbol(multiRobotA, Decl(sourceMapValidationDestructuringVariableStatementArrayBindingPattern2.ts, 4, 3))
|
||||
|
||||
let [nameMB] = multiRobotB;
|
||||
>nameMB : Symbol(nameMB, Decl(sourceMapValidationDestructuringVariableStatementArrayBindingPattern2.ts, 8, 5))
|
||||
>multiRobotB : Symbol(multiRobotB, Decl(sourceMapValidationDestructuringVariableStatementArrayBindingPattern2.ts, 5, 3))
|
||||
|
||||
let [nameMA, [primarySkillA, secondarySkillA]] = multiRobotA;
|
||||
>nameMA : Symbol(nameMA, Decl(sourceMapValidationDestructuringVariableStatementArrayBindingPattern2.ts, 9, 5))
|
||||
>primarySkillA : Symbol(primarySkillA, Decl(sourceMapValidationDestructuringVariableStatementArrayBindingPattern2.ts, 9, 14))
|
||||
>secondarySkillA : Symbol(secondarySkillA, Decl(sourceMapValidationDestructuringVariableStatementArrayBindingPattern2.ts, 9, 28))
|
||||
>multiRobotA : Symbol(multiRobotA, Decl(sourceMapValidationDestructuringVariableStatementArrayBindingPattern2.ts, 4, 3))
|
||||
|
||||
let [nameMC] = ["roomba", ["vaccum", "mopping"]];
|
||||
>nameMC : Symbol(nameMC, Decl(sourceMapValidationDestructuringVariableStatementArrayBindingPattern2.ts, 11, 5))
|
||||
|
||||
let [nameMC2, [primarySkillC, secondarySkillC]] = ["roomba", ["vaccum", "mopping"]];
|
||||
>nameMC2 : Symbol(nameMC2, Decl(sourceMapValidationDestructuringVariableStatementArrayBindingPattern2.ts, 12, 5))
|
||||
>primarySkillC : Symbol(primarySkillC, Decl(sourceMapValidationDestructuringVariableStatementArrayBindingPattern2.ts, 12, 15))
|
||||
>secondarySkillC : Symbol(secondarySkillC, Decl(sourceMapValidationDestructuringVariableStatementArrayBindingPattern2.ts, 12, 29))
|
||||
|
||||
let [...multiRobotAInfo] = multiRobotA;
|
||||
>multiRobotAInfo : Symbol(multiRobotAInfo, Decl(sourceMapValidationDestructuringVariableStatementArrayBindingPattern2.ts, 14, 5))
|
||||
>multiRobotA : Symbol(multiRobotA, Decl(sourceMapValidationDestructuringVariableStatementArrayBindingPattern2.ts, 4, 3))
|
||||
|
||||
if (nameMB == nameMA) {
|
||||
>nameMB : Symbol(nameMB, Decl(sourceMapValidationDestructuringVariableStatementArrayBindingPattern2.ts, 8, 5))
|
||||
>nameMA : Symbol(nameMA, Decl(sourceMapValidationDestructuringVariableStatementArrayBindingPattern2.ts, 9, 5))
|
||||
|
||||
console.log(skillA[0] + skillA[1]);
|
||||
>console.log : Symbol(log, Decl(sourceMapValidationDestructuringVariableStatementArrayBindingPattern2.ts, 0, 22))
|
||||
>console : Symbol(console, Decl(sourceMapValidationDestructuringVariableStatementArrayBindingPattern2.ts, 0, 11))
|
||||
>log : Symbol(log, Decl(sourceMapValidationDestructuringVariableStatementArrayBindingPattern2.ts, 0, 22))
|
||||
>skillA : Symbol(skillA, Decl(sourceMapValidationDestructuringVariableStatementArrayBindingPattern2.ts, 7, 6))
|
||||
>0 : Symbol(0)
|
||||
>skillA : Symbol(skillA, Decl(sourceMapValidationDestructuringVariableStatementArrayBindingPattern2.ts, 7, 6))
|
||||
>1 : Symbol(1)
|
||||
}
|
||||
@ -0,0 +1,84 @@
|
||||
=== tests/cases/compiler/sourceMapValidationDestructuringVariableStatementArrayBindingPattern2.ts ===
|
||||
declare var console: {
|
||||
>console : { log(msg: string): void; }
|
||||
|
||||
log(msg: string): void;
|
||||
>log : (msg: string) => void
|
||||
>msg : string
|
||||
}
|
||||
type MultiSkilledRobot = [string, [string, string]];
|
||||
>MultiSkilledRobot : [string, [string, string]]
|
||||
|
||||
var multiRobotA: MultiSkilledRobot = ["mower", ["mowing", ""]];
|
||||
>multiRobotA : [string, [string, string]]
|
||||
>MultiSkilledRobot : [string, [string, string]]
|
||||
>["mower", ["mowing", ""]] : [string, [string, string]]
|
||||
>"mower" : string
|
||||
>["mowing", ""] : [string, string]
|
||||
>"mowing" : string
|
||||
>"" : string
|
||||
|
||||
var multiRobotB: MultiSkilledRobot = ["trimmer", ["trimming", "edging"]];
|
||||
>multiRobotB : [string, [string, string]]
|
||||
>MultiSkilledRobot : [string, [string, string]]
|
||||
>["trimmer", ["trimming", "edging"]] : [string, [string, string]]
|
||||
>"trimmer" : string
|
||||
>["trimming", "edging"] : [string, string]
|
||||
>"trimming" : string
|
||||
>"edging" : string
|
||||
|
||||
let [, skillA] = multiRobotA;
|
||||
> : undefined
|
||||
>skillA : [string, string]
|
||||
>multiRobotA : [string, [string, string]]
|
||||
|
||||
let [nameMB] = multiRobotB;
|
||||
>nameMB : string
|
||||
>multiRobotB : [string, [string, string]]
|
||||
|
||||
let [nameMA, [primarySkillA, secondarySkillA]] = multiRobotA;
|
||||
>nameMA : string
|
||||
>primarySkillA : string
|
||||
>secondarySkillA : string
|
||||
>multiRobotA : [string, [string, string]]
|
||||
|
||||
let [nameMC] = ["roomba", ["vaccum", "mopping"]];
|
||||
>nameMC : string
|
||||
>["roomba", ["vaccum", "mopping"]] : [string, string[]]
|
||||
>"roomba" : string
|
||||
>["vaccum", "mopping"] : string[]
|
||||
>"vaccum" : string
|
||||
>"mopping" : string
|
||||
|
||||
let [nameMC2, [primarySkillC, secondarySkillC]] = ["roomba", ["vaccum", "mopping"]];
|
||||
>nameMC2 : string
|
||||
>primarySkillC : string
|
||||
>secondarySkillC : string
|
||||
>["roomba", ["vaccum", "mopping"]] : [string, [string, string]]
|
||||
>"roomba" : string
|
||||
>["vaccum", "mopping"] : [string, string]
|
||||
>"vaccum" : string
|
||||
>"mopping" : string
|
||||
|
||||
let [...multiRobotAInfo] = multiRobotA;
|
||||
>multiRobotAInfo : (string | [string, string])[]
|
||||
>multiRobotA : [string, [string, string]]
|
||||
|
||||
if (nameMB == nameMA) {
|
||||
>nameMB == nameMA : boolean
|
||||
>nameMB : string
|
||||
>nameMA : string
|
||||
|
||||
console.log(skillA[0] + skillA[1]);
|
||||
>console.log(skillA[0] + skillA[1]) : void
|
||||
>console.log : (msg: string) => void
|
||||
>console : { log(msg: string): void; }
|
||||
>log : (msg: string) => void
|
||||
>skillA[0] + skillA[1] : string
|
||||
>skillA[0] : string
|
||||
>skillA : [string, string]
|
||||
>0 : number
|
||||
>skillA[1] : string
|
||||
>skillA : [string, string]
|
||||
>1 : number
|
||||
}
|
||||
@ -0,0 +1,20 @@
|
||||
// @sourcemap: true
|
||||
declare var console: {
|
||||
log(msg: string): void;
|
||||
}
|
||||
type MultiSkilledRobot = [string, [string, string]];
|
||||
var multiRobotA: MultiSkilledRobot = ["mower", ["mowing", ""]];
|
||||
var multiRobotB: MultiSkilledRobot = ["trimmer", ["trimming", "edging"]];
|
||||
|
||||
let [, skillA] = multiRobotA;
|
||||
let [nameMB] = multiRobotB;
|
||||
let [nameMA, [primarySkillA, secondarySkillA]] = multiRobotA;
|
||||
|
||||
let [nameMC] = ["roomba", ["vaccum", "mopping"]];
|
||||
let [nameMC2, [primarySkillC, secondarySkillC]] = ["roomba", ["vaccum", "mopping"]];
|
||||
|
||||
let [...multiRobotAInfo] = multiRobotA;
|
||||
|
||||
if (nameMB == nameMA) {
|
||||
console.log(skillA[0] + skillA[1]);
|
||||
}
|
||||
Loading…
x
Reference in New Issue
Block a user