=== tests/cases/conformance/es6/destructuring/iterableArrayPattern3.ts === var a: Bar, b: Bar; >a : Symbol(a, Decl(iterableArrayPattern3.ts, 0, 3)) >Bar : Symbol(Bar, Decl(iterableArrayPattern3.ts, 1, 25)) >b : Symbol(b, Decl(iterableArrayPattern3.ts, 0, 11)) >Bar : Symbol(Bar, Decl(iterableArrayPattern3.ts, 1, 25)) [a, b] = new FooIterator; >a : Symbol(a, Decl(iterableArrayPattern3.ts, 0, 3)) >b : Symbol(b, Decl(iterableArrayPattern3.ts, 0, 11)) >FooIterator : Symbol(FooIterator, Decl(iterableArrayPattern3.ts, 3, 27)) class Bar { x } >Bar : Symbol(Bar, Decl(iterableArrayPattern3.ts, 1, 25)) >x : Symbol(x, Decl(iterableArrayPattern3.ts, 2, 11)) class Foo extends Bar { y } >Foo : Symbol(Foo, Decl(iterableArrayPattern3.ts, 2, 15)) >Bar : Symbol(Bar, Decl(iterableArrayPattern3.ts, 1, 25)) >y : Symbol(y, Decl(iterableArrayPattern3.ts, 3, 23)) class FooIterator { >FooIterator : Symbol(FooIterator, Decl(iterableArrayPattern3.ts, 3, 27)) next() { >next : Symbol(next, Decl(iterableArrayPattern3.ts, 4, 19)) return { value: new Foo, >value : Symbol(value, Decl(iterableArrayPattern3.ts, 6, 16)) >Foo : Symbol(Foo, Decl(iterableArrayPattern3.ts, 2, 15)) done: false >done : Symbol(done, Decl(iterableArrayPattern3.ts, 7, 27)) }; } [Symbol.iterator]() { >Symbol.iterator : Symbol(SymbolConstructor.iterator, Decl(lib.d.ts, 1236, 31)) >Symbol : Symbol(Symbol, Decl(lib.d.ts, 1186, 52), Decl(lib.d.ts, 1292, 11)) >iterator : Symbol(SymbolConstructor.iterator, Decl(lib.d.ts, 1236, 31)) return this; >this : Symbol(FooIterator, Decl(iterableArrayPattern3.ts, 3, 27)) } }