Test cases for destructuring with default values in parameter position

This commit is contained in:
Sheetal Nandi
2015-12-11 13:54:49 -08:00
parent e362cb2c72
commit 25c6b16894
24 changed files with 3712 additions and 0 deletions

View File

@@ -0,0 +1,67 @@
//// [sourceMapValidationDestructuringParameterNestedObjectBindingPatternDefaultValues.ts]
declare var console: {
log(msg: string): void;
}
interface Robot {
name: string;
skills: {
primary?: string;
secondary?: string;
};
}
var robotA: Robot = { name: "mower", skills: { primary: "mowing", secondary: "none" } };
function foo1(
{
skills: {
primary: primaryA = "primary",
secondary: secondaryA = "secondary"
} = { primary: "SomeSkill", secondary: "someSkill" }
}: Robot = robotA) {
console.log(primaryA);
}
function foo2(
{
name: nameC = "name",
skills: {
primary: primaryB = "primary",
secondary: secondaryB = "secondary"
} = { primary: "SomeSkill", secondary: "someSkill" }
}: Robot = robotA) {
console.log(secondaryB);
}
function foo3({ skills = { primary: "SomeSkill", secondary: "someSkill" } }: Robot = robotA) {
console.log(skills.primary);
}
foo1(robotA);
foo1({ name: "Edger", skills: { primary: "edging", secondary: "branch trimming" } });
foo2(robotA);
foo2({ name: "Edger", skills: { primary: "edging", secondary: "branch trimming" } });
foo3(robotA);
foo3({ name: "Edger", skills: { primary: "edging", secondary: "branch trimming" } });
//// [sourceMapValidationDestructuringParameterNestedObjectBindingPatternDefaultValues.js]
var robotA = { name: "mower", skills: { primary: "mowing", secondary: "none" } };
function foo1(_a) {
var _b = (_a === void 0 ? robotA : _a).skills, _c = _b === void 0 ? { primary: "SomeSkill", secondary: "someSkill" } : _b, _d = _c.primary, primaryA = _d === void 0 ? "primary" : _d, _e = _c.secondary, secondaryA = _e === void 0 ? "secondary" : _e;
console.log(primaryA);
}
function foo2(_a) {
var _b = _a === void 0 ? robotA : _a, _c = _b.name, nameC = _c === void 0 ? "name" : _c, _d = _b.skills, _e = _d === void 0 ? { primary: "SomeSkill", secondary: "someSkill" } : _d, _f = _e.primary, primaryB = _f === void 0 ? "primary" : _f, _g = _e.secondary, secondaryB = _g === void 0 ? "secondary" : _g;
console.log(secondaryB);
}
function foo3(_a) {
var _b = (_a === void 0 ? robotA : _a).skills, skills = _b === void 0 ? { primary: "SomeSkill", secondary: "someSkill" } : _b;
console.log(skills.primary);
}
foo1(robotA);
foo1({ name: "Edger", skills: { primary: "edging", secondary: "branch trimming" } });
foo2(robotA);
foo2({ name: "Edger", skills: { primary: "edging", secondary: "branch trimming" } });
foo3(robotA);
foo3({ name: "Edger", skills: { primary: "edging", secondary: "branch trimming" } });
//# sourceMappingURL=sourceMapValidationDestructuringParameterNestedObjectBindingPatternDefaultValues.js.map

View File

@@ -0,0 +1,2 @@
//// [sourceMapValidationDestructuringParameterNestedObjectBindingPatternDefaultValues.js.map]
{"version":3,"file":"sourceMapValidationDestructuringParameterNestedObjectBindingPatternDefaultValues.js","sourceRoot":"","sources":["sourceMapValidationDestructuringParameterNestedObjectBindingPatternDefaultValues.ts"],"names":[],"mappings":"AAUA,IAAI,MAAM,GAAU,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,EAAE,CAAC;AAExF,cACI,EAKiB;QAJb,yCAGoD,EAHpD,0EAGoD,EAFhD,eAA6B,EAA7B,yCAA6B,EAC7B,iBAAmC,EAAnC,6CAAmC;IAG3C,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;AAC1B,CAAC;AACD,cACI,EAMiB;QANjB,gCAMiB,EALb,YAAoB,EAApB,mCAAoB,EACpB,cAGoD,EAHpD,0EAGoD,EAFhD,eAA6B,EAA7B,yCAA6B,EAC7B,iBAAmC,EAAnC,6CAAmC;IAG3C,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;AAC5B,CAAC;AACD,cAAc,EAA8E;QAA5E,yCAAyD,EAAzD,8EAAyD;IACrE,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;AAChC,CAAC;AAED,IAAI,CAAC,MAAM,CAAC,CAAC;AACb,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,iBAAiB,EAAE,EAAE,CAAC,CAAC;AAErF,IAAI,CAAC,MAAM,CAAC,CAAC;AACb,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,iBAAiB,EAAE,EAAE,CAAC,CAAC;AAErF,IAAI,CAAC,MAAM,CAAC,CAAC;AACb,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,iBAAiB,EAAE,EAAE,CAAC,CAAC"}

View File

@@ -0,0 +1,669 @@
===================================================================
JsFile: sourceMapValidationDestructuringParameterNestedObjectBindingPatternDefaultValues.js
mapUrl: sourceMapValidationDestructuringParameterNestedObjectBindingPatternDefaultValues.js.map
sourceRoot:
sources: sourceMapValidationDestructuringParameterNestedObjectBindingPatternDefaultValues.ts
===================================================================
-------------------------------------------------------------------
emittedFile:tests/cases/compiler/sourceMapValidationDestructuringParameterNestedObjectBindingPatternDefaultValues.js
sourceFile:sourceMapValidationDestructuringParameterNestedObjectBindingPatternDefaultValues.ts
-------------------------------------------------------------------
>>>var robotA = { name: "mower", skills: { primary: "mowing", secondary: "none" } };
1 >
2 >^^^^
3 > ^^^^^^
4 > ^^^
5 > ^^
6 > ^^^^
7 > ^^
8 > ^^^^^^^
9 > ^^
10> ^^^^^^
11> ^^
12> ^^
13> ^^^^^^^
14> ^^
15> ^^^^^^^^
16> ^^
17> ^^^^^^^^^
18> ^^
19> ^^^^^^
20> ^^
21> ^^
22> ^
1 >declare var console: {
> log(msg: string): void;
>}
>interface Robot {
> name: string;
> skills: {
> primary?: string;
> secondary?: string;
> };
>}
>
2 >var
3 > robotA
4 > : Robot =
5 > {
6 > name
7 > :
8 > "mower"
9 > ,
10> skills
11> :
12> {
13> primary
14> :
15> "mowing"
16> ,
17> secondary
18> :
19> "none"
20> }
21> }
22> ;
1 >Emitted(1, 1) Source(11, 1) + SourceIndex(0)
2 >Emitted(1, 5) Source(11, 5) + SourceIndex(0)
3 >Emitted(1, 11) Source(11, 11) + SourceIndex(0)
4 >Emitted(1, 14) Source(11, 21) + SourceIndex(0)
5 >Emitted(1, 16) Source(11, 23) + SourceIndex(0)
6 >Emitted(1, 20) Source(11, 27) + SourceIndex(0)
7 >Emitted(1, 22) Source(11, 29) + SourceIndex(0)
8 >Emitted(1, 29) Source(11, 36) + SourceIndex(0)
9 >Emitted(1, 31) Source(11, 38) + SourceIndex(0)
10>Emitted(1, 37) Source(11, 44) + SourceIndex(0)
11>Emitted(1, 39) Source(11, 46) + SourceIndex(0)
12>Emitted(1, 41) Source(11, 48) + SourceIndex(0)
13>Emitted(1, 48) Source(11, 55) + SourceIndex(0)
14>Emitted(1, 50) Source(11, 57) + SourceIndex(0)
15>Emitted(1, 58) Source(11, 65) + SourceIndex(0)
16>Emitted(1, 60) Source(11, 67) + SourceIndex(0)
17>Emitted(1, 69) Source(11, 76) + SourceIndex(0)
18>Emitted(1, 71) Source(11, 78) + SourceIndex(0)
19>Emitted(1, 77) Source(11, 84) + SourceIndex(0)
20>Emitted(1, 79) Source(11, 86) + SourceIndex(0)
21>Emitted(1, 81) Source(11, 88) + SourceIndex(0)
22>Emitted(1, 82) Source(11, 89) + SourceIndex(0)
---
>>>function foo1(_a) {
1 >
2 >^^^^^^^^^^^^^^
3 > ^^
4 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^->
1 >
>
>
2 >function foo1(
>
3 > {
> skills: {
> primary: primaryA = "primary",
> secondary: secondaryA = "secondary"
> } = { primary: "SomeSkill", secondary: "someSkill" }
> }: Robot = robotA
1 >Emitted(2, 1) Source(13, 1) + SourceIndex(0)
2 >Emitted(2, 15) Source(14, 5) + SourceIndex(0)
3 >Emitted(2, 17) Source(19, 22) + SourceIndex(0)
---
>>> var _b = (_a === void 0 ? robotA : _a).skills, _c = _b === void 0 ? { primary: "SomeSkill", secondary: "someSkill" } : _b, _d = _c.primary, primaryA = _d === void 0 ? "primary" : _d, _e = _c.secondary, secondaryA = _e === void 0 ? "secondary" : _e;
1->^^^^^^^^
2 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
3 > ^^
4 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
5 > ^^
6 > ^^^^^^^^^^^^^^^
7 > ^^
8 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
9 > ^^
10> ^^^^^^^^^^^^^^^^^
11> ^^
12> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
1->
2 > skills: {
> primary: primaryA = "primary",
> secondary: secondaryA = "secondary"
> } = { primary: "SomeSkill", secondary: "someSkill" }
3 >
4 > skills: {
> primary: primaryA = "primary",
> secondary: secondaryA = "secondary"
> } = { primary: "SomeSkill", secondary: "someSkill" }
5 >
6 > primary: primaryA = "primary"
7 >
8 > primary: primaryA = "primary"
9 > ,
>
10> secondary: secondaryA = "secondary"
11>
12> secondary: secondaryA = "secondary"
1->Emitted(3, 9) Source(15, 9) + SourceIndex(0)
2 >Emitted(3, 50) Source(18, 61) + SourceIndex(0)
3 >Emitted(3, 52) Source(15, 9) + SourceIndex(0)
4 >Emitted(3, 126) Source(18, 61) + SourceIndex(0)
5 >Emitted(3, 128) Source(16, 13) + SourceIndex(0)
6 >Emitted(3, 143) Source(16, 42) + SourceIndex(0)
7 >Emitted(3, 145) Source(16, 13) + SourceIndex(0)
8 >Emitted(3, 186) Source(16, 42) + SourceIndex(0)
9 >Emitted(3, 188) Source(17, 13) + SourceIndex(0)
10>Emitted(3, 205) Source(17, 48) + SourceIndex(0)
11>Emitted(3, 207) Source(17, 13) + SourceIndex(0)
12>Emitted(3, 252) Source(17, 48) + SourceIndex(0)
---
>>> console.log(primaryA);
1 >^^^^
2 > ^^^^^^^
3 > ^
4 > ^^^
5 > ^
6 > ^^^^^^^^
7 > ^
8 > ^
1 >
> } = { primary: "SomeSkill", secondary: "someSkill" }
> }: Robot = robotA) {
>
2 > console
3 > .
4 > log
5 > (
6 > primaryA
7 > )
8 > ;
1 >Emitted(4, 5) Source(20, 5) + SourceIndex(0)
2 >Emitted(4, 12) Source(20, 12) + SourceIndex(0)
3 >Emitted(4, 13) Source(20, 13) + SourceIndex(0)
4 >Emitted(4, 16) Source(20, 16) + SourceIndex(0)
5 >Emitted(4, 17) Source(20, 17) + SourceIndex(0)
6 >Emitted(4, 25) Source(20, 25) + SourceIndex(0)
7 >Emitted(4, 26) Source(20, 26) + SourceIndex(0)
8 >Emitted(4, 27) Source(20, 27) + SourceIndex(0)
---
>>>}
1 >
2 >^
3 > ^^^^^^^^^^^^^^^^^^^->
1 >
>
2 >}
1 >Emitted(5, 1) Source(21, 1) + SourceIndex(0)
2 >Emitted(5, 2) Source(21, 2) + SourceIndex(0)
---
>>>function foo2(_a) {
1->
2 >^^^^^^^^^^^^^^
3 > ^^
4 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^->
1->
>
2 >function foo2(
>
3 > {
> name: nameC = "name",
> skills: {
> primary: primaryB = "primary",
> secondary: secondaryB = "secondary"
> } = { primary: "SomeSkill", secondary: "someSkill" }
> }: Robot = robotA
1->Emitted(6, 1) Source(22, 1) + SourceIndex(0)
2 >Emitted(6, 15) Source(23, 5) + SourceIndex(0)
3 >Emitted(6, 17) Source(29, 22) + SourceIndex(0)
---
>>> var _b = _a === void 0 ? robotA : _a, _c = _b.name, nameC = _c === void 0 ? "name" : _c, _d = _b.skills, _e = _d === void 0 ? { primary: "SomeSkill", secondary: "someSkill" } : _d, _f = _e.primary, primaryB = _f === void 0 ? "primary" : _f, _g = _e.secondary, secondaryB = _g === void 0 ? "secondary" : _g;
1->^^^^^^^^
2 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
3 > ^^
4 > ^^^^^^^^^^^^
5 > ^^
6 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
7 > ^^
8 > ^^^^^^^^^^^^^^
9 > ^^
10> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
11> ^^
12> ^^^^^^^^^^^^^^^
13> ^^
14> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
15> ^^
16> ^^^^^^^^^^^^^^^^^
17> ^^
18> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
1->
2 > {
> name: nameC = "name",
> skills: {
> primary: primaryB = "primary",
> secondary: secondaryB = "secondary"
> } = { primary: "SomeSkill", secondary: "someSkill" }
> }: Robot = robotA
3 >
4 > name: nameC = "name"
5 >
6 > name: nameC = "name"
7 > ,
>
8 > skills: {
> primary: primaryB = "primary",
> secondary: secondaryB = "secondary"
> } = { primary: "SomeSkill", secondary: "someSkill" }
9 >
10> skills: {
> primary: primaryB = "primary",
> secondary: secondaryB = "secondary"
> } = { primary: "SomeSkill", secondary: "someSkill" }
11>
12> primary: primaryB = "primary"
13>
14> primary: primaryB = "primary"
15> ,
>
16> secondary: secondaryB = "secondary"
17>
18> secondary: secondaryB = "secondary"
1->Emitted(7, 9) Source(23, 5) + SourceIndex(0)
2 >Emitted(7, 41) Source(29, 22) + SourceIndex(0)
3 >Emitted(7, 43) Source(24, 9) + SourceIndex(0)
4 >Emitted(7, 55) Source(24, 29) + SourceIndex(0)
5 >Emitted(7, 57) Source(24, 9) + SourceIndex(0)
6 >Emitted(7, 92) Source(24, 29) + SourceIndex(0)
7 >Emitted(7, 94) Source(25, 9) + SourceIndex(0)
8 >Emitted(7, 108) Source(28, 61) + SourceIndex(0)
9 >Emitted(7, 110) Source(25, 9) + SourceIndex(0)
10>Emitted(7, 184) Source(28, 61) + SourceIndex(0)
11>Emitted(7, 186) Source(26, 13) + SourceIndex(0)
12>Emitted(7, 201) Source(26, 42) + SourceIndex(0)
13>Emitted(7, 203) Source(26, 13) + SourceIndex(0)
14>Emitted(7, 244) Source(26, 42) + SourceIndex(0)
15>Emitted(7, 246) Source(27, 13) + SourceIndex(0)
16>Emitted(7, 263) Source(27, 48) + SourceIndex(0)
17>Emitted(7, 265) Source(27, 13) + SourceIndex(0)
18>Emitted(7, 310) Source(27, 48) + SourceIndex(0)
---
>>> console.log(secondaryB);
1 >^^^^
2 > ^^^^^^^
3 > ^
4 > ^^^
5 > ^
6 > ^^^^^^^^^^
7 > ^
8 > ^
1 >
> } = { primary: "SomeSkill", secondary: "someSkill" }
> }: Robot = robotA) {
>
2 > console
3 > .
4 > log
5 > (
6 > secondaryB
7 > )
8 > ;
1 >Emitted(8, 5) Source(30, 5) + SourceIndex(0)
2 >Emitted(8, 12) Source(30, 12) + SourceIndex(0)
3 >Emitted(8, 13) Source(30, 13) + SourceIndex(0)
4 >Emitted(8, 16) Source(30, 16) + SourceIndex(0)
5 >Emitted(8, 17) Source(30, 17) + SourceIndex(0)
6 >Emitted(8, 27) Source(30, 27) + SourceIndex(0)
7 >Emitted(8, 28) Source(30, 28) + SourceIndex(0)
8 >Emitted(8, 29) Source(30, 29) + SourceIndex(0)
---
>>>}
1 >
2 >^
3 > ^^^^^^^^^^^^^^^^^^^->
1 >
>
2 >}
1 >Emitted(9, 1) Source(31, 1) + SourceIndex(0)
2 >Emitted(9, 2) Source(31, 2) + SourceIndex(0)
---
>>>function foo3(_a) {
1->
2 >^^^^^^^^^^^^^^
3 > ^^
4 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^->
1->
>
2 >function foo3(
3 > { skills = { primary: "SomeSkill", secondary: "someSkill" } }: Robot = robotA
1->Emitted(10, 1) Source(32, 1) + SourceIndex(0)
2 >Emitted(10, 15) Source(32, 15) + SourceIndex(0)
3 >Emitted(10, 17) Source(32, 93) + SourceIndex(0)
---
>>> var _b = (_a === void 0 ? robotA : _a).skills, skills = _b === void 0 ? { primary: "SomeSkill", secondary: "someSkill" } : _b;
1->^^^^^^^^
2 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
3 > ^^
4 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
1->
2 > skills = { primary: "SomeSkill", secondary: "someSkill" }
3 >
4 > skills = { primary: "SomeSkill", secondary: "someSkill" }
1->Emitted(11, 9) Source(32, 17) + SourceIndex(0)
2 >Emitted(11, 50) Source(32, 74) + SourceIndex(0)
3 >Emitted(11, 52) Source(32, 17) + SourceIndex(0)
4 >Emitted(11, 130) Source(32, 74) + SourceIndex(0)
---
>>> console.log(skills.primary);
1 >^^^^
2 > ^^^^^^^
3 > ^
4 > ^^^
5 > ^
6 > ^^^^^^
7 > ^
8 > ^^^^^^^
9 > ^
10> ^
1 > }: Robot = robotA) {
>
2 > console
3 > .
4 > log
5 > (
6 > skills
7 > .
8 > primary
9 > )
10> ;
1 >Emitted(12, 5) Source(33, 5) + SourceIndex(0)
2 >Emitted(12, 12) Source(33, 12) + SourceIndex(0)
3 >Emitted(12, 13) Source(33, 13) + SourceIndex(0)
4 >Emitted(12, 16) Source(33, 16) + SourceIndex(0)
5 >Emitted(12, 17) Source(33, 17) + SourceIndex(0)
6 >Emitted(12, 23) Source(33, 23) + SourceIndex(0)
7 >Emitted(12, 24) Source(33, 24) + SourceIndex(0)
8 >Emitted(12, 31) Source(33, 31) + SourceIndex(0)
9 >Emitted(12, 32) Source(33, 32) + SourceIndex(0)
10>Emitted(12, 33) Source(33, 33) + SourceIndex(0)
---
>>>}
1 >
2 >^
3 > ^^^^^^^^^^^^^->
1 >
>
2 >}
1 >Emitted(13, 1) Source(34, 1) + SourceIndex(0)
2 >Emitted(13, 2) Source(34, 2) + SourceIndex(0)
---
>>>foo1(robotA);
1->
2 >^^^^
3 > ^
4 > ^^^^^^
5 > ^
6 > ^
7 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^->
1->
>
>
2 >foo1
3 > (
4 > robotA
5 > )
6 > ;
1->Emitted(14, 1) Source(36, 1) + SourceIndex(0)
2 >Emitted(14, 5) Source(36, 5) + SourceIndex(0)
3 >Emitted(14, 6) Source(36, 6) + SourceIndex(0)
4 >Emitted(14, 12) Source(36, 12) + SourceIndex(0)
5 >Emitted(14, 13) Source(36, 13) + SourceIndex(0)
6 >Emitted(14, 14) Source(36, 14) + SourceIndex(0)
---
>>>foo1({ name: "Edger", skills: { primary: "edging", secondary: "branch trimming" } });
1->
2 >^^^^
3 > ^
4 > ^^
5 > ^^^^
6 > ^^
7 > ^^^^^^^
8 > ^^
9 > ^^^^^^
10> ^^
11> ^^
12> ^^^^^^^
13> ^^
14> ^^^^^^^^
15> ^^
16> ^^^^^^^^^
17> ^^
18> ^^^^^^^^^^^^^^^^^
19> ^^
20> ^^
21> ^
22> ^
1->
>
2 >foo1
3 > (
4 > {
5 > name
6 > :
7 > "Edger"
8 > ,
9 > skills
10> :
11> {
12> primary
13> :
14> "edging"
15> ,
16> secondary
17> :
18> "branch trimming"
19> }
20> }
21> )
22> ;
1->Emitted(15, 1) Source(37, 1) + SourceIndex(0)
2 >Emitted(15, 5) Source(37, 5) + SourceIndex(0)
3 >Emitted(15, 6) Source(37, 6) + SourceIndex(0)
4 >Emitted(15, 8) Source(37, 8) + SourceIndex(0)
5 >Emitted(15, 12) Source(37, 12) + SourceIndex(0)
6 >Emitted(15, 14) Source(37, 14) + SourceIndex(0)
7 >Emitted(15, 21) Source(37, 21) + SourceIndex(0)
8 >Emitted(15, 23) Source(37, 23) + SourceIndex(0)
9 >Emitted(15, 29) Source(37, 29) + SourceIndex(0)
10>Emitted(15, 31) Source(37, 31) + SourceIndex(0)
11>Emitted(15, 33) Source(37, 33) + SourceIndex(0)
12>Emitted(15, 40) Source(37, 40) + SourceIndex(0)
13>Emitted(15, 42) Source(37, 42) + SourceIndex(0)
14>Emitted(15, 50) Source(37, 50) + SourceIndex(0)
15>Emitted(15, 52) Source(37, 52) + SourceIndex(0)
16>Emitted(15, 61) Source(37, 61) + SourceIndex(0)
17>Emitted(15, 63) Source(37, 63) + SourceIndex(0)
18>Emitted(15, 80) Source(37, 80) + SourceIndex(0)
19>Emitted(15, 82) Source(37, 82) + SourceIndex(0)
20>Emitted(15, 84) Source(37, 84) + SourceIndex(0)
21>Emitted(15, 85) Source(37, 85) + SourceIndex(0)
22>Emitted(15, 86) Source(37, 86) + SourceIndex(0)
---
>>>foo2(robotA);
1 >
2 >^^^^
3 > ^
4 > ^^^^^^
5 > ^
6 > ^
7 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^->
1 >
>
>
2 >foo2
3 > (
4 > robotA
5 > )
6 > ;
1 >Emitted(16, 1) Source(39, 1) + SourceIndex(0)
2 >Emitted(16, 5) Source(39, 5) + SourceIndex(0)
3 >Emitted(16, 6) Source(39, 6) + SourceIndex(0)
4 >Emitted(16, 12) Source(39, 12) + SourceIndex(0)
5 >Emitted(16, 13) Source(39, 13) + SourceIndex(0)
6 >Emitted(16, 14) Source(39, 14) + SourceIndex(0)
---
>>>foo2({ name: "Edger", skills: { primary: "edging", secondary: "branch trimming" } });
1->
2 >^^^^
3 > ^
4 > ^^
5 > ^^^^
6 > ^^
7 > ^^^^^^^
8 > ^^
9 > ^^^^^^
10> ^^
11> ^^
12> ^^^^^^^
13> ^^
14> ^^^^^^^^
15> ^^
16> ^^^^^^^^^
17> ^^
18> ^^^^^^^^^^^^^^^^^
19> ^^
20> ^^
21> ^
22> ^
1->
>
2 >foo2
3 > (
4 > {
5 > name
6 > :
7 > "Edger"
8 > ,
9 > skills
10> :
11> {
12> primary
13> :
14> "edging"
15> ,
16> secondary
17> :
18> "branch trimming"
19> }
20> }
21> )
22> ;
1->Emitted(17, 1) Source(40, 1) + SourceIndex(0)
2 >Emitted(17, 5) Source(40, 5) + SourceIndex(0)
3 >Emitted(17, 6) Source(40, 6) + SourceIndex(0)
4 >Emitted(17, 8) Source(40, 8) + SourceIndex(0)
5 >Emitted(17, 12) Source(40, 12) + SourceIndex(0)
6 >Emitted(17, 14) Source(40, 14) + SourceIndex(0)
7 >Emitted(17, 21) Source(40, 21) + SourceIndex(0)
8 >Emitted(17, 23) Source(40, 23) + SourceIndex(0)
9 >Emitted(17, 29) Source(40, 29) + SourceIndex(0)
10>Emitted(17, 31) Source(40, 31) + SourceIndex(0)
11>Emitted(17, 33) Source(40, 33) + SourceIndex(0)
12>Emitted(17, 40) Source(40, 40) + SourceIndex(0)
13>Emitted(17, 42) Source(40, 42) + SourceIndex(0)
14>Emitted(17, 50) Source(40, 50) + SourceIndex(0)
15>Emitted(17, 52) Source(40, 52) + SourceIndex(0)
16>Emitted(17, 61) Source(40, 61) + SourceIndex(0)
17>Emitted(17, 63) Source(40, 63) + SourceIndex(0)
18>Emitted(17, 80) Source(40, 80) + SourceIndex(0)
19>Emitted(17, 82) Source(40, 82) + SourceIndex(0)
20>Emitted(17, 84) Source(40, 84) + SourceIndex(0)
21>Emitted(17, 85) Source(40, 85) + SourceIndex(0)
22>Emitted(17, 86) Source(40, 86) + SourceIndex(0)
---
>>>foo3(robotA);
1 >
2 >^^^^
3 > ^
4 > ^^^^^^
5 > ^
6 > ^
7 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^->
1 >
>
>
2 >foo3
3 > (
4 > robotA
5 > )
6 > ;
1 >Emitted(18, 1) Source(42, 1) + SourceIndex(0)
2 >Emitted(18, 5) Source(42, 5) + SourceIndex(0)
3 >Emitted(18, 6) Source(42, 6) + SourceIndex(0)
4 >Emitted(18, 12) Source(42, 12) + SourceIndex(0)
5 >Emitted(18, 13) Source(42, 13) + SourceIndex(0)
6 >Emitted(18, 14) Source(42, 14) + SourceIndex(0)
---
>>>foo3({ name: "Edger", skills: { primary: "edging", secondary: "branch trimming" } });
1->
2 >^^^^
3 > ^
4 > ^^
5 > ^^^^
6 > ^^
7 > ^^^^^^^
8 > ^^
9 > ^^^^^^
10> ^^
11> ^^
12> ^^^^^^^
13> ^^
14> ^^^^^^^^
15> ^^
16> ^^^^^^^^^
17> ^^
18> ^^^^^^^^^^^^^^^^^
19> ^^
20> ^^
21> ^
22> ^
23> ^^^^^^^^^^^^^^^^^^^^^^->
1->
>
2 >foo3
3 > (
4 > {
5 > name
6 > :
7 > "Edger"
8 > ,
9 > skills
10> :
11> {
12> primary
13> :
14> "edging"
15> ,
16> secondary
17> :
18> "branch trimming"
19> }
20> }
21> )
22> ;
1->Emitted(19, 1) Source(43, 1) + SourceIndex(0)
2 >Emitted(19, 5) Source(43, 5) + SourceIndex(0)
3 >Emitted(19, 6) Source(43, 6) + SourceIndex(0)
4 >Emitted(19, 8) Source(43, 8) + SourceIndex(0)
5 >Emitted(19, 12) Source(43, 12) + SourceIndex(0)
6 >Emitted(19, 14) Source(43, 14) + SourceIndex(0)
7 >Emitted(19, 21) Source(43, 21) + SourceIndex(0)
8 >Emitted(19, 23) Source(43, 23) + SourceIndex(0)
9 >Emitted(19, 29) Source(43, 29) + SourceIndex(0)
10>Emitted(19, 31) Source(43, 31) + SourceIndex(0)
11>Emitted(19, 33) Source(43, 33) + SourceIndex(0)
12>Emitted(19, 40) Source(43, 40) + SourceIndex(0)
13>Emitted(19, 42) Source(43, 42) + SourceIndex(0)
14>Emitted(19, 50) Source(43, 50) + SourceIndex(0)
15>Emitted(19, 52) Source(43, 52) + SourceIndex(0)
16>Emitted(19, 61) Source(43, 61) + SourceIndex(0)
17>Emitted(19, 63) Source(43, 63) + SourceIndex(0)
18>Emitted(19, 80) Source(43, 80) + SourceIndex(0)
19>Emitted(19, 82) Source(43, 82) + SourceIndex(0)
20>Emitted(19, 84) Source(43, 84) + SourceIndex(0)
21>Emitted(19, 85) Source(43, 85) + SourceIndex(0)
22>Emitted(19, 86) Source(43, 86) + SourceIndex(0)
---
>>>//# sourceMappingURL=sourceMapValidationDestructuringParameterNestedObjectBindingPatternDefaultValues.js.map

