1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299
|
=== tests/cases/compiler/sourceMapValidationDestructuringVariableStatementArrayBindingPattern3.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]
type MultiSkilledRobot = [string, [string, string]];
>MultiSkilledRobot : [string, [string, string]]
var robotA: Robot = [1, "mower", "mowing"];
>robotA : [number, string, string]
>[1, "mower", "mowing"] : [number, string, string]
>1 : 1
>"mower" : "mower"
>"mowing" : "mowing"
var robotB: Robot = [2, "trimmer", "trimming"];
>robotB : [number, string, string]
>[2, "trimmer", "trimming"] : [number, string, string]
>2 : 2
>"trimmer" : "trimmer"
>"trimming" : "trimming"
var multiRobotA: MultiSkilledRobot = ["mower", ["mowing", ""]];
>multiRobotA : [string, [string, string]]
>["mower", ["mowing", ""]] : [string, [string, string]]
>"mower" : "mower"
>["mowing", ""] : [string, string]
>"mowing" : "mowing"
>"" : ""
var multiRobotB: MultiSkilledRobot = ["trimmer", ["trimming", "edging"]];
>multiRobotB : [string, [string, string]]
>["trimmer", ["trimming", "edging"]] : [string, [string, string]]
>"trimmer" : "trimmer"
>["trimming", "edging"] : [string, string]
>"trimming" : "trimming"
>"edging" : "edging"
let nameA: string, numberB: number, nameB: string, skillB: string;
>nameA : string
>numberB : number
>nameB : string
>skillB : string
let robotAInfo: (number | string)[];
>robotAInfo : (string | number)[]
let multiSkillB: [string, string], nameMB: string, primarySkillB: string, secondarySkillB: string;
>multiSkillB : [string, string]
>nameMB : string
>primarySkillB : string
>secondarySkillB : string
let multiRobotAInfo: (string | [string, string])[];
>multiRobotAInfo : (string | [string, string])[]
[, nameA] = robotA;
>[, nameA] = robotA : [number, string, string]
>[, nameA] : [undefined, string]
> : undefined
>nameA : string
>robotA : [number, string, string]
[, nameB] = getRobotB();
>[, nameB] = getRobotB() : [number, string, string]
>[, nameB] : [undefined, string]
> : undefined
>nameB : string
>getRobotB() : [number, string, string]
>getRobotB : () => [number, string, string]
[, nameB] = [2, "trimmer", "trimming"];
>[, nameB] = [2, "trimmer", "trimming"] : [number, string, string]
>[, nameB] : [undefined, string]
> : undefined
>nameB : string
>[2, "trimmer", "trimming"] : [number, string, string]
>2 : 2
>"trimmer" : "trimmer"
>"trimming" : "trimming"
[, multiSkillB] = multiRobotB;
>[, multiSkillB] = multiRobotB : [string, [string, string]]
>[, multiSkillB] : [undefined, [string, string]]
> : undefined
>multiSkillB : [string, string]
>multiRobotB : [string, [string, string]]
[, multiSkillB] = getMultiRobotB();
>[, multiSkillB] = getMultiRobotB() : [string, [string, string]]
>[, multiSkillB] : [undefined, [string, string]]
> : undefined
>multiSkillB : [string, string]
>getMultiRobotB() : [string, [string, string]]
>getMultiRobotB : () => [string, [string, string]]
[, multiSkillB] = ["roomba", ["vaccum", "mopping"]];
>[, multiSkillB] = ["roomba", ["vaccum", "mopping"]] : [string, [string, string]]
>[, multiSkillB] : [undefined, [string, string]]
> : undefined
>multiSkillB : [string, string]
>["roomba", ["vaccum", "mopping"]] : [string, [string, string]]
>"roomba" : "roomba"
>["vaccum", "mopping"] : [string, string]
>"vaccum" : "vaccum"
>"mopping" : "mopping"
[numberB] = robotB;
>[numberB] = robotB : [number, string, string]
>[numberB] : [number]
>numberB : number
>robotB : [number, string, string]
[numberB] = getRobotB();
>[numberB] = getRobotB() : [number, string, string]
>[numberB] : [number]
>numberB : number
>getRobotB() : [number, string, string]
>getRobotB : () => [number, string, string]
[numberB] = [2, "trimmer", "trimming"];
>[numberB] = [2, "trimmer", "trimming"] : [number, string, string]
>[numberB] : [number]
>numberB : number
>[2, "trimmer", "trimming"] : [number, string, string]
>2 : 2
>"trimmer" : "trimmer"
>"trimming" : "trimming"
[nameMB] = multiRobotB;
>[nameMB] = multiRobotB : [string, [string, string]]
>[nameMB] : [string]
>nameMB : string
>multiRobotB : [string, [string, string]]
[nameMB] = getMultiRobotB();
>[nameMB] = getMultiRobotB() : [string, [string, string]]
>[nameMB] : [string]
>nameMB : string
>getMultiRobotB() : [string, [string, string]]
>getMultiRobotB : () => [string, [string, string]]
[nameMB] = ["trimmer", ["trimming", "edging"]];
>[nameMB] = ["trimmer", ["trimming", "edging"]] : [string, string[]]
>[nameMB] : [string]
>nameMB : string
>["trimmer", ["trimming", "edging"]] : [string, string[]]
>"trimmer" : "trimmer"
>["trimming", "edging"] : string[]
>"trimming" : "trimming"
>"edging" : "edging"
[numberB, nameB, skillB] = robotB;
>[numberB, nameB, skillB] = robotB : [number, string, string]
>[numberB, nameB, skillB] : [number, string, string]
>numberB : number
>nameB : string
>skillB : string
>robotB : [number, string, string]
[numberB, nameB, skillB] = getRobotB();
>[numberB, nameB, skillB] = getRobotB() : [number, string, string]
>[numberB, nameB, skillB] : [number, string, string]
>numberB : number
>nameB : string
>skillB : string
>getRobotB() : [number, string, string]
>getRobotB : () => [number, string, string]
[numberB, nameB, skillB] = [2, "trimmer", "trimming"];
>[numberB, nameB, skillB] = [2, "trimmer", "trimming"] : [number, string, string]
>[numberB, nameB, skillB] : [number, string, string]
>numberB : number
>nameB : string
>skillB : string
>[2, "trimmer", "trimming"] : [number, string, string]
>2 : 2
>"trimmer" : "trimmer"
>"trimming" : "trimming"
[nameMB, [primarySkillB, secondarySkillB]] = multiRobotB;
>[nameMB, [primarySkillB, secondarySkillB]] = multiRobotB : [string, [string, string]]
>[nameMB, [primarySkillB, secondarySkillB]] : [string, [string, string]]
>nameMB : string
>[primarySkillB, secondarySkillB] : [string, string]
>primarySkillB : string
>secondarySkillB : string
>multiRobotB : [string, [string, string]]
[nameMB, [primarySkillB, secondarySkillB]] = getMultiRobotB();
>[nameMB, [primarySkillB, secondarySkillB]] = getMultiRobotB() : [string, [string, string]]
>[nameMB, [primarySkillB, secondarySkillB]] : [string, [string, string]]
>nameMB : string
>[primarySkillB, secondarySkillB] : [string, string]
>primarySkillB : string
>secondarySkillB : string
>getMultiRobotB() : [string, [string, string]]
>getMultiRobotB : () => [string, [string, string]]
[nameMB, [primarySkillB, secondarySkillB]] = ["trimmer", ["trimming", "edging"]];
>[nameMB, [primarySkillB, secondarySkillB]] = ["trimmer", ["trimming", "edging"]] : [string, [string, string]]
>[nameMB, [primarySkillB, secondarySkillB]] : [string, [string, string]]
>nameMB : string
>[primarySkillB, secondarySkillB] : [string, string]
>primarySkillB : string
>secondarySkillB : string
>["trimmer", ["trimming", "edging"]] : [string, [string, string]]
>"trimmer" : "trimmer"
>["trimming", "edging"] : [string, string]
>"trimming" : "trimming"
>"edging" : "edging"
[numberB, ...robotAInfo] = robotB;
>[numberB, ...robotAInfo] = robotB : [number, string, string]
>[numberB, ...robotAInfo] : [number, ...(string | number)[]]
>numberB : number
>...robotAInfo : string | number
>robotAInfo : (string | number)[]
>robotB : [number, string, string]
[numberB, ...robotAInfo] = getRobotB();
>[numberB, ...robotAInfo] = getRobotB() : [number, string, string]
>[numberB, ...robotAInfo] : [number, ...(string | number)[]]
>numberB : number
>...robotAInfo : string | number
>robotAInfo : (string | number)[]
>getRobotB() : [number, string, string]
>getRobotB : () => [number, string, string]
[numberB, ...robotAInfo] = <Robot>[2, "trimmer", "trimming"];
>[numberB, ...robotAInfo] = <Robot>[2, "trimmer", "trimming"] : [number, string, string]
>[numberB, ...robotAInfo] : [number, ...(string | number)[]]
>numberB : number
>...robotAInfo : string | number
>robotAInfo : (string | number)[]
><Robot>[2, "trimmer", "trimming"] : [number, string, string]
>[2, "trimmer", "trimming"] : [number, string, string]
>2 : 2
>"trimmer" : "trimmer"
>"trimming" : "trimming"
[...multiRobotAInfo] = multiRobotA;
>[...multiRobotAInfo] = multiRobotA : [string, [string, string]]
>[...multiRobotAInfo] : (string | [string, string])[]
>...multiRobotAInfo : string | [string, string]
>multiRobotAInfo : (string | [string, string])[]
>multiRobotA : [string, [string, string]]
[...multiRobotAInfo] = getMultiRobotB();
>[...multiRobotAInfo] = getMultiRobotB() : [string, [string, string]]
>[...multiRobotAInfo] : (string | [string, string])[]
>...multiRobotAInfo : string | [string, string]
>multiRobotAInfo : (string | [string, string])[]
>getMultiRobotB() : [string, [string, string]]
>getMultiRobotB : () => [string, [string, string]]
[...multiRobotAInfo] = ["trimmer", ["trimming", "edging"]];
>[...multiRobotAInfo] = ["trimmer", ["trimming", "edging"]] : (string | [string, string])[]
>[...multiRobotAInfo] : (string | [string, string])[]
>...multiRobotAInfo : string | [string, string]
>multiRobotAInfo : (string | [string, string])[]
>["trimmer", ["trimming", "edging"]] : (string | [string, string])[]
>"trimmer" : "trimmer"
>["trimming", "edging"] : [string, string]
>"trimming" : "trimming"
>"edging" : "edging"
if (nameA == nameB) {
>nameA == nameB : boolean
>nameA : string
>nameB : string
console.log(skillB);
>console.log(skillB) : void
>console.log : (msg: any) => void
>console : { log(msg: any): void; }
>log : (msg: any) => void
>skillB : string
}
function getRobotB() {
>getRobotB : () => [number, string, string]
return robotB;
>robotB : [number, string, string]
}
function getMultiRobotB() {
>getMultiRobotB : () => [string, [string, string]]
return multiRobotB;
>multiRobotB : [string, [string, string]]
}
|