=== tests/cases/compiler/argumentsObjectIterator02_ES6.ts === function doubleAndReturnAsArray(x: number, y: number, z: number): [number, number, number] { >doubleAndReturnAsArray : Symbol(doubleAndReturnAsArray, Decl(argumentsObjectIterator02_ES6.ts, 0, 0)) >x : Symbol(x, Decl(argumentsObjectIterator02_ES6.ts, 1, 32)) >y : Symbol(y, Decl(argumentsObjectIterator02_ES6.ts, 1, 42)) >z : Symbol(z, Decl(argumentsObjectIterator02_ES6.ts, 1, 53)) let blah = arguments[Symbol.iterator]; >blah : Symbol(blah, Decl(argumentsObjectIterator02_ES6.ts, 2, 7)) >arguments : Symbol(arguments) >Symbol.iterator : Symbol(SymbolConstructor.iterator, Decl(lib.d.ts, 1249, 31)) >Symbol : Symbol(Symbol, Decl(lib.d.ts, 1199, 52), Decl(lib.d.ts, 1305, 11)) >iterator : Symbol(SymbolConstructor.iterator, Decl(lib.d.ts, 1249, 31)) let result = []; >result : Symbol(result, Decl(argumentsObjectIterator02_ES6.ts, 4, 7)) for (let arg of blah()) { >arg : Symbol(arg, Decl(argumentsObjectIterator02_ES6.ts, 5, 12)) >blah : Symbol(blah, Decl(argumentsObjectIterator02_ES6.ts, 2, 7)) result.push(arg + arg); >result.push : Symbol(Array.push, Decl(lib.d.ts, 1016, 29)) >result : Symbol(result, Decl(argumentsObjectIterator02_ES6.ts, 4, 7)) >push : Symbol(Array.push, Decl(lib.d.ts, 1016, 29)) >arg : Symbol(arg, Decl(argumentsObjectIterator02_ES6.ts, 5, 12)) >arg : Symbol(arg, Decl(argumentsObjectIterator02_ES6.ts, 5, 12)) } return <[any, any, any]>result; >result : Symbol(result, Decl(argumentsObjectIterator02_ES6.ts, 4, 7)) }