View File

@@ -0,0 +1,143 @@
=== tests/cases/compiler/sourceMapValidationDestructuringParameterNestedObjectBindingPatternDefaultValues.ts ===
declare var console: {
>console : Symbol(console, Decl(sourceMapValidationDestructuringParameterNestedObjectBindingPatternDefaultValues.ts, 0, 11))
log(msg: string): void;
>log : Symbol(log, Decl(sourceMapValidationDestructuringParameterNestedObjectBindingPatternDefaultValues.ts, 0, 22))
>msg : Symbol(msg, Decl(sourceMapValidationDestructuringParameterNestedObjectBindingPatternDefaultValues.ts, 1, 8))
}
interface Robot {
>Robot : Symbol(Robot, Decl(sourceMapValidationDestructuringParameterNestedObjectBindingPatternDefaultValues.ts, 2, 1))
name: string;
>name : Symbol(name, Decl(sourceMapValidationDestructuringParameterNestedObjectBindingPatternDefaultValues.ts, 3, 17))
skills: {
>skills : Symbol(skills, Decl(sourceMapValidationDestructuringParameterNestedObjectBindingPatternDefaultValues.ts, 4, 17))
primary?: string;
>primary : Symbol(primary, Decl(sourceMapValidationDestructuringParameterNestedObjectBindingPatternDefaultValues.ts, 5, 13))
secondary?: string;
>secondary : Symbol(secondary, Decl(sourceMapValidationDestructuringParameterNestedObjectBindingPatternDefaultValues.ts, 6, 25))
};
}
var robotA: Robot = { name: "mower", skills: { primary: "mowing", secondary: "none" } };
>robotA : Symbol(robotA, Decl(sourceMapValidationDestructuringParameterNestedObjectBindingPatternDefaultValues.ts, 10, 3))
>Robot : Symbol(Robot, Decl(sourceMapValidationDestructuringParameterNestedObjectBindingPatternDefaultValues.ts, 2, 1))
>name : Symbol(name, Decl(sourceMapValidationDestructuringParameterNestedObjectBindingPatternDefaultValues.ts, 10, 21))
>skills : Symbol(skills, Decl(sourceMapValidationDestructuringParameterNestedObjectBindingPatternDefaultValues.ts, 10, 36))
>primary : Symbol(primary, Decl(sourceMapValidationDestructuringParameterNestedObjectBindingPatternDefaultValues.ts, 10, 46))
>secondary : Symbol(secondary, Decl(sourceMapValidationDestructuringParameterNestedObjectBindingPatternDefaultValues.ts, 10, 65))
function foo1(
>foo1 : Symbol(foo1, Decl(sourceMapValidationDestructuringParameterNestedObjectBindingPatternDefaultValues.ts, 10, 88))
{
skills: {
>skills : Symbol(Robot.skills, Decl(sourceMapValidationDestructuringParameterNestedObjectBindingPatternDefaultValues.ts, 4, 17))
primary: primaryA = "primary",
>primary : Symbol(primary, Decl(sourceMapValidationDestructuringParameterNestedObjectBindingPatternDefaultValues.ts, 5, 13))
>primaryA : Symbol(primaryA, Decl(sourceMapValidationDestructuringParameterNestedObjectBindingPatternDefaultValues.ts, 14, 17))
secondary: secondaryA = "secondary"
>secondary : Symbol(secondary, Decl(sourceMapValidationDestructuringParameterNestedObjectBindingPatternDefaultValues.ts, 6, 25))
>secondaryA : Symbol(secondaryA, Decl(sourceMapValidationDestructuringParameterNestedObjectBindingPatternDefaultValues.ts, 15, 42))
} = { primary: "SomeSkill", secondary: "someSkill" }
>primary : Symbol(primary, Decl(sourceMapValidationDestructuringParameterNestedObjectBindingPatternDefaultValues.ts, 17, 13))
>secondary : Symbol(secondary, Decl(sourceMapValidationDestructuringParameterNestedObjectBindingPatternDefaultValues.ts, 17, 35))
}: Robot = robotA) {
>Robot : Symbol(Robot, Decl(sourceMapValidationDestructuringParameterNestedObjectBindingPatternDefaultValues.ts, 2, 1))
>robotA : Symbol(robotA, Decl(sourceMapValidationDestructuringParameterNestedObjectBindingPatternDefaultValues.ts, 10, 3))
console.log(primaryA);
>console.log : Symbol(log, Decl(sourceMapValidationDestructuringParameterNestedObjectBindingPatternDefaultValues.ts, 0, 22))
>console : Symbol(console, Decl(sourceMapValidationDestructuringParameterNestedObjectBindingPatternDefaultValues.ts, 0, 11))
>log : Symbol(log, Decl(sourceMapValidationDestructuringParameterNestedObjectBindingPatternDefaultValues.ts, 0, 22))
>primaryA : Symbol(primaryA, Decl(sourceMapValidationDestructuringParameterNestedObjectBindingPatternDefaultValues.ts, 14, 17))
}
function foo2(
>foo2 : Symbol(foo2, Decl(sourceMapValidationDestructuringParameterNestedObjectBindingPatternDefaultValues.ts, 20, 1))
{
name: nameC = "name",
>name : Symbol(Robot.name, Decl(sourceMapValidationDestructuringParameterNestedObjectBindingPatternDefaultValues.ts, 3, 17))
>nameC : Symbol(nameC, Decl(sourceMapValidationDestructuringParameterNestedObjectBindingPatternDefaultValues.ts, 22, 5))
skills: {
>skills : Symbol(Robot.skills, Decl(sourceMapValidationDestructuringParameterNestedObjectBindingPatternDefaultValues.ts, 4, 17))
primary: primaryB = "primary",
>primary : Symbol(primary, Decl(sourceMapValidationDestructuringParameterNestedObjectBindingPatternDefaultValues.ts, 5, 13))
>primaryB : Symbol(primaryB, Decl(sourceMapValidationDestructuringParameterNestedObjectBindingPatternDefaultValues.ts, 24, 17))
secondary: secondaryB = "secondary"
>secondary : Symbol(secondary, Decl(sourceMapValidationDestructuringParameterNestedObjectBindingPatternDefaultValues.ts, 6, 25))
>secondaryB : Symbol(secondaryB, Decl(sourceMapValidationDestructuringParameterNestedObjectBindingPatternDefaultValues.ts, 25, 42))
} = { primary: "SomeSkill", secondary: "someSkill" }
>primary : Symbol(primary, Decl(sourceMapValidationDestructuringParameterNestedObjectBindingPatternDefaultValues.ts, 27, 13))
>secondary : Symbol(secondary, Decl(sourceMapValidationDestructuringParameterNestedObjectBindingPatternDefaultValues.ts, 27, 35))
}: Robot = robotA) {
>Robot : Symbol(Robot, Decl(sourceMapValidationDestructuringParameterNestedObjectBindingPatternDefaultValues.ts, 2, 1))
>robotA : Symbol(robotA, Decl(sourceMapValidationDestructuringParameterNestedObjectBindingPatternDefaultValues.ts, 10, 3))
console.log(secondaryB);
>console.log : Symbol(log, Decl(sourceMapValidationDestructuringParameterNestedObjectBindingPatternDefaultValues.ts, 0, 22))
>console : Symbol(console, Decl(sourceMapValidationDestructuringParameterNestedObjectBindingPatternDefaultValues.ts, 0, 11))
>log : Symbol(log, Decl(sourceMapValidationDestructuringParameterNestedObjectBindingPatternDefaultValues.ts, 0, 22))
>secondaryB : Symbol(secondaryB, Decl(sourceMapValidationDestructuringParameterNestedObjectBindingPatternDefaultValues.ts, 25, 42))
}
function foo3({ skills = { primary: "SomeSkill", secondary: "someSkill" } }: Robot = robotA) {
>foo3 : Symbol(foo3, Decl(sourceMapValidationDestructuringParameterNestedObjectBindingPatternDefaultValues.ts, 30, 1))
>skills : Symbol(skills, Decl(sourceMapValidationDestructuringParameterNestedObjectBindingPatternDefaultValues.ts, 31, 15))
>primary : Symbol(primary, Decl(sourceMapValidationDestructuringParameterNestedObjectBindingPatternDefaultValues.ts, 31, 26))
>secondary : Symbol(secondary, Decl(sourceMapValidationDestructuringParameterNestedObjectBindingPatternDefaultValues.ts, 31, 48))
>Robot : Symbol(Robot, Decl(sourceMapValidationDestructuringParameterNestedObjectBindingPatternDefaultValues.ts, 2, 1))
>robotA : Symbol(robotA, Decl(sourceMapValidationDestructuringParameterNestedObjectBindingPatternDefaultValues.ts, 10, 3))
console.log(skills.primary);
>console.log : Symbol(log, Decl(sourceMapValidationDestructuringParameterNestedObjectBindingPatternDefaultValues.ts, 0, 22))
>console : Symbol(console, Decl(sourceMapValidationDestructuringParameterNestedObjectBindingPatternDefaultValues.ts, 0, 11))
>log : Symbol(log, Decl(sourceMapValidationDestructuringParameterNestedObjectBindingPatternDefaultValues.ts, 0, 22))
>skills.primary : Symbol(primary, Decl(sourceMapValidationDestructuringParameterNestedObjectBindingPatternDefaultValues.ts, 5, 13))
>skills : Symbol(skills, Decl(sourceMapValidationDestructuringParameterNestedObjectBindingPatternDefaultValues.ts, 31, 15))
>primary : Symbol(primary, Decl(sourceMapValidationDestructuringParameterNestedObjectBindingPatternDefaultValues.ts, 5, 13))
}
foo1(robotA);
>foo1 : Symbol(foo1, Decl(sourceMapValidationDestructuringParameterNestedObjectBindingPatternDefaultValues.ts, 10, 88))
>robotA : Symbol(robotA, Decl(sourceMapValidationDestructuringParameterNestedObjectBindingPatternDefaultValues.ts, 10, 3))
foo1({ name: "Edger", skills: { primary: "edging", secondary: "branch trimming" } });
>foo1 : Symbol(foo1, Decl(sourceMapValidationDestructuringParameterNestedObjectBindingPatternDefaultValues.ts, 10, 88))
>name : Symbol(name, Decl(sourceMapValidationDestructuringParameterNestedObjectBindingPatternDefaultValues.ts, 36, 6))
>skills : Symbol(skills, Decl(sourceMapValidationDestructuringParameterNestedObjectBindingPatternDefaultValues.ts, 36, 21))
>primary : Symbol(primary, Decl(sourceMapValidationDestructuringParameterNestedObjectBindingPatternDefaultValues.ts, 36, 31))
>secondary : Symbol(secondary, Decl(sourceMapValidationDestructuringParameterNestedObjectBindingPatternDefaultValues.ts, 36, 50))
foo2(robotA);
>foo2 : Symbol(foo2, Decl(sourceMapValidationDestructuringParameterNestedObjectBindingPatternDefaultValues.ts, 20, 1))
>robotA : Symbol(robotA, Decl(sourceMapValidationDestructuringParameterNestedObjectBindingPatternDefaultValues.ts, 10, 3))
foo2({ name: "Edger", skills: { primary: "edging", secondary: "branch trimming" } });
>foo2 : Symbol(foo2, Decl(sourceMapValidationDestructuringParameterNestedObjectBindingPatternDefaultValues.ts, 20, 1))
>name : Symbol(name, Decl(sourceMapValidationDestructuringParameterNestedObjectBindingPatternDefaultValues.ts, 39, 6))
>skills : Symbol(skills, Decl(sourceMapValidationDestructuringParameterNestedObjectBindingPatternDefaultValues.ts, 39, 21))
>primary : Symbol(primary, Decl(sourceMapValidationDestructuringParameterNestedObjectBindingPatternDefaultValues.ts, 39, 31))
>secondary : Symbol(secondary, Decl(sourceMapValidationDestructuringParameterNestedObjectBindingPatternDefaultValues.ts, 39, 50))
foo3(robotA);
>foo3 : Symbol(foo3, Decl(sourceMapValidationDestructuringParameterNestedObjectBindingPatternDefaultValues.ts, 30, 1))
>robotA : Symbol(robotA, Decl(sourceMapValidationDestructuringParameterNestedObjectBindingPatternDefaultValues.ts, 10, 3))
foo3({ name: "Edger", skills: { primary: "edging", secondary: "branch trimming" } });
>foo3 : Symbol(foo3, Decl(sourceMapValidationDestructuringParameterNestedObjectBindingPatternDefaultValues.ts, 30, 1))
>name : Symbol(name, Decl(sourceMapValidationDestructuringParameterNestedObjectBindingPatternDefaultValues.ts, 42, 6))
>skills : Symbol(skills, Decl(sourceMapValidationDestructuringParameterNestedObjectBindingPatternDefaultValues.ts, 42, 21))
>primary : Symbol(primary, Decl(sourceMapValidationDestructuringParameterNestedObjectBindingPatternDefaultValues.ts, 42, 31))
>secondary : Symbol(secondary, Decl(sourceMapValidationDestructuringParameterNestedObjectBindingPatternDefaultValues.ts, 42, 50))

View File

@@ -0,0 +1,219 @@
=== tests/cases/compiler/sourceMapValidationDestructuringParameterNestedObjectBindingPatternDefaultValues.ts ===
declare var console: {
>console : { log(msg: string): void; }
log(msg: string): void;
>log : (msg: string) => void
>msg : string
}
interface Robot {
>Robot : Robot
name: string;
>name : string
skills: {
>skills : { primary?: string; secondary?: string; }
primary?: string;
>primary : string
secondary?: string;
>secondary : string
};
}
var robotA: Robot = { name: "mower", skills: { primary: "mowing", secondary: "none" } };
>robotA : Robot
>Robot : Robot
>{ name: "mower", skills: { primary: "mowing", secondary: "none" } } : { name: string; skills: { primary: string; secondary: string; }; }
>name : string
>"mower" : string
>skills : { primary: string; secondary: string; }
>{ primary: "mowing", secondary: "none" } : { primary: string; secondary: string; }
>primary : string
>"mowing" : string
>secondary : string
>"none" : string
function foo1(
>foo1 : ({
skills: {
primary: primaryA = "primary",
secondary: secondaryA = "secondary"
} = { primary: "SomeSkill", secondary: "someSkill" }
}?: Robot) => void
{
skills: {
>skills : any
primary: primaryA = "primary",
>primary : any
>primaryA : string
>"primary" : string
secondary: secondaryA = "secondary"
>secondary : any
>secondaryA : string
>"secondary" : string
} = { primary: "SomeSkill", secondary: "someSkill" }
>{ primary: "SomeSkill", secondary: "someSkill" } : { primary?: string; secondary?: string; }
>primary : string
>"SomeSkill" : string
>secondary : string
>"someSkill" : string
}: Robot = robotA) {
>Robot : Robot
>robotA : Robot
console.log(primaryA);
>console.log(primaryA) : void
>console.log : (msg: string) => void
>console : { log(msg: string): void; }
>log : (msg: string) => void
>primaryA : string
}
function foo2(
>foo2 : ({
name: nameC = "name",
skills: {
primary: primaryB = "primary",
secondary: secondaryB = "secondary"
} = { primary: "SomeSkill", secondary: "someSkill" }
}?: Robot) => void
{
name: nameC = "name",
>name : any
>nameC : string
>"name" : string
skills: {
>skills : any
primary: primaryB = "primary",
>primary : any
>primaryB : string
>"primary" : string
secondary: secondaryB = "secondary"
>secondary : any
>secondaryB : string
>"secondary" : string
} = { primary: "SomeSkill", secondary: "someSkill" }
>{ primary: "SomeSkill", secondary: "someSkill" } : { primary?: string; secondary?: string; }
>primary : string
>"SomeSkill" : string
>secondary : string
>"someSkill" : string
}: Robot = robotA) {
>Robot : Robot
>robotA : Robot
console.log(secondaryB);
>console.log(secondaryB) : void
>console.log : (msg: string) => void
>console : { log(msg: string): void; }
>log : (msg: string) => void
>secondaryB : string
}
function foo3({ skills = { primary: "SomeSkill", secondary: "someSkill" } }: Robot = robotA) {
>foo3 : ({ skills = { primary: "SomeSkill", secondary: "someSkill" } }?: Robot) => void
>skills : { primary?: string; secondary?: string; }
>{ primary: "SomeSkill", secondary: "someSkill" } : { primary: string; secondary: string; }
>primary : string
>"SomeSkill" : string
>secondary : string
>"someSkill" : string
>Robot : Robot
>robotA : Robot
console.log(skills.primary);
>console.log(skills.primary) : void
>console.log : (msg: string) => void
>console : { log(msg: string): void; }
>log : (msg: string) => void
>skills.primary : string
>skills : { primary?: string; secondary?: string; }
>primary : string
}
foo1(robotA);
>foo1(robotA) : void
>foo1 : ({
skills: {
primary: primaryA = "primary",
secondary: secondaryA = "secondary"
} = { primary: "SomeSkill", secondary: "someSkill" }
}?: Robot) => void
>robotA : Robot
foo1({ name: "Edger", skills: { primary: "edging", secondary: "branch trimming" } });
>foo1({ name: "Edger", skills: { primary: "edging", secondary: "branch trimming" } }) : void
>foo1 : ({
skills: {
primary: primaryA = "primary",
secondary: secondaryA = "secondary"
} = { primary: "SomeSkill", secondary: "someSkill" }
}?: Robot) => void
>{ name: "Edger", skills: { primary: "edging", secondary: "branch trimming" } } : { name: string; skills: { primary: string; secondary: string; }; }
>name : string
>"Edger" : string
>skills : { primary: string; secondary: string; }
>{ primary: "edging", secondary: "branch trimming" } : { primary: string; secondary: string; }
>primary : string
>"edging" : string
>secondary : string
>"branch trimming" : string
foo2(robotA);
>foo2(robotA) : void
>foo2 : ({
name: nameC = "name",
skills: {
primary: primaryB = "primary",
secondary: secondaryB = "secondary"
} = { primary: "SomeSkill", secondary: "someSkill" }
}?: Robot) => void
>robotA : Robot
foo2({ name: "Edger", skills: { primary: "edging", secondary: "branch trimming" } });
>foo2({ name: "Edger", skills: { primary: "edging", secondary: "branch trimming" } }) : void
>foo2 : ({
name: nameC = "name",
skills: {
primary: primaryB = "primary",
secondary: secondaryB = "secondary"
} = { primary: "SomeSkill", secondary: "someSkill" }
}?: Robot) => void
>{ name: "Edger", skills: { primary: "edging", secondary: "branch trimming" } } : { name: string; skills: { primary: string; secondary: string; }; }
>name : string
>"Edger" : string
>skills : { primary: string; secondary: string; }
>{ primary: "edging", secondary: "branch trimming" } : { primary: string; secondary: string; }
>primary : string
>"edging" : string
>secondary : string
>"branch trimming" : string
foo3(robotA);
>foo3(robotA) : void
>foo3 : ({ skills = { primary: "SomeSkill", secondary: "someSkill" } }?: Robot) => void
>robotA : Robot
foo3({ name: "Edger", skills: { primary: "edging", secondary: "branch trimming" } });
>foo3({ name: "Edger", skills: { primary: "edging", secondary: "branch trimming" } }) : void
>foo3 : ({ skills = { primary: "SomeSkill", secondary: "someSkill" } }?: Robot) => void
>{ name: "Edger", skills: { primary: "edging", secondary: "branch trimming" } } : { name: string; skills: { primary: string; secondary: string; }; }
>name : string
>"Edger" : string
>skills : { primary: string; secondary: string; }
>{ primary: "edging", secondary: "branch trimming" } : { primary: string; secondary: string; }
>primary : string
>"edging" : string
>secondary : string
>"branch trimming" : string

View File

@@ -0,0 +1,53 @@
//// [sourceMapValidationDestructuringParameterObjectBindingPatternDefaultValues.ts]
interface Robot {
name?: string;
skill?: string;
}
declare var console: {
log(msg: string): void;
}
var hello = "hello";
var robotA: Robot = { name: "mower", skill: "mowing" };
function foo1({ name: nameA = "<NoName>" }: Robot = { }) {
console.log(nameA);
}
function foo2({ name: nameB = "<NoName>", skill: skillB = "noSkill" }: Robot = {}) {
console.log(nameB);
}
function foo3({ name = "<NoName>" }: Robot = {}) {
console.log(name);
}
foo1(robotA);
foo1({ name: "Edger", skill: "cutting edges" });
foo2(robotA);
foo2({ name: "Edger", skill: "cutting edges" });
foo3(robotA);
foo3({ name: "Edger", skill: "cutting edges" });
//// [sourceMapValidationDestructuringParameterObjectBindingPatternDefaultValues.js]
var hello = "hello";
var robotA = { name: "mower", skill: "mowing" };
function foo1(_a) {
var _b = (_a === void 0 ? {} : _a).name, nameA = _b === void 0 ? "<NoName>" : _b;
console.log(nameA);
}
function foo2(_a) {
var _b = _a === void 0 ? {} : _a, _c = _b.name, nameB = _c === void 0 ? "<NoName>" : _c, _d = _b.skill, skillB = _d === void 0 ? "noSkill" : _d;
console.log(nameB);
}
function foo3(_a) {
var _b = (_a === void 0 ? {} : _a).name, name = _b === void 0 ? "<NoName>" : _b;
console.log(name);
}
foo1(robotA);
foo1({ name: "Edger", skill: "cutting edges" });
foo2(robotA);
foo2({ name: "Edger", skill: "cutting edges" });
foo3(robotA);
foo3({ name: "Edger", skill: "cutting edges" });
//# sourceMappingURL=sourceMapValidationDestructuringParameterObjectBindingPatternDefaultValues.js.map

View File

@@ -0,0 +1,2 @@
//// [sourceMapValidationDestructuringParameterObjectBindingPatternDefaultValues.js.map]
{"version":3,"file":"sourceMapValidationDestructuringParameterObjectBindingPatternDefaultValues.js","sourceRoot":"","sources":["sourceMapValidationDestructuringParameterObjectBindingPatternDefaultValues.ts"],"names":[],"mappings":"AAOA,IAAI,KAAK,GAAG,OAAO,CAAC;AACpB,IAAI,MAAM,GAAU,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC;AAEvD,cAAc,EAAyC;QAAvC,mCAAwB,EAAxB,uCAAwB;IACpC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;AACvB,CAAC;AACD,cAAc,EAAmE;QAAnE,4BAAmE,EAAjE,YAAwB,EAAxB,uCAAwB,EAAE,aAAyB,EAAzB,uCAAyB;IAC/D,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;AACvB,CAAC;AACD,cAAc,EAAiC;QAA/B,mCAAiB,EAAjB,sCAAiB;IAC7B,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AACtB,CAAC;AAED,IAAI,CAAC,MAAM,CAAC,CAAC;AACb,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,eAAe,EAAE,CAAC,CAAC;AAEhD,IAAI,CAAC,MAAM,CAAC,CAAC;AACb,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,eAAe,EAAE,CAAC,CAAC;AAEhD,IAAI,CAAC,MAAM,CAAC,CAAC;AACb,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,eAAe,EAAE,CAAC,CAAC"}

View File

@@ -0,0 +1,500 @@
===================================================================
JsFile: sourceMapValidationDestructuringParameterObjectBindingPatternDefaultValues.js
mapUrl: sourceMapValidationDestructuringParameterObjectBindingPatternDefaultValues.js.map
sourceRoot:
sources: sourceMapValidationDestructuringParameterObjectBindingPatternDefaultValues.ts
===================================================================
-------------------------------------------------------------------
emittedFile:tests/cases/compiler/sourceMapValidationDestructuringParameterObjectBindingPatternDefaultValues.js
sourceFile:sourceMapValidationDestructuringParameterObjectBindingPatternDefaultValues.ts
-------------------------------------------------------------------
>>>var hello = "hello";
1 >
2 >^^^^
3 > ^^^^^
4 > ^^^
5 > ^^^^^^^
6 > ^
7 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^->
1 >interface Robot {
> name?: string;
> skill?: string;
>}
>declare var console: {
> log(msg: string): void;
>}
>
2 >var
3 > hello
4 > =
5 > "hello"
6 > ;
1 >Emitted(1, 1) Source(8, 1) + SourceIndex(0)
2 >Emitted(1, 5) Source(8, 5) + SourceIndex(0)
3 >Emitted(1, 10) Source(8, 10) + SourceIndex(0)
4 >Emitted(1, 13) Source(8, 13) + SourceIndex(0)
5 >Emitted(1, 20) Source(8, 20) + SourceIndex(0)
6 >Emitted(1, 21) Source(8, 21) + SourceIndex(0)
---
>>>var robotA = { name: "mower", skill: "mowing" };
1->
2 >^^^^
3 > ^^^^^^
4 > ^^^
5 > ^^
6 > ^^^^
7 > ^^
8 > ^^^^^^^
9 > ^^
10> ^^^^^
11> ^^
12> ^^^^^^^^
13> ^^
14> ^
1->
>
2 >var
3 > robotA
4 > : Robot =
5 > {
6 > name
7 > :
8 > "mower"
9 > ,
10> skill
11> :
12> "mowing"
13> }
14> ;
1->Emitted(2, 1) Source(9, 1) + SourceIndex(0)
2 >Emitted(2, 5) Source(9, 5) + SourceIndex(0)
3 >Emitted(2, 11) Source(9, 11) + SourceIndex(0)
4 >Emitted(2, 14) Source(9, 21) + SourceIndex(0)
5 >Emitted(2, 16) Source(9, 23) + SourceIndex(0)
6 >Emitted(2, 20) Source(9, 27) + SourceIndex(0)
7 >Emitted(2, 22) Source(9, 29) + SourceIndex(0)
8 >Emitted(2, 29) Source(9, 36) + SourceIndex(0)
9 >Emitted(2, 31) Source(9, 38) + SourceIndex(0)
10>Emitted(2, 36) Source(9, 43) + SourceIndex(0)
11>Emitted(2, 38) Source(9, 45) + SourceIndex(0)
12>Emitted(2, 46) Source(9, 53) + SourceIndex(0)
13>Emitted(2, 48) Source(9, 55) + SourceIndex(0)
14>Emitted(2, 49) Source(9, 56) + SourceIndex(0)
---
>>>function foo1(_a) {
1 >
2 >^^^^^^^^^^^^^^
3 > ^^
4 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^->
1 >
>
>
2 >function foo1(
3 > { name: nameA = "<NoName>" }: Robot = { }
1 >Emitted(3, 1) Source(11, 1) + SourceIndex(0)
2 >Emitted(3, 15) Source(11, 15) + SourceIndex(0)
3 >Emitted(3, 17) Source(11, 56) + SourceIndex(0)
---
>>> var _b = (_a === void 0 ? {} : _a).name, nameA = _b === void 0 ? "<NoName>" : _b;
1->^^^^^^^^
2 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
3 > ^^
4 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
1->
2 > name: nameA = "<NoName>"
3 >
4 > name: nameA = "<NoName>"
1->Emitted(4, 9) Source(11, 17) + SourceIndex(0)
2 >Emitted(4, 44) Source(11, 41) + SourceIndex(0)
3 >Emitted(4, 46) Source(11, 17) + SourceIndex(0)
4 >Emitted(4, 85) Source(11, 41) + SourceIndex(0)
---
>>> console.log(nameA);
1 >^^^^
2 > ^^^^^^^
3 > ^
4 > ^^^
5 > ^
6 > ^^^^^
7 > ^
8 > ^
1 > }: Robot = { }) {
>
2 > console
3 > .
4 > log
5 > (
6 > nameA
7 > )
8 > ;
1 >Emitted(5, 5) Source(12, 5) + SourceIndex(0)
2 >Emitted(5, 12) Source(12, 12) + SourceIndex(0)
3 >Emitted(5, 13) Source(12, 13) + SourceIndex(0)
4 >Emitted(5, 16) Source(12, 16) + SourceIndex(0)
5 >Emitted(5, 17) Source(12, 17) + SourceIndex(0)
6 >Emitted(5, 22) Source(12, 22) + SourceIndex(0)
7 >Emitted(5, 23) Source(12, 23) + SourceIndex(0)
8 >Emitted(5, 24) Source(12, 24) + SourceIndex(0)
---
>>>}
1 >
2 >^
3 > ^^^^^^^^^^^^^^^^^^^->
1 >
>
2 >}
1 >Emitted(6, 1) Source(13, 1) + SourceIndex(0)
2 >Emitted(6, 2) Source(13, 2) + SourceIndex(0)
---
>>>function foo2(_a) {
1->
2 >^^^^^^^^^^^^^^
3 > ^^
4 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^->
1->
>
2 >function foo2(
3 > { name: nameB = "<NoName>", skill: skillB = "noSkill" }: Robot = {}
1->Emitted(7, 1) Source(14, 1) + SourceIndex(0)
2 >Emitted(7, 15) Source(14, 15) + SourceIndex(0)
3 >Emitted(7, 17) Source(14, 82) + SourceIndex(0)
---
>>> var _b = _a === void 0 ? {} : _a, _c = _b.name, nameB = _c === void 0 ? "<NoName>" : _c, _d = _b.skill, skillB = _d === void 0 ? "noSkill" : _d;
1->^^^^^^^^
2 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
3 > ^^
4 > ^^^^^^^^^^^^
5 > ^^
6 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
7 > ^^
8 > ^^^^^^^^^^^^^
9 > ^^
10> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
1->
2 > { name: nameB = "<NoName>", skill: skillB = "noSkill" }: Robot = {}
3 >
4 > name: nameB = "<NoName>"
5 >
6 > name: nameB = "<NoName>"
7 > ,
8 > skill: skillB = "noSkill"
9 >
10> skill: skillB = "noSkill"
1->Emitted(8, 9) Source(14, 15) + SourceIndex(0)
2 >Emitted(8, 37) Source(14, 82) + SourceIndex(0)
3 >Emitted(8, 39) Source(14, 17) + SourceIndex(0)
4 >Emitted(8, 51) Source(14, 41) + SourceIndex(0)
5 >Emitted(8, 53) Source(14, 17) + SourceIndex(0)
6 >Emitted(8, 92) Source(14, 41) + SourceIndex(0)
7 >Emitted(8, 94) Source(14, 43) + SourceIndex(0)
8 >Emitted(8, 107) Source(14, 68) + SourceIndex(0)
9 >Emitted(8, 109) Source(14, 43) + SourceIndex(0)
10>Emitted(8, 148) Source(14, 68) + SourceIndex(0)
---
>>> console.log(nameB);
1 >^^^^
2 > ^^^^^^^
3 > ^
4 > ^^^
5 > ^
6 > ^^^^^
7 > ^
8 > ^
1 > }: Robot = {}) {
>
2 > console
3 > .
4 > log
5 > (
6 > nameB
7 > )
8 > ;
1 >Emitted(9, 5) Source(15, 5) + SourceIndex(0)
2 >Emitted(9, 12) Source(15, 12) + SourceIndex(0)
3 >Emitted(9, 13) Source(15, 13) + SourceIndex(0)
4 >Emitted(9, 16) Source(15, 16) + SourceIndex(0)
5 >Emitted(9, 17) Source(15, 17) + SourceIndex(0)
6 >Emitted(9, 22) Source(15, 22) + SourceIndex(0)
7 >Emitted(9, 23) Source(15, 23) + SourceIndex(0)
8 >Emitted(9, 24) Source(15, 24) + SourceIndex(0)
---
>>>}
1 >
2 >^
3 > ^^^^^^^^^^^^^^^^^^^->
1 >
>
2 >}
1 >Emitted(10, 1) Source(16, 1) + SourceIndex(0)
2 >Emitted(10, 2) Source(16, 2) + SourceIndex(0)
---
>>>function foo3(_a) {
1->
2 >^^^^^^^^^^^^^^
3 > ^^
4 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^->
1->
>
2 >function foo3(
3 > { name = "<NoName>" }: Robot = {}
1->Emitted(11, 1) Source(17, 1) + SourceIndex(0)
2 >Emitted(11, 15) Source(17, 15) + SourceIndex(0)
3 >Emitted(11, 17) Source(17, 48) + SourceIndex(0)
---
>>> var _b = (_a === void 0 ? {} : _a).name, name = _b === void 0 ? "<NoName>" : _b;
1->^^^^^^^^
2 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
3 > ^^
4 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
1->
2 > name = "<NoName>"
3 >
4 > name = "<NoName>"
1->Emitted(12, 9) Source(17, 17) + SourceIndex(0)
2 >Emitted(12, 44) Source(17, 34) + SourceIndex(0)
3 >Emitted(12, 46) Source(17, 17) + SourceIndex(0)
4 >Emitted(12, 84) Source(17, 34) + SourceIndex(0)
---
>>> console.log(name);
1 >^^^^
2 > ^^^^^^^
3 > ^
4 > ^^^
5 > ^
6 > ^^^^
7 > ^
8 > ^
1 > }: Robot = {}) {
>
2 > console
3 > .
4 > log
5 > (
6 > name
7 > )
8 > ;
1 >Emitted(13, 5) Source(18, 5) + SourceIndex(0)
2 >Emitted(13, 12) Source(18, 12) + SourceIndex(0)
3 >Emitted(13, 13) Source(18, 13) + SourceIndex(0)
4 >Emitted(13, 16) Source(18, 16) + SourceIndex(0)
5 >Emitted(13, 17) Source(18, 17) + SourceIndex(0)
6 >Emitted(13, 21) Source(18, 21) + SourceIndex(0)
7 >Emitted(13, 22) Source(18, 22) + SourceIndex(0)
8 >Emitted(13, 23) Source(18, 23) + SourceIndex(0)
---
>>>}
1 >
2 >^
3 > ^^^^^^^^^^^^^->
1 >
>
2 >}
1 >Emitted(14, 1) Source(19, 1) + SourceIndex(0)
2 >Emitted(14, 2) Source(19, 2) + SourceIndex(0)
---
>>>foo1(robotA);
1->
2 >^^^^
3 > ^
4 > ^^^^^^
5 > ^
6 > ^
7 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^->
1->
>
>
2 >foo1
3 > (
4 > robotA
5 > )
6 > ;
1->Emitted(15, 1) Source(21, 1) + SourceIndex(0)
2 >Emitted(15, 5) Source(21, 5) + SourceIndex(0)
3 >Emitted(15, 6) Source(21, 6) + SourceIndex(0)
4 >Emitted(15, 12) Source(21, 12) + SourceIndex(0)
5 >Emitted(15, 13) Source(21, 13) + SourceIndex(0)
6 >Emitted(15, 14) Source(21, 14) + SourceIndex(0)
---
>>>foo1({ name: "Edger", skill: "cutting edges" });
1->
2 >^^^^
3 > ^
4 > ^^
5 > ^^^^
6 > ^^
7 > ^^^^^^^
8 > ^^
9 > ^^^^^
10> ^^
11> ^^^^^^^^^^^^^^^
12> ^^
13> ^
14> ^
1->
>
2 >foo1
3 > (
4 > {
5 > name
6 > :
7 > "Edger"
8 > ,
9 > skill
10> :
11> "cutting edges"
12> }
13> )
14> ;
1->Emitted(16, 1) Source(22, 1) + SourceIndex(0)
2 >Emitted(16, 5) Source(22, 5) + SourceIndex(0)
3 >Emitted(16, 6) Source(22, 6) + SourceIndex(0)
4 >Emitted(16, 8) Source(22, 8) + SourceIndex(0)
5 >Emitted(16, 12) Source(22, 12) + SourceIndex(0)
6 >Emitted(16, 14) Source(22, 14) + SourceIndex(0)
7 >Emitted(16, 21) Source(22, 21) + SourceIndex(0)
8 >Emitted(16, 23) Source(22, 23) + SourceIndex(0)
9 >Emitted(16, 28) Source(22, 28) + SourceIndex(0)
10>Emitted(16, 30) Source(22, 30) + SourceIndex(0)
11>Emitted(16, 45) Source(22, 45) + SourceIndex(0)
12>Emitted(16, 47) Source(22, 47) + SourceIndex(0)
13>Emitted(16, 48) Source(22, 48) + SourceIndex(0)
14>Emitted(16, 49) Source(22, 49) + SourceIndex(0)
---
>>>foo2(robotA);
1 >
2 >^^^^
3 > ^
4 > ^^^^^^
5 > ^
6 > ^
7 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^->
1 >
>
>
2 >foo2
3 > (
4 > robotA
5 > )
6 > ;
1 >Emitted(17, 1) Source(24, 1) + SourceIndex(0)
2 >Emitted(17, 5) Source(24, 5) + SourceIndex(0)
3 >Emitted(17, 6) Source(24, 6) + SourceIndex(0)
4 >Emitted(17, 12) Source(24, 12) + SourceIndex(0)
5 >Emitted(17, 13) Source(24, 13) + SourceIndex(0)
6 >Emitted(17, 14) Source(24, 14) + SourceIndex(0)
---
>>>foo2({ name: "Edger", skill: "cutting edges" });
1->
2 >^^^^
3 > ^
4 > ^^
5 > ^^^^
6 > ^^
7 > ^^^^^^^
8 > ^^
9 > ^^^^^
10> ^^
11> ^^^^^^^^^^^^^^^
12> ^^
13> ^
14> ^
1->
>
2 >foo2
3 > (
4 > {
5 > name
6 > :
7 > "Edger"
8 > ,
9 > skill
10> :
11> "cutting edges"
12> }
13> )
14> ;
1->Emitted(18, 1) Source(25, 1) + SourceIndex(0)
2 >Emitted(18, 5) Source(25, 5) + SourceIndex(0)
3 >Emitted(18, 6) Source(25, 6) + SourceIndex(0)
4 >Emitted(18, 8) Source(25, 8) + SourceIndex(0)
5 >Emitted(18, 12) Source(25, 12) + SourceIndex(0)
6 >Emitted(18, 14) Source(25, 14) + SourceIndex(0)
7 >Emitted(18, 21) Source(25, 21) + SourceIndex(0)
8 >Emitted(18, 23) Source(25, 23) + SourceIndex(0)
9 >Emitted(18, 28) Source(25, 28) + SourceIndex(0)
10>Emitted(18, 30) Source(25, 30) + SourceIndex(0)
11>Emitted(18, 45) Source(25, 45) + SourceIndex(0)
12>Emitted(18, 47) Source(25, 47) + SourceIndex(0)
13>Emitted(18, 48) Source(25, 48) + SourceIndex(0)
14>Emitted(18, 49) Source(25, 49) + SourceIndex(0)
---
>>>foo3(robotA);
1 >
2 >^^^^
3 > ^
4 > ^^^^^^
5 > ^
6 > ^
7 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^->
1 >
>
>
2 >foo3
3 > (
4 > robotA
5 > )
6 > ;
1 >Emitted(19, 1) Source(27, 1) + SourceIndex(0)
2 >Emitted(19, 5) Source(27, 5) + SourceIndex(0)
3 >Emitted(19, 6) Source(27, 6) + SourceIndex(0)
4 >Emitted(19, 12) Source(27, 12) + SourceIndex(0)
5 >Emitted(19, 13) Source(27, 13) + SourceIndex(0)
6 >Emitted(19, 14) Source(27, 14) + SourceIndex(0)
---
>>>foo3({ name: "Edger", skill: "cutting edges" });
1->
2 >^^^^
3 > ^
4 > ^^
5 > ^^^^
6 > ^^
7 > ^^^^^^^
8 > ^^
9 > ^^^^^
10> ^^
11> ^^^^^^^^^^^^^^^
12> ^^
13> ^
14> ^
15> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^->
1->
>
2 >foo3
3 > (
4 > {
5 > name
6 > :
7 > "Edger"
8 > ,
9 > skill
10> :
11> "cutting edges"
12> }
13> )
14> ;
1->Emitted(20, 1) Source(28, 1) + SourceIndex(0)
2 >Emitted(20, 5) Source(28, 5) + SourceIndex(0)
3 >Emitted(20, 6) Source(28, 6) + SourceIndex(0)
4 >Emitted(20, 8) Source(28, 8) + SourceIndex(0)
5 >Emitted(20, 12) Source(28, 12) + SourceIndex(0)
6 >Emitted(20, 14) Source(28, 14) + SourceIndex(0)
7 >Emitted(20, 21) Source(28, 21) + SourceIndex(0)
8 >Emitted(20, 23) Source(28, 23) + SourceIndex(0)
9 >Emitted(20, 28) Source(28, 28) + SourceIndex(0)
10>Emitted(20, 30) Source(28, 30) + SourceIndex(0)
11>Emitted(20, 45) Source(28, 45) + SourceIndex(0)
12>Emitted(20, 47) Source(28, 47) + SourceIndex(0)
13>Emitted(20, 48) Source(28, 48) + SourceIndex(0)
14>Emitted(20, 49) Source(28, 49) + SourceIndex(0)
---
>>>//# sourceMappingURL=sourceMapValidationDestructuringParameterObjectBindingPatternDefaultValues.js.map

View File

@@ -0,0 +1,91 @@
=== tests/cases/compiler/sourceMapValidationDestructuringParameterObjectBindingPatternDefaultValues.ts ===
interface Robot {
>Robot : Symbol(Robot, Decl(sourceMapValidationDestructuringParameterObjectBindingPatternDefaultValues.ts, 0, 0))
name?: string;
>name : Symbol(name, Decl(sourceMapValidationDestructuringParameterObjectBindingPatternDefaultValues.ts, 0, 17))
skill?: string;
>skill : Symbol(skill, Decl(sourceMapValidationDestructuringParameterObjectBindingPatternDefaultValues.ts, 1, 18))
}
declare var console: {
>console : Symbol(console, Decl(sourceMapValidationDestructuringParameterObjectBindingPatternDefaultValues.ts, 4, 11))
log(msg: string): void;
>log : Symbol(log, Decl(sourceMapValidationDestructuringParameterObjectBindingPatternDefaultValues.ts, 4, 22))
>msg : Symbol(msg, Decl(sourceMapValidationDestructuringParameterObjectBindingPatternDefaultValues.ts, 5, 8))
}
var hello = "hello";
>hello : Symbol(hello, Decl(sourceMapValidationDestructuringParameterObjectBindingPatternDefaultValues.ts, 7, 3))
var robotA: Robot = { name: "mower", skill: "mowing" };
>robotA : Symbol(robotA, Decl(sourceMapValidationDestructuringParameterObjectBindingPatternDefaultValues.ts, 8, 3))
>Robot : Symbol(Robot, Decl(sourceMapValidationDestructuringParameterObjectBindingPatternDefaultValues.ts, 0, 0))
>name : Symbol(name, Decl(sourceMapValidationDestructuringParameterObjectBindingPatternDefaultValues.ts, 8, 21))
>skill : Symbol(skill, Decl(sourceMapValidationDestructuringParameterObjectBindingPatternDefaultValues.ts, 8, 36))
function foo1({ name: nameA = "<NoName>" }: Robot = { }) {
>foo1 : Symbol(foo1, Decl(sourceMapValidationDestructuringParameterObjectBindingPatternDefaultValues.ts, 8, 55))
>name : Symbol(Robot.name, Decl(sourceMapValidationDestructuringParameterObjectBindingPatternDefaultValues.ts, 0, 17))
>nameA : Symbol(nameA, Decl(sourceMapValidationDestructuringParameterObjectBindingPatternDefaultValues.ts, 10, 15))
>Robot : Symbol(Robot, Decl(sourceMapValidationDestructuringParameterObjectBindingPatternDefaultValues.ts, 0, 0))
console.log(nameA);
>console.log : Symbol(log, Decl(sourceMapValidationDestructuringParameterObjectBindingPatternDefaultValues.ts, 4, 22))
>console : Symbol(console, Decl(sourceMapValidationDestructuringParameterObjectBindingPatternDefaultValues.ts, 4, 11))
>log : Symbol(log, Decl(sourceMapValidationDestructuringParameterObjectBindingPatternDefaultValues.ts, 4, 22))
>nameA : Symbol(nameA, Decl(sourceMapValidationDestructuringParameterObjectBindingPatternDefaultValues.ts, 10, 15))
}
function foo2({ name: nameB = "<NoName>", skill: skillB = "noSkill" }: Robot = {}) {
>foo2 : Symbol(foo2, Decl(sourceMapValidationDestructuringParameterObjectBindingPatternDefaultValues.ts, 12, 1))
>name : Symbol(Robot.name, Decl(sourceMapValidationDestructuringParameterObjectBindingPatternDefaultValues.ts, 0, 17))
>nameB : Symbol(nameB, Decl(sourceMapValidationDestructuringParameterObjectBindingPatternDefaultValues.ts, 13, 15))
>skill : Symbol(Robot.skill, Decl(sourceMapValidationDestructuringParameterObjectBindingPatternDefaultValues.ts, 1, 18))
>skillB : Symbol(skillB, Decl(sourceMapValidationDestructuringParameterObjectBindingPatternDefaultValues.ts, 13, 41))
>Robot : Symbol(Robot, Decl(sourceMapValidationDestructuringParameterObjectBindingPatternDefaultValues.ts, 0, 0))
console.log(nameB);
>console.log : Symbol(log, Decl(sourceMapValidationDestructuringParameterObjectBindingPatternDefaultValues.ts, 4, 22))
>console : Symbol(console, Decl(sourceMapValidationDestructuringParameterObjectBindingPatternDefaultValues.ts, 4, 11))
>log : Symbol(log, Decl(sourceMapValidationDestructuringParameterObjectBindingPatternDefaultValues.ts, 4, 22))
>nameB : Symbol(nameB, Decl(sourceMapValidationDestructuringParameterObjectBindingPatternDefaultValues.ts, 13, 15))
}
function foo3({ name = "<NoName>" }: Robot = {}) {
>foo3 : Symbol(foo3, Decl(sourceMapValidationDestructuringParameterObjectBindingPatternDefaultValues.ts, 15, 1))
>name : Symbol(name, Decl(sourceMapValidationDestructuringParameterObjectBindingPatternDefaultValues.ts, 16, 15))
>Robot : Symbol(Robot, Decl(sourceMapValidationDestructuringParameterObjectBindingPatternDefaultValues.ts, 0, 0))
console.log(name);
>console.log : Symbol(log, Decl(sourceMapValidationDestructuringParameterObjectBindingPatternDefaultValues.ts, 4, 22))
>console : Symbol(console, Decl(sourceMapValidationDestructuringParameterObjectBindingPatternDefaultValues.ts, 4, 11))
>log : Symbol(log, Decl(sourceMapValidationDestructuringParameterObjectBindingPatternDefaultValues.ts, 4, 22))
>name : Symbol(name, Decl(sourceMapValidationDestructuringParameterObjectBindingPatternDefaultValues.ts, 16, 15))
}
foo1(robotA);
>foo1 : Symbol(foo1, Decl(sourceMapValidationDestructuringParameterObjectBindingPatternDefaultValues.ts, 8, 55))
>robotA : Symbol(robotA, Decl(sourceMapValidationDestructuringParameterObjectBindingPatternDefaultValues.ts, 8, 3))
foo1({ name: "Edger", skill: "cutting edges" });
>foo1 : Symbol(foo1, Decl(sourceMapValidationDestructuringParameterObjectBindingPatternDefaultValues.ts, 8, 55))
>name : Symbol(name, Decl(sourceMapValidationDestructuringParameterObjectBindingPatternDefaultValues.ts, 21, 6))
>skill : Symbol(skill, Decl(sourceMapValidationDestructuringParameterObjectBindingPatternDefaultValues.ts, 21, 21))
foo2(robotA);
>foo2 : Symbol(foo2, Decl(sourceMapValidationDestructuringParameterObjectBindingPatternDefaultValues.ts, 12, 1))
>robotA : Symbol(robotA, Decl(sourceMapValidationDestructuringParameterObjectBindingPatternDefaultValues.ts, 8, 3))
foo2({ name: "Edger", skill: "cutting edges" });
>foo2 : Symbol(foo2, Decl(sourceMapValidationDestructuringParameterObjectBindingPatternDefaultValues.ts, 12, 1))
>name : Symbol(name, Decl(sourceMapValidationDestructuringParameterObjectBindingPatternDefaultValues.ts, 24, 6))
>skill : Symbol(skill, Decl(sourceMapValidationDestructuringParameterObjectBindingPatternDefaultValues.ts, 24, 21))
foo3(robotA);
>foo3 : Symbol(foo3, Decl(sourceMapValidationDestructuringParameterObjectBindingPatternDefaultValues.ts, 15, 1))
>robotA : Symbol(robotA, Decl(sourceMapValidationDestructuringParameterObjectBindingPatternDefaultValues.ts, 8, 3))
foo3({ name: "Edger", skill: "cutting edges" });
>foo3 : Symbol(foo3, Decl(sourceMapValidationDestructuringParameterObjectBindingPatternDefaultValues.ts, 15, 1))
>name : Symbol(name, Decl(sourceMapValidationDestructuringParameterObjectBindingPatternDefaultValues.ts, 27, 6))
>skill : Symbol(skill, Decl(sourceMapValidationDestructuringParameterObjectBindingPatternDefaultValues.ts, 27, 21))

View File

@@ -0,0 +1,120 @@
=== tests/cases/compiler/sourceMapValidationDestructuringParameterObjectBindingPatternDefaultValues.ts ===
interface Robot {
>Robot : Robot
name?: string;
>name : string
skill?: string;
>skill : string
}
declare var console: {
>console : { log(msg: string): void; }
log(msg: string): void;
>log : (msg: string) => void
>msg : string
}
var hello = "hello";
>hello : string
>"hello" : string
var robotA: Robot = { name: "mower", skill: "mowing" };
>robotA : Robot
>Robot : Robot
>{ name: "mower", skill: "mowing" } : { name: string; skill: string; }
>name : string
>"mower" : string
>skill : string
>"mowing" : string
function foo1({ name: nameA = "<NoName>" }: Robot = { }) {
>foo1 : ({ name: nameA = "<NoName>" }?: Robot) => void
>name : any
>nameA : string
>"<NoName>" : string
>Robot : Robot
>{ } : {}
console.log(nameA);
>console.log(nameA) : void
>console.log : (msg: string) => void
>console : { log(msg: string): void; }
>log : (msg: string) => void
>nameA : string
}
function foo2({ name: nameB = "<NoName>", skill: skillB = "noSkill" }: Robot = {}) {
>foo2 : ({ name: nameB = "<NoName>", skill: skillB = "noSkill" }?: Robot) => void
>name : any
>nameB : string
>"<NoName>" : string
>skill : any
>skillB : string
>"noSkill" : string
>Robot : Robot
>{} : {}
console.log(nameB);
>console.log(nameB) : void
>console.log : (msg: string) => void
>console : { log(msg: string): void; }
>log : (msg: string) => void
>nameB : string
}
function foo3({ name = "<NoName>" }: Robot = {}) {
>foo3 : ({ name = "<NoName>" }?: Robot) => void
>name : string
>"<NoName>" : string
>Robot : Robot
>{} : {}
console.log(name);
>console.log(name) : void
>console.log : (msg: string) => void
>console : { log(msg: string): void; }
>log : (msg: string) => void
>name : string
}
foo1(robotA);
>foo1(robotA) : void
>foo1 : ({ name: nameA = "<NoName>" }?: Robot) => void
>robotA : Robot
foo1({ name: "Edger", skill: "cutting edges" });
>foo1({ name: "Edger", skill: "cutting edges" }) : void
>foo1 : ({ name: nameA = "<NoName>" }?: Robot) => void
>{ name: "Edger", skill: "cutting edges" } : { name: string; skill: string; }
>name : string
>"Edger" : string
>skill : string
>"cutting edges" : string
foo2(robotA);
>foo2(robotA) : void
>foo2 : ({ name: nameB = "<NoName>", skill: skillB = "noSkill" }?: Robot) => void
>robotA : Robot
foo2({ name: "Edger", skill: "cutting edges" });
>foo2({ name: "Edger", skill: "cutting edges" }) : void
>foo2 : ({ name: nameB = "<NoName>", skill: skillB = "noSkill" }?: Robot) => void
>{ name: "Edger", skill: "cutting edges" } : { name: string; skill: string; }
>name : string
>"Edger" : string
>skill : string
>"cutting edges" : string
foo3(robotA);
>foo3(robotA) : void
>foo3 : ({ name = "<NoName>" }?: Robot) => void
>robotA : Robot
foo3({ name: "Edger", skill: "cutting edges" });
>foo3({ name: "Edger", skill: "cutting edges" }) : void
>foo3 : ({ name = "<NoName>" }?: Robot) => void
>{ name: "Edger", skill: "cutting edges" } : { name: string; skill: string; }
>name : string
>"Edger" : string
>skill : string
>"cutting edges" : string

View File

@@ -0,0 +1,62 @@
//// [sourceMapValidationDestructuringParametertArrayBindingPatternDefaultValues.ts]
declare var console: {
log(msg: any): void;
}
type Robot = [number, string, string];
var robotA: Robot = [1, "mower", "mowing"];
function foo1([, nameA = "noName"]: Robot = [-1, "name", "skill"]) {
console.log(nameA);
}
function foo2([numberB = -1]: Robot = [-1, "name", "skill"]) {
console.log(numberB);
}
function foo3([numberA2 = -1, nameA2 = "name", skillA2 = "skill"]: Robot = [-1, "name", "skill"]) {
console.log(nameA2);
}
function foo4([numberA3 = -1, ...robotAInfo]: Robot = [-1, "name", "skill"]) {
console.log(robotAInfo);
}
foo1(robotA);
foo1([2, "trimmer", "trimming"]);
foo2(robotA);
foo2([2, "trimmer", "trimming"]);
foo3(robotA);
foo3([2, "trimmer", "trimming"]);
foo4(robotA);
foo4([2, "trimmer", "trimming"]);
//// [sourceMapValidationDestructuringParametertArrayBindingPatternDefaultValues.js]
var robotA = [1, "mower", "mowing"];
function foo1(_a) {
var _b = _a === void 0 ? [-1, "name", "skill"] : _a, _c = _b[1], nameA = _c === void 0 ? "noName" : _c;
console.log(nameA);
}
function foo2(_a) {
var _b = (_a === void 0 ? [-1, "name", "skill"] : _a)[0], numberB = _b === void 0 ? -1 : _b;
console.log(numberB);
}
function foo3(_a) {
var _b = _a === void 0 ? [-1, "name", "skill"] : _a, _c = _b[0], numberA2 = _c === void 0 ? -1 : _c, _d = _b[1], nameA2 = _d === void 0 ? "name" : _d, _e = _b[2], skillA2 = _e === void 0 ? "skill" : _e;
console.log(nameA2);
}
function foo4(_a) {
var _b = _a === void 0 ? [-1, "name", "skill"] : _a, _c = _b[0], numberA3 = _c === void 0 ? -1 : _c, robotAInfo = _b.slice(1);
console.log(robotAInfo);
}
foo1(robotA);
foo1([2, "trimmer", "trimming"]);
foo2(robotA);
foo2([2, "trimmer", "trimming"]);
foo3(robotA);
foo3([2, "trimmer", "trimming"]);
foo4(robotA);
foo4([2, "trimmer", "trimming"]);
//# sourceMappingURL=sourceMapValidationDestructuringParametertArrayBindingPatternDefaultValues.js.map

View File

@@ -0,0 +1,2 @@
//// [sourceMapValidationDestructuringParametertArrayBindingPatternDefaultValues.js.map]
{"version":3,"file":"sourceMapValidationDestructuringParametertArrayBindingPatternDefaultValues.js","sourceRoot":"","sources":["sourceMapValidationDestructuringParametertArrayBindingPatternDefaultValues.ts"],"names":[],"mappings":"AAIA,IAAI,MAAM,GAAU,CAAC,CAAC,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;AAE3C,cAAc,EAAmD;QAAnD,+CAAmD,EAAhD,UAAgB,EAAhB,qCAAgB;IAC7B,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;AACvB,CAAC;AAED,cAAc,EAA6C;QAA5C,oDAAY,EAAZ,iCAAY;IACvB,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;AACzB,CAAC;AAED,cAAc,EAAkF;QAAlF,+CAAkF,EAAjF,UAAa,EAAb,kCAAa,EAAE,UAAe,EAAf,oCAAe,EAAE,UAAiB,EAAjB,sCAAiB;IAC5D,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AACxB,CAAC;AAED,cAAc,EAA6D;QAA7D,+CAA6D,EAA5D,UAAa,EAAb,kCAAa,EAAE,wBAAa;IACvC,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;AAC5B,CAAC;AAED,IAAI,CAAC,MAAM,CAAC,CAAC;AACb,IAAI,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC,CAAC;AAEjC,IAAI,CAAC,MAAM,CAAC,CAAC;AACb,IAAI,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC,CAAC;AAEjC,IAAI,CAAC,MAAM,CAAC,CAAC;AACb,IAAI,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC,CAAC;AAEjC,IAAI,CAAC,MAAM,CAAC,CAAC;AACb,IAAI,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC,CAAC"}

View File

@@ -0,0 +1,610 @@
===================================================================
JsFile: sourceMapValidationDestructuringParametertArrayBindingPatternDefaultValues.js
mapUrl: sourceMapValidationDestructuringParametertArrayBindingPatternDefaultValues.js.map
sourceRoot:
sources: sourceMapValidationDestructuringParametertArrayBindingPatternDefaultValues.ts
===================================================================
-------------------------------------------------------------------
emittedFile:tests/cases/compiler/sourceMapValidationDestructuringParametertArrayBindingPatternDefaultValues.js
sourceFile:sourceMapValidationDestructuringParametertArrayBindingPatternDefaultValues.ts
-------------------------------------------------------------------
>>>var robotA = [1, "mower", "mowing"];
1 >
2 >^^^^
3 > ^^^^^^
4 > ^^^
5 > ^
6 > ^
7 > ^^
8 > ^^^^^^^
9 > ^^
10> ^^^^^^^^
11> ^
12> ^
1 >declare var console: {
> log(msg: any): void;
>}
>type Robot = [number, string, string];
>
2 >var
3 > robotA
4 > : Robot =
5 > [
6 > 1
7 > ,
8 > "mower"
9 > ,
10> "mowing"
11> ]
12> ;
1 >Emitted(1, 1) Source(5, 1) + SourceIndex(0)
2 >Emitted(1, 5) Source(5, 5) + SourceIndex(0)
3 >Emitted(1, 11) Source(5, 11) + SourceIndex(0)
4 >Emitted(1, 14) Source(5, 21) + SourceIndex(0)
5 >Emitted(1, 15) Source(5, 22) + SourceIndex(0)
6 >Emitted(1, 16) Source(5, 23) + SourceIndex(0)
7 >Emitted(1, 18) Source(5, 25) + SourceIndex(0)
8 >Emitted(1, 25) Source(5, 32) + SourceIndex(0)
9 >Emitted(1, 27) Source(5, 34) + SourceIndex(0)
10>Emitted(1, 35) Source(5, 42) + SourceIndex(0)
11>Emitted(1, 36) Source(5, 43) + SourceIndex(0)
12>Emitted(1, 37) Source(5, 44) + SourceIndex(0)
---
>>>function foo1(_a) {
1 >
2 >^^^^^^^^^^^^^^
3 > ^^
4 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^->
1 >
>
>
2 >function foo1(
3 > [, nameA = "noName"]: Robot = [-1, "name", "skill"]
1 >Emitted(2, 1) Source(7, 1) + SourceIndex(0)
2 >Emitted(2, 15) Source(7, 15) + SourceIndex(0)
3 >Emitted(2, 17) Source(7, 66) + SourceIndex(0)
---
>>> var _b = _a === void 0 ? [-1, "name", "skill"] : _a, _c = _b[1], nameA = _c === void 0 ? "noName" : _c;
1->^^^^^^^^
2 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
3 > ^^
4 > ^^^^^^^^^^
5 > ^^
6 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
1->
2 > [, nameA = "noName"]: Robot = [-1, "name", "skill"]
3 >
4 > nameA = "noName"
5 >
6 > nameA = "noName"
1->Emitted(3, 9) Source(7, 15) + SourceIndex(0)
2 >Emitted(3, 56) Source(7, 66) + SourceIndex(0)
3 >Emitted(3, 58) Source(7, 18) + SourceIndex(0)
4 >Emitted(3, 68) Source(7, 34) + SourceIndex(0)
5 >Emitted(3, 70) Source(7, 18) + SourceIndex(0)
6 >Emitted(3, 107) Source(7, 34) + SourceIndex(0)
---
>>> console.log(nameA);
1 >^^^^
2 > ^^^^^^^
3 > ^
4 > ^^^
5 > ^
6 > ^^^^^
7 > ^
8 > ^
1 >]: Robot = [-1, "name", "skill"]) {
>
2 > console
3 > .
4 > log
5 > (
6 > nameA
7 > )
8 > ;
1 >Emitted(4, 5) Source(8, 5) + SourceIndex(0)
2 >Emitted(4, 12) Source(8, 12) + SourceIndex(0)
3 >Emitted(4, 13) Source(8, 13) + SourceIndex(0)
4 >Emitted(4, 16) Source(8, 16) + SourceIndex(0)
5 >Emitted(4, 17) Source(8, 17) + SourceIndex(0)
6 >Emitted(4, 22) Source(8, 22) + SourceIndex(0)
7 >Emitted(4, 23) Source(8, 23) + SourceIndex(0)
8 >Emitted(4, 24) Source(8, 24) + SourceIndex(0)
---
>>>}
1 >
2 >^
3 > ^^^^^^^^^^^^^^^^^^^->
1 >
>
2 >}
1 >Emitted(5, 1) Source(9, 1) + SourceIndex(0)
2 >Emitted(5, 2) Source(9, 2) + SourceIndex(0)
---
>>>function foo2(_a) {
1->
2 >^^^^^^^^^^^^^^
3 > ^^
4 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^->
1->
>
>
2 >function foo2(
3 > [numberB = -1]: Robot = [-1, "name", "skill"]
1->Emitted(6, 1) Source(11, 1) + SourceIndex(0)
2 >Emitted(6, 15) Source(11, 15) + SourceIndex(0)
3 >Emitted(6, 17) Source(11, 60) + SourceIndex(0)
---
>>> var _b = (_a === void 0 ? [-1, "name", "skill"] : _a)[0], numberB = _b === void 0 ? -1 : _b;
1->^^^^^^^^
2 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
3 > ^^
4 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
1->
2 > numberB = -1
3 >
4 > numberB = -1
1->Emitted(7, 9) Source(11, 16) + SourceIndex(0)
2 >Emitted(7, 61) Source(11, 28) + SourceIndex(0)
3 >Emitted(7, 63) Source(11, 16) + SourceIndex(0)
4 >Emitted(7, 96) Source(11, 28) + SourceIndex(0)
---
>>> console.log(numberB);
1 >^^^^
2 > ^^^^^^^
3 > ^
4 > ^^^
5 > ^
6 > ^^^^^^^
7 > ^
8 > ^
1 >]: Robot = [-1, "name", "skill"]) {
>
2 > console
3 > .
4 > log
5 > (
6 > numberB
7 > )
8 > ;
1 >Emitted(8, 5) Source(12, 5) + SourceIndex(0)
2 >Emitted(8, 12) Source(12, 12) + SourceIndex(0)
3 >Emitted(8, 13) Source(12, 13) + SourceIndex(0)
4 >Emitted(8, 16) Source(12, 16) + SourceIndex(0)
5 >Emitted(8, 17) Source(12, 17) + SourceIndex(0)
6 >Emitted(8, 24) Source(12, 24) + SourceIndex(0)
7 >Emitted(8, 25) Source(12, 25) + SourceIndex(0)
8 >Emitted(8, 26) Source(12, 26) + SourceIndex(0)
---
>>>}
1 >
2 >^
3 > ^^^^^^^^^^^^^^^^^^^->
1 >
>
2 >}
1 >Emitted(9, 1) Source(13, 1) + SourceIndex(0)
2 >Emitted(9, 2) Source(13, 2) + SourceIndex(0)
---
>>>function foo3(_a) {
1->
2 >^^^^^^^^^^^^^^
3 > ^^
4 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^->
1->
>
>
2 >function foo3(
3 > [numberA2 = -1, nameA2 = "name", skillA2 = "skill"]: Robot = [-1, "name", "skill"]
1->Emitted(10, 1) Source(15, 1) + SourceIndex(0)
2 >Emitted(10, 15) Source(15, 15) + SourceIndex(0)
3 >Emitted(10, 17) Source(15, 97) + SourceIndex(0)
---
>>> var _b = _a === void 0 ? [-1, "name", "skill"] : _a, _c = _b[0], numberA2 = _c === void 0 ? -1 : _c, _d = _b[1], nameA2 = _d === void 0 ? "name" : _d, _e = _b[2], skillA2 = _e === void 0 ? "skill" : _e;
1->^^^^^^^^
2 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
3 > ^^
4 > ^^^^^^^^^^
5 > ^^
6 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
7 > ^^
8 > ^^^^^^^^^^
9 > ^^
10> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
11> ^^
12> ^^^^^^^^^^
13> ^^
14> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
1->
2 > [numberA2 = -1, nameA2 = "name", skillA2 = "skill"]: Robot = [-1, "name", "skill"]
3 >
4 > numberA2 = -1
5 >
6 > numberA2 = -1
7 > ,
8 > nameA2 = "name"
9 >
10> nameA2 = "name"
11> ,
12> skillA2 = "skill"
13>
14> skillA2 = "skill"
1->Emitted(11, 9) Source(15, 15) + SourceIndex(0)
2 >Emitted(11, 56) Source(15, 97) + SourceIndex(0)
3 >Emitted(11, 58) Source(15, 16) + SourceIndex(0)
4 >Emitted(11, 68) Source(15, 29) + SourceIndex(0)
5 >Emitted(11, 70) Source(15, 16) + SourceIndex(0)
6 >Emitted(11, 104) Source(15, 29) + SourceIndex(0)
7 >Emitted(11, 106) Source(15, 31) + SourceIndex(0)
8 >Emitted(11, 116) Source(15, 46) + SourceIndex(0)
9 >Emitted(11, 118) Source(15, 31) + SourceIndex(0)
10>Emitted(11, 154) Source(15, 46) + SourceIndex(0)
11>Emitted(11, 156) Source(15, 48) + SourceIndex(0)
12>Emitted(11, 166) Source(15, 65) + SourceIndex(0)
13>Emitted(11, 168) Source(15, 48) + SourceIndex(0)
14>Emitted(11, 206) Source(15, 65) + SourceIndex(0)
---
>>> console.log(nameA2);
1 >^^^^
2 > ^^^^^^^
3 > ^
4 > ^^^
5 > ^
6 > ^^^^^^
7 > ^
8 > ^
1 >]: Robot = [-1, "name", "skill"]) {
>
2 > console
3 > .
4 > log
5 > (
6 > nameA2
7 > )
8 > ;
1 >Emitted(12, 5) Source(16, 5) + SourceIndex(0)
2 >Emitted(12, 12) Source(16, 12) + SourceIndex(0)
3 >Emitted(12, 13) Source(16, 13) + SourceIndex(0)
4 >Emitted(12, 16) Source(16, 16) + SourceIndex(0)
5 >Emitted(12, 17) Source(16, 17) + SourceIndex(0)
6 >Emitted(12, 23) Source(16, 23) + SourceIndex(0)
7 >Emitted(12, 24) Source(16, 24) + SourceIndex(0)
8 >Emitted(12, 25) Source(16, 25) + SourceIndex(0)
---
>>>}
1 >
2 >^
3 > ^^^^^^^^^^^^^^^^^^^->
1 >
>
2 >}
1 >Emitted(13, 1) Source(17, 1) + SourceIndex(0)
2 >Emitted(13, 2) Source(17, 2) + SourceIndex(0)
---
>>>function foo4(_a) {
1->
2 >^^^^^^^^^^^^^^
3 > ^^
4 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^->
1->
>
>
2 >function foo4(
3 > [numberA3 = -1, ...robotAInfo]: Robot = [-1, "name", "skill"]
1->Emitted(14, 1) Source(19, 1) + SourceIndex(0)
2 >Emitted(14, 15) Source(19, 15) + SourceIndex(0)
3 >Emitted(14, 17) Source(19, 76) + SourceIndex(0)
---
>>> var _b = _a === void 0 ? [-1, "name", "skill"] : _a, _c = _b[0], numberA3 = _c === void 0 ? -1 : _c, robotAInfo = _b.slice(1);
1->^^^^^^^^
2 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
3 > ^^
4 > ^^^^^^^^^^
5 > ^^
6 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
7 > ^^
8 > ^^^^^^^^^^^^^^^^^^^^^^^^
1->
2 > [numberA3 = -1, ...robotAInfo]: Robot = [-1, "name", "skill"]
3 >
4 > numberA3 = -1
5 >
6 > numberA3 = -1
7 > ,
8 > ...robotAInfo
1->Emitted(15, 9) Source(19, 15) + SourceIndex(0)
2 >Emitted(15, 56) Source(19, 76) + SourceIndex(0)
3 >Emitted(15, 58) Source(19, 16) + SourceIndex(0)
4 >Emitted(15, 68) Source(19, 29) + SourceIndex(0)
5 >Emitted(15, 70) Source(19, 16) + SourceIndex(0)
6 >Emitted(15, 104) Source(19, 29) + SourceIndex(0)
7 >Emitted(15, 106) Source(19, 31) + SourceIndex(0)
8 >Emitted(15, 130) Source(19, 44) + SourceIndex(0)
---
>>> console.log(robotAInfo);
1 >^^^^
2 > ^^^^^^^
3 > ^
4 > ^^^
5 > ^
6 > ^^^^^^^^^^
7 > ^
8 > ^
1 >]: Robot = [-1, "name", "skill"]) {
>
2 > console
3 > .
4 > log
5 > (
6 > robotAInfo
7 > )
8 > ;
1 >Emitted(16, 5) Source(20, 5) + SourceIndex(0)
2 >Emitted(16, 12) Source(20, 12) + SourceIndex(0)
3 >Emitted(16, 13) Source(20, 13) + SourceIndex(0)
4 >Emitted(16, 16) Source(20, 16) + SourceIndex(0)
5 >Emitted(16, 17) Source(20, 17) + SourceIndex(0)
6 >Emitted(16, 27) Source(20, 27) + SourceIndex(0)
7 >Emitted(16, 28) Source(20, 28) + SourceIndex(0)
8 >Emitted(16, 29) Source(20, 29) + SourceIndex(0)
---
>>>}
1 >
2 >^
3 > ^^^^^^^^^^^^^->
1 >
>
2 >}
1 >Emitted(17, 1) Source(21, 1) + SourceIndex(0)
2 >Emitted(17, 2) Source(21, 2) + SourceIndex(0)
---
>>>foo1(robotA);
1->
2 >^^^^
3 > ^
4 > ^^^^^^
5 > ^
6 > ^
7 > ^^^^^^^^^^^^^^^^^^^^^->
1->
>
>
2 >foo1
3 > (
4 > robotA
5 > )
6 > ;
1->Emitted(18, 1) Source(23, 1) + SourceIndex(0)
2 >Emitted(18, 5) Source(23, 5) + SourceIndex(0)
3 >Emitted(18, 6) Source(23, 6) + SourceIndex(0)
4 >Emitted(18, 12) Source(23, 12) + SourceIndex(0)
5 >Emitted(18, 13) Source(23, 13) + SourceIndex(0)
6 >Emitted(18, 14) Source(23, 14) + SourceIndex(0)
---
>>>foo1([2, "trimmer", "trimming"]);
1->
2 >^^^^
3 > ^
4 > ^
5 > ^
6 > ^^
7 > ^^^^^^^^^
8 > ^^
9 > ^^^^^^^^^^
10> ^
11> ^
12> ^
1->
>
2 >foo1
3 > (
4 > [
5 > 2
6 > ,
7 > "trimmer"
8 > ,
9 > "trimming"
10> ]
11> )
12> ;
1->Emitted(19, 1) Source(24, 1) + SourceIndex(0)
2 >Emitted(19, 5) Source(24, 5) + SourceIndex(0)
3 >Emitted(19, 6) Source(24, 6) + SourceIndex(0)
4 >Emitted(19, 7) Source(24, 7) + SourceIndex(0)
5 >Emitted(19, 8) Source(24, 8) + SourceIndex(0)
6 >Emitted(19, 10) Source(24, 10) + SourceIndex(0)
7 >Emitted(19, 19) Source(24, 19) + SourceIndex(0)
8 >Emitted(19, 21) Source(24, 21) + SourceIndex(0)
9 >Emitted(19, 31) Source(24, 31) + SourceIndex(0)
10>Emitted(19, 32) Source(24, 32) + SourceIndex(0)
11>Emitted(19, 33) Source(24, 33) + SourceIndex(0)
12>Emitted(19, 34) Source(24, 34) + SourceIndex(0)
---
>>>foo2(robotA);
1 >
2 >^^^^
3 > ^
4 > ^^^^^^
5 > ^
6 > ^
7 > ^^^^^^^^^^^^^^^^^^^^^->
1 >
>
>
2 >foo2
3 > (
4 > robotA
5 > )
6 > ;
1 >Emitted(20, 1) Source(26, 1) + SourceIndex(0)
2 >Emitted(20, 5) Source(26, 5) + SourceIndex(0)
3 >Emitted(20, 6) Source(26, 6) + SourceIndex(0)
4 >Emitted(20, 12) Source(26, 12) + SourceIndex(0)
5 >Emitted(20, 13) Source(26, 13) + SourceIndex(0)
6 >Emitted(20, 14) Source(26, 14) + SourceIndex(0)
---
>>>foo2([2, "trimmer", "trimming"]);
1->
2 >^^^^
3 > ^
4 > ^
5 > ^
6 > ^^
7 > ^^^^^^^^^
8 > ^^
9 > ^^^^^^^^^^
10> ^
11> ^
12> ^
1->
>
2 >foo2
3 > (
4 > [
5 > 2
6 > ,
7 > "trimmer"
8 > ,
9 > "trimming"
10> ]
11> )
12> ;
1->Emitted(21, 1) Source(27, 1) + SourceIndex(0)
2 >Emitted(21, 5) Source(27, 5) + SourceIndex(0)
3 >Emitted(21, 6) Source(27, 6) + SourceIndex(0)
4 >Emitted(21, 7) Source(27, 7) + SourceIndex(0)
5 >Emitted(21, 8) Source(27, 8) + SourceIndex(0)
6 >Emitted(21, 10) Source(27, 10) + SourceIndex(0)
7 >Emitted(21, 19) Source(27, 19) + SourceIndex(0)
8 >Emitted(21, 21) Source(27, 21) + SourceIndex(0)
9 >Emitted(21, 31) Source(27, 31) + SourceIndex(0)
10>Emitted(21, 32) Source(27, 32) + SourceIndex(0)
11>Emitted(21, 33) Source(27, 33) + SourceIndex(0)
12>Emitted(21, 34) Source(27, 34) + SourceIndex(0)
---
>>>foo3(robotA);
1 >
2 >^^^^
3 > ^
4 > ^^^^^^
5 > ^
6 > ^
7 > ^^^^^^^^^^^^^^^^^^^^^->
1 >
>
>
2 >foo3
3 > (
4 > robotA
5 > )
6 > ;
1 >Emitted(22, 1) Source(29, 1) + SourceIndex(0)
2 >Emitted(22, 5) Source(29, 5) + SourceIndex(0)
3 >Emitted(22, 6) Source(29, 6) + SourceIndex(0)
4 >Emitted(22, 12) Source(29, 12) + SourceIndex(0)
5 >Emitted(22, 13) Source(29, 13) + SourceIndex(0)
6 >Emitted(22, 14) Source(29, 14) + SourceIndex(0)
---
>>>foo3([2, "trimmer", "trimming"]);
1->
2 >^^^^
3 > ^
4 > ^
5 > ^
6 > ^^
7 > ^^^^^^^^^
8 > ^^
9 > ^^^^^^^^^^
10> ^
11> ^
12> ^
1->
>
2 >foo3
3 > (
4 > [
5 > 2
6 > ,
7 > "trimmer"
8 > ,
9 > "trimming"
10> ]
11> )
12> ;
1->Emitted(23, 1) Source(30, 1) + SourceIndex(0)
2 >Emitted(23, 5) Source(30, 5) + SourceIndex(0)
3 >Emitted(23, 6) Source(30, 6) + SourceIndex(0)
4 >Emitted(23, 7) Source(30, 7) + SourceIndex(0)
5 >Emitted(23, 8) Source(30, 8) + SourceIndex(0)
6 >Emitted(23, 10) Source(30, 10) + SourceIndex(0)
7 >Emitted(23, 19) Source(30, 19) + SourceIndex(0)
8 >Emitted(23, 21) Source(30, 21) + SourceIndex(0)
9 >Emitted(23, 31) Source(30, 31) + SourceIndex(0)
10>Emitted(23, 32) Source(30, 32) + SourceIndex(0)
11>Emitted(23, 33) Source(30, 33) + SourceIndex(0)
12>Emitted(23, 34) Source(30, 34) + SourceIndex(0)
---
>>>foo4(robotA);
1 >
2 >^^^^
3 > ^
4 > ^^^^^^
5 > ^
6 > ^
7 > ^^^^^^^^^^^^^^^^^^^^^->
1 >
>
>
2 >foo4
3 > (
4 > robotA
5 > )
6 > ;
1 >Emitted(24, 1) Source(32, 1) + SourceIndex(0)
2 >Emitted(24, 5) Source(32, 5) + SourceIndex(0)
3 >Emitted(24, 6) Source(32, 6) + SourceIndex(0)
4 >Emitted(24, 12) Source(32, 12) + SourceIndex(0)
5 >Emitted(24, 13) Source(32, 13) + SourceIndex(0)
6 >Emitted(24, 14) Source(32, 14) + SourceIndex(0)
---
>>>foo4([2, "trimmer", "trimming"]);
1->
2 >^^^^
3 > ^
4 > ^
5 > ^
6 > ^^
7 > ^^^^^^^^^
8 > ^^
9 > ^^^^^^^^^^
10> ^
11> ^
12> ^
13> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^->
1->
>
2 >foo4
3 > (
4 > [
5 > 2
6 > ,
7 > "trimmer"
8 > ,
9 > "trimming"
10> ]
11> )
12> ;
1->Emitted(25, 1) Source(33, 1) + SourceIndex(0)
2 >Emitted(25, 5) Source(33, 5) + SourceIndex(0)
3 >Emitted(25, 6) Source(33, 6) + SourceIndex(0)
4 >Emitted(25, 7) Source(33, 7) + SourceIndex(0)
5 >Emitted(25, 8) Source(33, 8) + SourceIndex(0)
6 >Emitted(25, 10) Source(33, 10) + SourceIndex(0)
7 >Emitted(25, 19) Source(33, 19) + SourceIndex(0)
8 >Emitted(25, 21) Source(33, 21) + SourceIndex(0)
9 >Emitted(25, 31) Source(33, 31) + SourceIndex(0)
10>Emitted(25, 32) Source(33, 32) + SourceIndex(0)
11>Emitted(25, 33) Source(33, 33) + SourceIndex(0)
12>Emitted(25, 34) Source(33, 34) + SourceIndex(0)
---
>>>//# sourceMappingURL=sourceMapValidationDestructuringParametertArrayBindingPatternDefaultValues.js.map

View File

@@ -0,0 +1,94 @@
=== tests/cases/compiler/sourceMapValidationDestructuringParametertArrayBindingPatternDefaultValues.ts ===
declare var console: {
>console : Symbol(console, Decl(sourceMapValidationDestructuringParametertArrayBindingPatternDefaultValues.ts, 0, 11))
log(msg: any): void;
>log : Symbol(log, Decl(sourceMapValidationDestructuringParametertArrayBindingPatternDefaultValues.ts, 0, 22))
>msg : Symbol(msg, Decl(sourceMapValidationDestructuringParametertArrayBindingPatternDefaultValues.ts, 1, 8))
}
type Robot = [number, string, string];
>Robot : Symbol(Robot, Decl(sourceMapValidationDestructuringParametertArrayBindingPatternDefaultValues.ts, 2, 1))
var robotA: Robot = [1, "mower", "mowing"];
>robotA : Symbol(robotA, Decl(sourceMapValidationDestructuringParametertArrayBindingPatternDefaultValues.ts, 4, 3))
>Robot : Symbol(Robot, Decl(sourceMapValidationDestructuringParametertArrayBindingPatternDefaultValues.ts, 2, 1))
function foo1([, nameA = "noName"]: Robot = [-1, "name", "skill"]) {
>foo1 : Symbol(foo1, Decl(sourceMapValidationDestructuringParametertArrayBindingPatternDefaultValues.ts, 4, 43))
>nameA : Symbol(nameA, Decl(sourceMapValidationDestructuringParametertArrayBindingPatternDefaultValues.ts, 6, 16))
>Robot : Symbol(Robot, Decl(sourceMapValidationDestructuringParametertArrayBindingPatternDefaultValues.ts, 2, 1))
console.log(nameA);
>console.log : Symbol(log, Decl(sourceMapValidationDestructuringParametertArrayBindingPatternDefaultValues.ts, 0, 22))
>console : Symbol(console, Decl(sourceMapValidationDestructuringParametertArrayBindingPatternDefaultValues.ts, 0, 11))
>log : Symbol(log, Decl(sourceMapValidationDestructuringParametertArrayBindingPatternDefaultValues.ts, 0, 22))
>nameA : Symbol(nameA, Decl(sourceMapValidationDestructuringParametertArrayBindingPatternDefaultValues.ts, 6, 16))
}
function foo2([numberB = -1]: Robot = [-1, "name", "skill"]) {
>foo2 : Symbol(foo2, Decl(sourceMapValidationDestructuringParametertArrayBindingPatternDefaultValues.ts, 8, 1))
>numberB : Symbol(numberB, Decl(sourceMapValidationDestructuringParametertArrayBindingPatternDefaultValues.ts, 10, 15))
>Robot : Symbol(Robot, Decl(sourceMapValidationDestructuringParametertArrayBindingPatternDefaultValues.ts, 2, 1))
console.log(numberB);
>console.log : Symbol(log, Decl(sourceMapValidationDestructuringParametertArrayBindingPatternDefaultValues.ts, 0, 22))
>console : Symbol(console, Decl(sourceMapValidationDestructuringParametertArrayBindingPatternDefaultValues.ts, 0, 11))
>log : Symbol(log, Decl(sourceMapValidationDestructuringParametertArrayBindingPatternDefaultValues.ts, 0, 22))
>numberB : Symbol(numberB, Decl(sourceMapValidationDestructuringParametertArrayBindingPatternDefaultValues.ts, 10, 15))
}
function foo3([numberA2 = -1, nameA2 = "name", skillA2 = "skill"]: Robot = [-1, "name", "skill"]) {
>foo3 : Symbol(foo3, Decl(sourceMapValidationDestructuringParametertArrayBindingPatternDefaultValues.ts, 12, 1))
>numberA2 : Symbol(numberA2, Decl(sourceMapValidationDestructuringParametertArrayBindingPatternDefaultValues.ts, 14, 15))
>nameA2 : Symbol(nameA2, Decl(sourceMapValidationDestructuringParametertArrayBindingPatternDefaultValues.ts, 14, 29))
>skillA2 : Symbol(skillA2, Decl(sourceMapValidationDestructuringParametertArrayBindingPatternDefaultValues.ts, 14, 46))
>Robot : Symbol(Robot, Decl(sourceMapValidationDestructuringParametertArrayBindingPatternDefaultValues.ts, 2, 1))
console.log(nameA2);
>console.log : Symbol(log, Decl(sourceMapValidationDestructuringParametertArrayBindingPatternDefaultValues.ts, 0, 22))
>console : Symbol(console, Decl(sourceMapValidationDestructuringParametertArrayBindingPatternDefaultValues.ts, 0, 11))
>log : Symbol(log, Decl(sourceMapValidationDestructuringParametertArrayBindingPatternDefaultValues.ts, 0, 22))
>nameA2 : Symbol(nameA2, Decl(sourceMapValidationDestructuringParametertArrayBindingPatternDefaultValues.ts, 14, 29))
}
function foo4([numberA3 = -1, ...robotAInfo]: Robot = [-1, "name", "skill"]) {
>foo4 : Symbol(foo4, Decl(sourceMapValidationDestructuringParametertArrayBindingPatternDefaultValues.ts, 16, 1))
>numberA3 : Symbol(numberA3, Decl(sourceMapValidationDestructuringParametertArrayBindingPatternDefaultValues.ts, 18, 15))
>robotAInfo : Symbol(robotAInfo, Decl(sourceMapValidationDestructuringParametertArrayBindingPatternDefaultValues.ts, 18, 29))
>Robot : Symbol(Robot, Decl(sourceMapValidationDestructuringParametertArrayBindingPatternDefaultValues.ts, 2, 1))
console.log(robotAInfo);
>console.log : Symbol(log, Decl(sourceMapValidationDestructuringParametertArrayBindingPatternDefaultValues.ts, 0, 22))
>console : Symbol(console, Decl(sourceMapValidationDestructuringParametertArrayBindingPatternDefaultValues.ts, 0, 11))
>log : Symbol(log, Decl(sourceMapValidationDestructuringParametertArrayBindingPatternDefaultValues.ts, 0, 22))
>robotAInfo : Symbol(robotAInfo, Decl(sourceMapValidationDestructuringParametertArrayBindingPatternDefaultValues.ts, 18, 29))
}
foo1(robotA);
>foo1 : Symbol(foo1, Decl(sourceMapValidationDestructuringParametertArrayBindingPatternDefaultValues.ts, 4, 43))
>robotA : Symbol(robotA, Decl(sourceMapValidationDestructuringParametertArrayBindingPatternDefaultValues.ts, 4, 3))
foo1([2, "trimmer", "trimming"]);
>foo1 : Symbol(foo1, Decl(sourceMapValidationDestructuringParametertArrayBindingPatternDefaultValues.ts, 4, 43))
foo2(robotA);
>foo2 : Symbol(foo2, Decl(sourceMapValidationDestructuringParametertArrayBindingPatternDefaultValues.ts, 8, 1))
>robotA : Symbol(robotA, Decl(sourceMapValidationDestructuringParametertArrayBindingPatternDefaultValues.ts, 4, 3))
foo2([2, "trimmer", "trimming"]);
>foo2 : Symbol(foo2, Decl(sourceMapValidationDestructuringParametertArrayBindingPatternDefaultValues.ts, 8, 1))
foo3(robotA);
>foo3 : Symbol(foo3, Decl(sourceMapValidationDestructuringParametertArrayBindingPatternDefaultValues.ts, 12, 1))
>robotA : Symbol(robotA, Decl(sourceMapValidationDestructuringParametertArrayBindingPatternDefaultValues.ts, 4, 3))
foo3([2, "trimmer", "trimming"]);
>foo3 : Symbol(foo3, Decl(sourceMapValidationDestructuringParametertArrayBindingPatternDefaultValues.ts, 12, 1))
foo4(robotA);
>foo4 : Symbol(foo4, Decl(sourceMapValidationDestructuringParametertArrayBindingPatternDefaultValues.ts, 16, 1))
>robotA : Symbol(robotA, Decl(sourceMapValidationDestructuringParametertArrayBindingPatternDefaultValues.ts, 4, 3))
foo4([2, "trimmer", "trimming"]);
>foo4 : Symbol(foo4, Decl(sourceMapValidationDestructuringParametertArrayBindingPatternDefaultValues.ts, 16, 1))

View File

@@ -0,0 +1,156 @@
=== tests/cases/compiler/sourceMapValidationDestructuringParametertArrayBindingPatternDefaultValues.ts ===
declare var console: {
>console : { log(msg: any): void; }
log(msg: any): void;
>log : (msg: any) => void
>msg : any
}
type Robot = [number, string, string];
>Robot : [number, string, string]
var robotA: Robot = [1, "mower", "mowing"];
>robotA : [number, string, string]
>Robot : [number, string, string]
>[1, "mower", "mowing"] : [number, string, string]
>1 : number
>"mower" : string
>"mowing" : string
function foo1([, nameA = "noName"]: Robot = [-1, "name", "skill"]) {
>foo1 : ([, nameA = "noName"]?: [number, string, string]) => void
> : undefined
>nameA : string
>"noName" : string
>Robot : [number, string, string]
>[-1, "name", "skill"] : [number, string, string]
>-1 : number
>1 : number
>"name" : string
>"skill" : string
console.log(nameA);
>console.log(nameA) : void
>console.log : (msg: any) => void
>console : { log(msg: any): void; }
>log : (msg: any) => void
>nameA : string
}
function foo2([numberB = -1]: Robot = [-1, "name", "skill"]) {
>foo2 : ([numberB = -1]?: [number, string, string]) => void
>numberB : number
>-1 : number
>1 : number
>Robot : [number, string, string]
>[-1, "name", "skill"] : [number, string, string]
>-1 : number
>1 : number
>"name" : string
>"skill" : string
console.log(numberB);
>console.log(numberB) : void
>console.log : (msg: any) => void
>console : { log(msg: any): void; }
>log : (msg: any) => void
>numberB : number
}
function foo3([numberA2 = -1, nameA2 = "name", skillA2 = "skill"]: Robot = [-1, "name", "skill"]) {
>foo3 : ([numberA2 = -1, nameA2 = "name", skillA2 = "skill"]?: [number, string, string]) => void
>numberA2 : number
>-1 : number
>1 : number
>nameA2 : string
>"name" : string
>skillA2 : string
>"skill" : string
>Robot : [number, string, string]
>[-1, "name", "skill"] : [number, string, string]
>-1 : number
>1 : number
>"name" : string
>"skill" : string
console.log(nameA2);
>console.log(nameA2) : void
>console.log : (msg: any) => void
>console : { log(msg: any): void; }
>log : (msg: any) => void
>nameA2 : string
}
function foo4([numberA3 = -1, ...robotAInfo]: Robot = [-1, "name", "skill"]) {
>foo4 : ([numberA3 = -1, ...robotAInfo]?: [number, string, string]) => void
>numberA3 : number
>-1 : number
>1 : number
>robotAInfo : (number | string)[]
>Robot : [number, string, string]
>[-1, "name", "skill"] : [number, string, string]
>-1 : number
>1 : number
>"name" : string
>"skill" : string
console.log(robotAInfo);
>console.log(robotAInfo) : void
>console.log : (msg: any) => void
>console : { log(msg: any): void; }
>log : (msg: any) => void
>robotAInfo : (number | string)[]
}
foo1(robotA);
>foo1(robotA) : void
>foo1 : ([, nameA = "noName"]?: [number, string, string]) => void
>robotA : [number, string, string]
foo1([2, "trimmer", "trimming"]);
>foo1([2, "trimmer", "trimming"]) : void
>foo1 : ([, nameA = "noName"]?: [number, string, string]) => void
>[2, "trimmer", "trimming"] : [number, string, string]
>2 : number
>"trimmer" : string
>"trimming" : string
foo2(robotA);
>foo2(robotA) : void
>foo2 : ([numberB = -1]?: [number, string, string]) => void
>robotA : [number, string, string]
foo2([2, "trimmer", "trimming"]);
>foo2([2, "trimmer", "trimming"]) : void
>foo2 : ([numberB = -1]?: [number, string, string]) => void
>[2, "trimmer", "trimming"] : [number, string, string]
>2 : number
>"trimmer" : string
>"trimming" : string
foo3(robotA);
>foo3(robotA) : void
>foo3 : ([numberA2 = -1, nameA2 = "name", skillA2 = "skill"]?: [number, string, string]) => void
>robotA : [number, string, string]
foo3([2, "trimmer", "trimming"]);
>foo3([2, "trimmer", "trimming"]) : void
>foo3 : ([numberA2 = -1, nameA2 = "name", skillA2 = "skill"]?: [number, string, string]) => void
>[2, "trimmer", "trimming"] : [number, string, string]
>2 : number
>"trimmer" : string
>"trimming" : string
foo4(robotA);
>foo4(robotA) : void
>foo4 : ([numberA3 = -1, ...robotAInfo]?: [number, string, string]) => void
>robotA : [number, string, string]
foo4([2, "trimmer", "trimming"]);
>foo4([2, "trimmer", "trimming"]) : void
>foo4 : ([numberA3 = -1, ...robotAInfo]?: [number, string, string]) => void
>[2, "trimmer", "trimming"] : [number, string, string]
>2 : number
>"trimmer" : string
>"trimming" : string

View File

@@ -0,0 +1,52 @@
//// [sourceMapValidationDestructuringParametertArrayBindingPatternDefaultValues2.ts]
declare var console: {
log(msg: any): void;
}
type Robot = [string, string[]];
var robotA: Robot = ["trimmer", ["trimming", "edging"]];
function foo1([, skillA = ["noSkill", "noSkill"]]: Robot= ["name", ["skill1", "skill2"]]) {
console.log(skillA);
}
function foo2([nameMB = "noName"]: Robot = ["name", ["skill1", "skill2"]]) {
console.log(nameMB);
}
function foo3([nameMA = "noName", [
primarySkillA = "primary",
secondarySkillA = "secondary"
] = ["noSkill", "noSkill"]]: Robot) {
console.log(nameMA);
}
foo1(robotA);
foo1(["roomba", ["vaccum", "mopping"]]);
foo2(robotA);
foo2(["roomba", ["vaccum", "mopping"]]);
foo3(robotA);
foo3(["roomba", ["vaccum", "mopping"]]);
//// [sourceMapValidationDestructuringParametertArrayBindingPatternDefaultValues2.js]
var robotA = ["trimmer", ["trimming", "edging"]];
function foo1(_a) {
var _b = _a === void 0 ? ["name", ["skill1", "skill2"]] : _a, _c = _b[1], skillA = _c === void 0 ? ["noSkill", "noSkill"] : _c;
console.log(skillA);
}
function foo2(_a) {
var _b = (_a === void 0 ? ["name", ["skill1", "skill2"]] : _a)[0], nameMB = _b === void 0 ? "noName" : _b;
console.log(nameMB);
}
function foo3(_a) {
var _b = _a[0], nameMA = _b === void 0 ? "noName" : _b, _c = _a[1], _d = _c === void 0 ? ["noSkill", "noSkill"] : _c, _e = _d[0], primarySkillA = _e === void 0 ? "primary" : _e, _f = _d[1], secondarySkillA = _f === void 0 ? "secondary" : _f;
console.log(nameMA);
}
foo1(robotA);
foo1(["roomba", ["vaccum", "mopping"]]);
foo2(robotA);
foo2(["roomba", ["vaccum", "mopping"]]);
foo3(robotA);
foo3(["roomba", ["vaccum", "mopping"]]);
//# sourceMappingURL=sourceMapValidationDestructuringParametertArrayBindingPatternDefaultValues2.js.map

View File

@@ -0,0 +1,2 @@
//// [sourceMapValidationDestructuringParametertArrayBindingPatternDefaultValues2.js.map]
{"version":3,"file":"sourceMapValidationDestructuringParametertArrayBindingPatternDefaultValues2.js","sourceRoot":"","sources":["sourceMapValidationDestructuringParametertArrayBindingPatternDefaultValues2.ts"],"names":[],"mappings":"AAIA,IAAI,MAAM,GAAU,CAAC,SAAS,EAAE,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC,CAAC;AAExD,cAAc,EAA0E;QAA1E,wDAA0E,EAAvE,UAA+B,EAA/B,oDAA+B;IAC5C,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AACxB,CAAC;AAED,cAAc,EAA2D;QAA1D,6DAAiB,EAAjB,sCAAiB;IAC5B,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AACxB,CAAC;AAED,cAAc,EAGoB;QAHnB,UAAiB,EAAjB,sCAAiB,EAAE,UAGR,EAHQ,gDAGR,EAFtB,UAAyB,EAAzB,8CAAyB,EACzB,UAA6B,EAA7B,kDAA6B;IAE7B,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AACxB,CAAC;AAED,IAAI,CAAC,MAAM,CAAC,CAAC;AACb,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC;AAExC,IAAI,CAAC,MAAM,CAAC,CAAC;AACb,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC;AAExC,IAAI,CAAC,MAAM,CAAC,CAAC;AACb,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC"}

View File

@@ -0,0 +1,512 @@
===================================================================
JsFile: sourceMapValidationDestructuringParametertArrayBindingPatternDefaultValues2.js
mapUrl: sourceMapValidationDestructuringParametertArrayBindingPatternDefaultValues2.js.map
sourceRoot:
sources: sourceMapValidationDestructuringParametertArrayBindingPatternDefaultValues2.ts
===================================================================
-------------------------------------------------------------------
emittedFile:tests/cases/compiler/sourceMapValidationDestructuringParametertArrayBindingPatternDefaultValues2.js
sourceFile:sourceMapValidationDestructuringParametertArrayBindingPatternDefaultValues2.ts
-------------------------------------------------------------------
>>>var robotA = ["trimmer", ["trimming", "edging"]];
1 >
2 >^^^^
3 > ^^^^^^
4 > ^^^
5 > ^
6 > ^^^^^^^^^
7 > ^^
8 > ^
9 > ^^^^^^^^^^
10> ^^
11> ^^^^^^^^
12> ^
13> ^
14> ^
1 >declare var console: {
> log(msg: any): void;
>}
>type Robot = [string, string[]];
>
2 >var
3 > robotA
4 > : Robot =
5 > [
6 > "trimmer"
7 > ,
8 > [
9 > "trimming"
10> ,
11> "edging"
12> ]
13> ]
14> ;
1 >Emitted(1, 1) Source(5, 1) + SourceIndex(0)
2 >Emitted(1, 5) Source(5, 5) + SourceIndex(0)
3 >Emitted(1, 11) Source(5, 11) + SourceIndex(0)
4 >Emitted(1, 14) Source(5, 21) + SourceIndex(0)
5 >Emitted(1, 15) Source(5, 22) + SourceIndex(0)
6 >Emitted(1, 24) Source(5, 31) + SourceIndex(0)
7 >Emitted(1, 26) Source(5, 33) + SourceIndex(0)
8 >Emitted(1, 27) Source(5, 34) + SourceIndex(0)
9 >Emitted(1, 37) Source(5, 44) + SourceIndex(0)
10>Emitted(1, 39) Source(5, 46) + SourceIndex(0)
11>Emitted(1, 47) Source(5, 54) + SourceIndex(0)
12>Emitted(1, 48) Source(5, 55) + SourceIndex(0)
13>Emitted(1, 49) Source(5, 56) + SourceIndex(0)
14>Emitted(1, 50) Source(5, 57) + SourceIndex(0)
---
>>>function foo1(_a) {
1 >
2 >^^^^^^^^^^^^^^
3 > ^^
4 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^->
1 >
>
>
2 >function foo1(
3 > [, skillA = ["noSkill", "noSkill"]]: Robot= ["name", ["skill1", "skill2"]]
1 >Emitted(2, 1) Source(7, 1) + SourceIndex(0)
2 >Emitted(2, 15) Source(7, 15) + SourceIndex(0)
3 >Emitted(2, 17) Source(7, 89) + SourceIndex(0)
---
>>> var _b = _a === void 0 ? ["name", ["skill1", "skill2"]] : _a, _c = _b[1], skillA = _c === void 0 ? ["noSkill", "noSkill"] : _c;
1->^^^^^^^^
2 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
3 > ^^
4 > ^^^^^^^^^^
5 > ^^
6 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
1->
2 > [, skillA = ["noSkill", "noSkill"]]: Robot= ["name", ["skill1", "skill2"]]
3 >
4 > skillA = ["noSkill", "noSkill"]
5 >
6 > skillA = ["noSkill", "noSkill"]
1->Emitted(3, 9) Source(7, 15) + SourceIndex(0)
2 >Emitted(3, 65) Source(7, 89) + SourceIndex(0)
3 >Emitted(3, 67) Source(7, 18) + SourceIndex(0)
4 >Emitted(3, 77) Source(7, 49) + SourceIndex(0)
5 >Emitted(3, 79) Source(7, 18) + SourceIndex(0)
6 >Emitted(3, 131) Source(7, 49) + SourceIndex(0)
---
>>> console.log(skillA);
1 >^^^^
2 > ^^^^^^^
3 > ^
4 > ^^^
5 > ^
6 > ^^^^^^
7 > ^
8 > ^
1 >]: Robot= ["name", ["skill1", "skill2"]]) {
>
2 > console
3 > .
4 > log
5 > (
6 > skillA
7 > )
8 > ;
1 >Emitted(4, 5) Source(8, 5) + SourceIndex(0)
2 >Emitted(4, 12) Source(8, 12) + SourceIndex(0)
3 >Emitted(4, 13) Source(8, 13) + SourceIndex(0)
4 >Emitted(4, 16) Source(8, 16) + SourceIndex(0)
5 >Emitted(4, 17) Source(8, 17) + SourceIndex(0)
6 >Emitted(4, 23) Source(8, 23) + SourceIndex(0)
7 >Emitted(4, 24) Source(8, 24) + SourceIndex(0)
8 >Emitted(4, 25) Source(8, 25) + SourceIndex(0)
---
>>>}
1 >
2 >^
3 > ^^^^^^^^^^^^^^^^^^^->
1 >
>
2 >}
1 >Emitted(5, 1) Source(9, 1) + SourceIndex(0)
2 >Emitted(5, 2) Source(9, 2) + SourceIndex(0)
---
>>>function foo2(_a) {
1->
2 >^^^^^^^^^^^^^^
3 > ^^
4 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^->
1->
>
>
2 >function foo2(
3 > [nameMB = "noName"]: Robot = ["name", ["skill1", "skill2"]]
1->Emitted(6, 1) Source(11, 1) + SourceIndex(0)
2 >Emitted(6, 15) Source(11, 15) + SourceIndex(0)
3 >Emitted(6, 17) Source(11, 74) + SourceIndex(0)
---
>>> var _b = (_a === void 0 ? ["name", ["skill1", "skill2"]] : _a)[0], nameMB = _b === void 0 ? "noName" : _b;
1->^^^^^^^^
2 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
3 > ^^
4 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
1->
2 > nameMB = "noName"
3 >
4 > nameMB = "noName"
1->Emitted(7, 9) Source(11, 16) + SourceIndex(0)
2 >Emitted(7, 70) Source(11, 33) + SourceIndex(0)
3 >Emitted(7, 72) Source(11, 16) + SourceIndex(0)
4 >Emitted(7, 110) Source(11, 33) + SourceIndex(0)
---
>>> console.log(nameMB);
1 >^^^^
2 > ^^^^^^^
3 > ^
4 > ^^^
5 > ^
6 > ^^^^^^
7 > ^
8 > ^
1 >]: Robot = ["name", ["skill1", "skill2"]]) {
>
2 > console
3 > .
4 > log
5 > (
6 > nameMB
7 > )
8 > ;
1 >Emitted(8, 5) Source(12, 5) + SourceIndex(0)
2 >Emitted(8, 12) Source(12, 12) + SourceIndex(0)
3 >Emitted(8, 13) Source(12, 13) + SourceIndex(0)
4 >Emitted(8, 16) Source(12, 16) + SourceIndex(0)
5 >Emitted(8, 17) Source(12, 17) + SourceIndex(0)
6 >Emitted(8, 23) Source(12, 23) + SourceIndex(0)
7 >Emitted(8, 24) Source(12, 24) + SourceIndex(0)
8 >Emitted(8, 25) Source(12, 25) + SourceIndex(0)
---
>>>}
1 >
2 >^
3 > ^^^^^^^^^^^^^^^^^^^->
1 >
>
2 >}
1 >Emitted(9, 1) Source(13, 1) + SourceIndex(0)
2 >Emitted(9, 2) Source(13, 2) + SourceIndex(0)
---
>>>function foo3(_a) {
1->
2 >^^^^^^^^^^^^^^
3 > ^^
4 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^->
1->
>
>
2 >function foo3(
3 > [nameMA = "noName", [
> primarySkillA = "primary",
> secondarySkillA = "secondary"
> ] = ["noSkill", "noSkill"]]: Robot
1->Emitted(10, 1) Source(15, 1) + SourceIndex(0)
2 >Emitted(10, 15) Source(15, 15) + SourceIndex(0)
3 >Emitted(10, 17) Source(18, 35) + SourceIndex(0)
---
>>> var _b = _a[0], nameMA = _b === void 0 ? "noName" : _b, _c = _a[1], _d = _c === void 0 ? ["noSkill", "noSkill"] : _c, _e = _d[0], primarySkillA = _e === void 0 ? "primary" : _e, _f = _d[1], secondarySkillA = _f === void 0 ? "secondary" : _f;
1->^^^^^^^^
2 > ^^^^^^^^^^
3 > ^^
4 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
5 > ^^
6 > ^^^^^^^^^^
7 > ^^
8 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
9 > ^^
10> ^^^^^^^^^^
11> ^^
12> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
13> ^^
14> ^^^^^^^^^^
15> ^^
16> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
1->
2 > nameMA = "noName"
3 >
4 > nameMA = "noName"
5 > ,
6 > [
> primarySkillA = "primary",
> secondarySkillA = "secondary"
> ] = ["noSkill", "noSkill"]
7 >
8 > [
> primarySkillA = "primary",
> secondarySkillA = "secondary"
> ] = ["noSkill", "noSkill"]
9 >
10> primarySkillA = "primary"
11>
12> primarySkillA = "primary"
13> ,
>
14> secondarySkillA = "secondary"
15>
16> secondarySkillA = "secondary"
1->Emitted(11, 9) Source(15, 16) + SourceIndex(0)
2 >Emitted(11, 19) Source(15, 33) + SourceIndex(0)
3 >Emitted(11, 21) Source(15, 16) + SourceIndex(0)
4 >Emitted(11, 59) Source(15, 33) + SourceIndex(0)
5 >Emitted(11, 61) Source(15, 35) + SourceIndex(0)
6 >Emitted(11, 71) Source(18, 27) + SourceIndex(0)
7 >Emitted(11, 73) Source(15, 35) + SourceIndex(0)
8 >Emitted(11, 121) Source(18, 27) + SourceIndex(0)
9 >Emitted(11, 123) Source(16, 5) + SourceIndex(0)
10>Emitted(11, 133) Source(16, 30) + SourceIndex(0)
11>Emitted(11, 135) Source(16, 5) + SourceIndex(0)
12>Emitted(11, 181) Source(16, 30) + SourceIndex(0)
13>Emitted(11, 183) Source(17, 5) + SourceIndex(0)
14>Emitted(11, 193) Source(17, 34) + SourceIndex(0)
15>Emitted(11, 195) Source(17, 5) + SourceIndex(0)
16>Emitted(11, 245) Source(17, 34) + SourceIndex(0)
---
>>> console.log(nameMA);
1 >^^^^
2 > ^^^^^^^
3 > ^
4 > ^^^
5 > ^
6 > ^^^^^^
7 > ^
8 > ^
1 >
>] = ["noSkill", "noSkill"]]: Robot) {
>
2 > console
3 > .
4 > log
5 > (
6 > nameMA
7 > )
8 > ;
1 >Emitted(12, 5) Source(19, 5) + SourceIndex(0)
2 >Emitted(12, 12) Source(19, 12) + SourceIndex(0)
3 >Emitted(12, 13) Source(19, 13) + SourceIndex(0)
4 >Emitted(12, 16) Source(19, 16) + SourceIndex(0)
5 >Emitted(12, 17) Source(19, 17) + SourceIndex(0)
6 >Emitted(12, 23) Source(19, 23) + SourceIndex(0)
7 >Emitted(12, 24) Source(19, 24) + SourceIndex(0)
8 >Emitted(12, 25) Source(19, 25) + SourceIndex(0)
---
>>>}
1 >
2 >^
3 > ^^^^^^^^^^^^^->
1 >
>
2 >}
1 >Emitted(13, 1) Source(20, 1) + SourceIndex(0)
2 >Emitted(13, 2) Source(20, 2) + SourceIndex(0)
---
>>>foo1(robotA);
1->
2 >^^^^
3 > ^
4 > ^^^^^^
5 > ^
6 > ^
7 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^->
1->
>
>
2 >foo1
3 > (
4 > robotA
5 > )
6 > ;
1->Emitted(14, 1) Source(22, 1) + SourceIndex(0)
2 >Emitted(14, 5) Source(22, 5) + SourceIndex(0)
3 >Emitted(14, 6) Source(22, 6) + SourceIndex(0)
4 >Emitted(14, 12) Source(22, 12) + SourceIndex(0)
5 >Emitted(14, 13) Source(22, 13) + SourceIndex(0)
6 >Emitted(14, 14) Source(22, 14) + SourceIndex(0)
---
>>>foo1(["roomba", ["vaccum", "mopping"]]);
1->
2 >^^^^
3 > ^
4 > ^
5 > ^^^^^^^^
6 > ^^
7 > ^
8 > ^^^^^^^^
9 > ^^
10> ^^^^^^^^^
11> ^
12> ^
13> ^
14> ^
1->
>
2 >foo1
3 > (
4 > [
5 > "roomba"
6 > ,
7 > [
8 > "vaccum"
9 > ,
10> "mopping"
11> ]
12> ]
13> )
14> ;
1->Emitted(15, 1) Source(23, 1) + SourceIndex(0)
2 >Emitted(15, 5) Source(23, 5) + SourceIndex(0)
3 >Emitted(15, 6) Source(23, 6) + SourceIndex(0)
4 >Emitted(15, 7) Source(23, 7) + SourceIndex(0)
5 >Emitted(15, 15) Source(23, 15) + SourceIndex(0)
6 >Emitted(15, 17) Source(23, 17) + SourceIndex(0)
7 >Emitted(15, 18) Source(23, 18) + SourceIndex(0)
8 >Emitted(15, 26) Source(23, 26) + SourceIndex(0)
9 >Emitted(15, 28) Source(23, 28) + SourceIndex(0)
10>Emitted(15, 37) Source(23, 37) + SourceIndex(0)
11>Emitted(15, 38) Source(23, 38) + SourceIndex(0)
12>Emitted(15, 39) Source(23, 39) + SourceIndex(0)
13>Emitted(15, 40) Source(23, 40) + SourceIndex(0)
14>Emitted(15, 41) Source(23, 41) + SourceIndex(0)
---
>>>foo2(robotA);
1 >
2 >^^^^
3 > ^
4 > ^^^^^^
5 > ^
6 > ^
7 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^->
1 >
>
>
2 >foo2
3 > (
4 > robotA
5 > )
6 > ;
1 >Emitted(16, 1) Source(25, 1) + SourceIndex(0)
2 >Emitted(16, 5) Source(25, 5) + SourceIndex(0)
3 >Emitted(16, 6) Source(25, 6) + SourceIndex(0)
4 >Emitted(16, 12) Source(25, 12) + SourceIndex(0)
5 >Emitted(16, 13) Source(25, 13) + SourceIndex(0)
6 >Emitted(16, 14) Source(25, 14) + SourceIndex(0)
---
>>>foo2(["roomba", ["vaccum", "mopping"]]);
1->
2 >^^^^
3 > ^
4 > ^
5 > ^^^^^^^^
6 > ^^
7 > ^
8 > ^^^^^^^^
9 > ^^
10> ^^^^^^^^^
11> ^
12> ^
13> ^
14> ^
1->
>
2 >foo2
3 > (
4 > [
5 > "roomba"
6 > ,
7 > [
8 > "vaccum"
9 > ,
10> "mopping"
11> ]
12> ]
13> )
14> ;
1->Emitted(17, 1) Source(26, 1) + SourceIndex(0)
2 >Emitted(17, 5) Source(26, 5) + SourceIndex(0)
3 >Emitted(17, 6) Source(26, 6) + SourceIndex(0)
4 >Emitted(17, 7) Source(26, 7) + SourceIndex(0)
5 >Emitted(17, 15) Source(26, 15) + SourceIndex(0)
6 >Emitted(17, 17) Source(26, 17) + SourceIndex(0)
7 >Emitted(17, 18) Source(26, 18) + SourceIndex(0)
8 >Emitted(17, 26) Source(26, 26) + SourceIndex(0)
9 >Emitted(17, 28) Source(26, 28) + SourceIndex(0)
10>Emitted(17, 37) Source(26, 37) + SourceIndex(0)
11>Emitted(17, 38) Source(26, 38) + SourceIndex(0)
12>Emitted(17, 39) Source(26, 39) + SourceIndex(0)
13>Emitted(17, 40) Source(26, 40) + SourceIndex(0)
14>Emitted(17, 41) Source(26, 41) + SourceIndex(0)
---
>>>foo3(robotA);
1 >
2 >^^^^
3 > ^
4 > ^^^^^^
5 > ^
6 > ^
7 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^->
1 >
>
>
2 >foo3
3 > (
4 > robotA
5 > )
6 > ;
1 >Emitted(18, 1) Source(28, 1) + SourceIndex(0)
2 >Emitted(18, 5) Source(28, 5) + SourceIndex(0)
3 >Emitted(18, 6) Source(28, 6) + SourceIndex(0)
4 >Emitted(18, 12) Source(28, 12) + SourceIndex(0)
5 >Emitted(18, 13) Source(28, 13) + SourceIndex(0)
6 >Emitted(18, 14) Source(28, 14) + SourceIndex(0)
---
>>>foo3(["roomba", ["vaccum", "mopping"]]);
1->
2 >^^^^
3 > ^
4 > ^
5 > ^^^^^^^^
6 > ^^
7 > ^
8 > ^^^^^^^^
9 > ^^
10> ^^^^^^^^^
11> ^
12> ^
13> ^
14> ^
15> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^->
1->
>
2 >foo3
3 > (
4 > [
5 > "roomba"
6 > ,
7 > [
8 > "vaccum"
9 > ,
10> "mopping"
11> ]
12> ]
13> )
14> ;
1->Emitted(19, 1) Source(29, 1) + SourceIndex(0)
2 >Emitted(19, 5) Source(29, 5) + SourceIndex(0)
3 >Emitted(19, 6) Source(29, 6) + SourceIndex(0)
4 >Emitted(19, 7) Source(29, 7) + SourceIndex(0)
5 >Emitted(19, 15) Source(29, 15) + SourceIndex(0)
6 >Emitted(19, 17) Source(29, 17) + SourceIndex(0)
7 >Emitted(19, 18) Source(29, 18) + SourceIndex(0)
8 >Emitted(19, 26) Source(29, 26) + SourceIndex(0)
9 >Emitted(19, 28) Source(29, 28) + SourceIndex(0)
10>Emitted(19, 37) Source(29, 37) + SourceIndex(0)
11>Emitted(19, 38) Source(29, 38) + SourceIndex(0)
12>Emitted(19, 39) Source(29, 39) + SourceIndex(0)
13>Emitted(19, 40) Source(29, 40) + SourceIndex(0)
14>Emitted(19, 41) Source(29, 41) + SourceIndex(0)
---
>>>//# sourceMappingURL=sourceMapValidationDestructuringParametertArrayBindingPatternDefaultValues2.js.map

View File

@@ -0,0 +1,80 @@
=== tests/cases/compiler/sourceMapValidationDestructuringParametertArrayBindingPatternDefaultValues2.ts ===
declare var console: {
>console : Symbol(console, Decl(sourceMapValidationDestructuringParametertArrayBindingPatternDefaultValues2.ts, 0, 11))
log(msg: any): void;
>log : Symbol(log, Decl(sourceMapValidationDestructuringParametertArrayBindingPatternDefaultValues2.ts, 0, 22))
>msg : Symbol(msg, Decl(sourceMapValidationDestructuringParametertArrayBindingPatternDefaultValues2.ts, 1, 8))
}
type Robot = [string, string[]];
>Robot : Symbol(Robot, Decl(sourceMapValidationDestructuringParametertArrayBindingPatternDefaultValues2.ts, 2, 1))
var robotA: Robot = ["trimmer", ["trimming", "edging"]];
>robotA : Symbol(robotA, Decl(sourceMapValidationDestructuringParametertArrayBindingPatternDefaultValues2.ts, 4, 3))
>Robot : Symbol(Robot, Decl(sourceMapValidationDestructuringParametertArrayBindingPatternDefaultValues2.ts, 2, 1))
function foo1([, skillA = ["noSkill", "noSkill"]]: Robot= ["name", ["skill1", "skill2"]]) {
>foo1 : Symbol(foo1, Decl(sourceMapValidationDestructuringParametertArrayBindingPatternDefaultValues2.ts, 4, 56))
>skillA : Symbol(skillA, Decl(sourceMapValidationDestructuringParametertArrayBindingPatternDefaultValues2.ts, 6, 16))
>Robot : Symbol(Robot, Decl(sourceMapValidationDestructuringParametertArrayBindingPatternDefaultValues2.ts, 2, 1))
console.log(skillA);
>console.log : Symbol(log, Decl(sourceMapValidationDestructuringParametertArrayBindingPatternDefaultValues2.ts, 0, 22))
>console : Symbol(console, Decl(sourceMapValidationDestructuringParametertArrayBindingPatternDefaultValues2.ts, 0, 11))
>log : Symbol(log, Decl(sourceMapValidationDestructuringParametertArrayBindingPatternDefaultValues2.ts, 0, 22))
>skillA : Symbol(skillA, Decl(sourceMapValidationDestructuringParametertArrayBindingPatternDefaultValues2.ts, 6, 16))
}
function foo2([nameMB = "noName"]: Robot = ["name", ["skill1", "skill2"]]) {
>foo2 : Symbol(foo2, Decl(sourceMapValidationDestructuringParametertArrayBindingPatternDefaultValues2.ts, 8, 1))
>nameMB : Symbol(nameMB, Decl(sourceMapValidationDestructuringParametertArrayBindingPatternDefaultValues2.ts, 10, 15))
>Robot : Symbol(Robot, Decl(sourceMapValidationDestructuringParametertArrayBindingPatternDefaultValues2.ts, 2, 1))
console.log(nameMB);
>console.log : Symbol(log, Decl(sourceMapValidationDestructuringParametertArrayBindingPatternDefaultValues2.ts, 0, 22))
>console : Symbol(console, Decl(sourceMapValidationDestructuringParametertArrayBindingPatternDefaultValues2.ts, 0, 11))
>log : Symbol(log, Decl(sourceMapValidationDestructuringParametertArrayBindingPatternDefaultValues2.ts, 0, 22))
>nameMB : Symbol(nameMB, Decl(sourceMapValidationDestructuringParametertArrayBindingPatternDefaultValues2.ts, 10, 15))
}
function foo3([nameMA = "noName", [
>foo3 : Symbol(foo3, Decl(sourceMapValidationDestructuringParametertArrayBindingPatternDefaultValues2.ts, 12, 1))
>nameMA : Symbol(nameMA, Decl(sourceMapValidationDestructuringParametertArrayBindingPatternDefaultValues2.ts, 14, 15))
primarySkillA = "primary",
>primarySkillA : Symbol(primarySkillA, Decl(sourceMapValidationDestructuringParametertArrayBindingPatternDefaultValues2.ts, 14, 35))
secondarySkillA = "secondary"
>secondarySkillA : Symbol(secondarySkillA, Decl(sourceMapValidationDestructuringParametertArrayBindingPatternDefaultValues2.ts, 15, 30))
] = ["noSkill", "noSkill"]]: Robot) {
>Robot : Symbol(Robot, Decl(sourceMapValidationDestructuringParametertArrayBindingPatternDefaultValues2.ts, 2, 1))
console.log(nameMA);
>console.log : Symbol(log, Decl(sourceMapValidationDestructuringParametertArrayBindingPatternDefaultValues2.ts, 0, 22))
>console : Symbol(console, Decl(sourceMapValidationDestructuringParametertArrayBindingPatternDefaultValues2.ts, 0, 11))
>log : Symbol(log, Decl(sourceMapValidationDestructuringParametertArrayBindingPatternDefaultValues2.ts, 0, 22))
>nameMA : Symbol(nameMA, Decl(sourceMapValidationDestructuringParametertArrayBindingPatternDefaultValues2.ts, 14, 15))
}
foo1(robotA);
>foo1 : Symbol(foo1, Decl(sourceMapValidationDestructuringParametertArrayBindingPatternDefaultValues2.ts, 4, 56))
>robotA : Symbol(robotA, Decl(sourceMapValidationDestructuringParametertArrayBindingPatternDefaultValues2.ts, 4, 3))
foo1(["roomba", ["vaccum", "mopping"]]);
>foo1 : Symbol(foo1, Decl(sourceMapValidationDestructuringParametertArrayBindingPatternDefaultValues2.ts, 4, 56))
foo2(robotA);
>foo2 : Symbol(foo2, Decl(sourceMapValidationDestructuringParametertArrayBindingPatternDefaultValues2.ts, 8, 1))
>robotA : Symbol(robotA, Decl(sourceMapValidationDestructuringParametertArrayBindingPatternDefaultValues2.ts, 4, 3))
foo2(["roomba", ["vaccum", "mopping"]]);
>foo2 : Symbol(foo2, Decl(sourceMapValidationDestructuringParametertArrayBindingPatternDefaultValues2.ts, 8, 1))
foo3(robotA);
>foo3 : Symbol(foo3, Decl(sourceMapValidationDestructuringParametertArrayBindingPatternDefaultValues2.ts, 12, 1))
>robotA : Symbol(robotA, Decl(sourceMapValidationDestructuringParametertArrayBindingPatternDefaultValues2.ts, 4, 3))
foo3(["roomba", ["vaccum", "mopping"]]);
>foo3 : Symbol(foo3, Decl(sourceMapValidationDestructuringParametertArrayBindingPatternDefaultValues2.ts, 12, 1))

View File

@@ -0,0 +1,139 @@
=== tests/cases/compiler/sourceMapValidationDestructuringParametertArrayBindingPatternDefaultValues2.ts ===
declare var console: {
>console : { log(msg: any): void; }
log(msg: any): void;
>log : (msg: any) => void
>msg : any
}
type Robot = [string, string[]];
>Robot : [string, string[]]
var robotA: Robot = ["trimmer", ["trimming", "edging"]];
>robotA : [string, string[]]
>Robot : [string, string[]]
>["trimmer", ["trimming", "edging"]] : [string, string[]]
>"trimmer" : string
>["trimming", "edging"] : string[]
>"trimming" : string
>"edging" : string
function foo1([, skillA = ["noSkill", "noSkill"]]: Robot= ["name", ["skill1", "skill2"]]) {
>foo1 : ([, skillA = ["noSkill", "noSkill"]]?: [string, string[]]) => void
> : undefined
>skillA : string[]
>["noSkill", "noSkill"] : string[]
>"noSkill" : string
>"noSkill" : string
>Robot : [string, string[]]
>["name", ["skill1", "skill2"]] : [string, string[]]
>"name" : string
>["skill1", "skill2"] : string[]
>"skill1" : string
>"skill2" : string
console.log(skillA);
>console.log(skillA) : void
>console.log : (msg: any) => void
>console : { log(msg: any): void; }
>log : (msg: any) => void
>skillA : string[]
}
function foo2([nameMB = "noName"]: Robot = ["name", ["skill1", "skill2"]]) {
>foo2 : ([nameMB = "noName"]?: [string, string[]]) => void
>nameMB : string
>"noName" : string
>Robot : [string, string[]]
>["name", ["skill1", "skill2"]] : [string, string[]]
>"name" : string
>["skill1", "skill2"] : string[]
>"skill1" : string
>"skill2" : string
console.log(nameMB);
>console.log(nameMB) : void
>console.log : (msg: any) => void
>console : { log(msg: any): void; }
>log : (msg: any) => void
>nameMB : string
}
function foo3([nameMA = "noName", [
>foo3 : ([nameMA = "noName", [
primarySkillA = "primary",
secondarySkillA = "secondary"
] = ["noSkill", "noSkill"]]: [string, string[]]) => void
>nameMA : string
>"noName" : string
primarySkillA = "primary",
>primarySkillA : string
>"primary" : string
secondarySkillA = "secondary"
>secondarySkillA : string
>"secondary" : string
] = ["noSkill", "noSkill"]]: Robot) {
>["noSkill", "noSkill"] : [string, string]
>"noSkill" : string
>"noSkill" : string
>Robot : [string, string[]]
console.log(nameMA);
>console.log(nameMA) : void
>console.log : (msg: any) => void
>console : { log(msg: any): void; }
>log : (msg: any) => void
>nameMA : string
}
foo1(robotA);
>foo1(robotA) : void
>foo1 : ([, skillA = ["noSkill", "noSkill"]]?: [string, string[]]) => void
>robotA : [string, string[]]
foo1(["roomba", ["vaccum", "mopping"]]);
>foo1(["roomba", ["vaccum", "mopping"]]) : void
>foo1 : ([, skillA = ["noSkill", "noSkill"]]?: [string, string[]]) => void
>["roomba", ["vaccum", "mopping"]] : [string, string[]]
>"roomba" : string
>["vaccum", "mopping"] : string[]
>"vaccum" : string
>"mopping" : string
foo2(robotA);
>foo2(robotA) : void
>foo2 : ([nameMB = "noName"]?: [string, string[]]) => void
>robotA : [string, string[]]
foo2(["roomba", ["vaccum", "mopping"]]);
>foo2(["roomba", ["vaccum", "mopping"]]) : void
>foo2 : ([nameMB = "noName"]?: [string, string[]]) => void
>["roomba", ["vaccum", "mopping"]] : [string, string[]]
>"roomba" : string
>["vaccum", "mopping"] : string[]
>"vaccum" : string
>"mopping" : string
foo3(robotA);
>foo3(robotA) : void
>foo3 : ([nameMA = "noName", [
primarySkillA = "primary",
secondarySkillA = "secondary"
] = ["noSkill", "noSkill"]]: [string, string[]]) => void
>robotA : [string, string[]]
foo3(["roomba", ["vaccum", "mopping"]]);
>foo3(["roomba", ["vaccum", "mopping"]]) : void
>foo3 : ([nameMA = "noName", [
primarySkillA = "primary",
secondarySkillA = "secondary"
] = ["noSkill", "noSkill"]]: [string, string[]]) => void
>["roomba", ["vaccum", "mopping"]] : [string, string[]]
>"roomba" : string
>["vaccum", "mopping"] : string[]
>"vaccum" : string
>"mopping" : string

View File

@@ -0,0 +1,44 @@
// @sourcemap: true
declare var console: {
log(msg: string): void;
}
interface Robot {
name: string;
skills: {
primary?: string;
secondary?: string;
};
}
var robotA: Robot = { name: "mower", skills: { primary: "mowing", secondary: "none" } };
function foo1(
{
skills: {
primary: primaryA = "primary",
secondary: secondaryA = "secondary"
} = { primary: "SomeSkill", secondary: "someSkill" }
}: Robot = robotA) {
console.log(primaryA);
}
function foo2(
{
name: nameC = "name",
skills: {
primary: primaryB = "primary",
secondary: secondaryB = "secondary"
} = { primary: "SomeSkill", secondary: "someSkill" }
}: Robot = robotA) {
console.log(secondaryB);
}
function foo3({ skills = { primary: "SomeSkill", secondary: "someSkill" } }: Robot = robotA) {
console.log(skills.primary);
}
foo1(robotA);
foo1({ name: "Edger", skills: { primary: "edging", secondary: "branch trimming" } });
foo2(robotA);
foo2({ name: "Edger", skills: { primary: "edging", secondary: "branch trimming" } });
foo3(robotA);
foo3({ name: "Edger", skills: { primary: "edging", secondary: "branch trimming" } });

View File

@@ -0,0 +1,29 @@
// @sourcemap: true
interface Robot {
name?: string;
skill?: string;
}
declare var console: {
log(msg: string): void;
}
var hello = "hello";
var robotA: Robot = { name: "mower", skill: "mowing" };
function foo1({ name: nameA = "<NoName>" }: Robot = { }) {
console.log(nameA);
}
function foo2({ name: nameB = "<NoName>", skill: skillB = "noSkill" }: Robot = {}) {
console.log(nameB);
}
function foo3({ name = "<NoName>" }: Robot = {}) {
console.log(name);
}
foo1(robotA);
foo1({ name: "Edger", skill: "cutting edges" });
foo2(robotA);
foo2({ name: "Edger", skill: "cutting edges" });
foo3(robotA);
foo3({ name: "Edger", skill: "cutting edges" });

View File

@@ -0,0 +1,34 @@
// @sourcemap: true
declare var console: {
log(msg: any): void;
}
type Robot = [number, string, string];
var robotA: Robot = [1, "mower", "mowing"];
function foo1([, nameA = "noName"]: Robot = [-1, "name", "skill"]) {
console.log(nameA);
}
function foo2([numberB = -1]: Robot = [-1, "name", "skill"]) {
console.log(numberB);
}
function foo3([numberA2 = -1, nameA2 = "name", skillA2 = "skill"]: Robot = [-1, "name", "skill"]) {
console.log(nameA2);
}
function foo4([numberA3 = -1, ...robotAInfo]: Robot = [-1, "name", "skill"]) {
console.log(robotAInfo);
}
foo1(robotA);
foo1([2, "trimmer", "trimming"]);
foo2(robotA);
foo2([2, "trimmer", "trimming"]);
foo3(robotA);
foo3([2, "trimmer", "trimming"]);
foo4(robotA);
foo4([2, "trimmer", "trimming"]);

View File

@@ -0,0 +1,30 @@
// @sourcemap: true
declare var console: {
log(msg: any): void;
}
type Robot = [string, string[]];
var robotA: Robot = ["trimmer", ["trimming", "edging"]];
function foo1([, skillA = ["noSkill", "noSkill"]]: Robot= ["name", ["skill1", "skill2"]]) {
console.log(skillA);
}
function foo2([nameMB = "noName"]: Robot = ["name", ["skill1", "skill2"]]) {
console.log(nameMB);
}
function foo3([nameMA = "noName", [
primarySkillA = "primary",
secondarySkillA = "secondary"
] = ["noSkill", "noSkill"]]: Robot) {
console.log(nameMA);
}
foo1(robotA);
foo1(["roomba", ["vaccum", "mopping"]]);
foo2(robotA);
foo2(["roomba", ["vaccum", "mopping"]]);
foo3(robotA);
foo3(["roomba", ["vaccum", "mopping"]]);