=== tests/cases/conformance/es6/destructuring/iterableArrayPattern7.ts ===
class Bar { x }
>Bar : Symbol(Bar, Decl(iterableArrayPattern7.ts, 0, 0))
>x : Symbol(Bar.x, Decl(iterableArrayPattern7.ts, 0, 11))

class Foo extends Bar { y }
>Foo : Symbol(Foo, Decl(iterableArrayPattern7.ts, 0, 15))
>Bar : Symbol(Bar, Decl(iterableArrayPattern7.ts, 0, 0))
>y : Symbol(Foo.y, Decl(iterableArrayPattern7.ts, 1, 23))

class FooIterator {
>FooIterator : Symbol(FooIterator, Decl(iterableArrayPattern7.ts, 1, 27))

    next() {
>next : Symbol(FooIterator.next, Decl(iterableArrayPattern7.ts, 2, 19))

        return {
            value: new Foo,
>value : Symbol(value, Decl(iterableArrayPattern7.ts, 4, 16))
>Foo : Symbol(Foo, Decl(iterableArrayPattern7.ts, 0, 15))

            done: false
>done : Symbol(done, Decl(iterableArrayPattern7.ts, 5, 27))

        };
    }

    [Symbol.iterator]() {
>[Symbol.iterator] : Symbol(FooIterator[Symbol.iterator], Decl(iterableArrayPattern7.ts, 8, 5))
>Symbol.iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es2015.iterable.d.ts, --, --))
>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --))
>iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es2015.iterable.d.ts, --, --))

        return this;
>this : Symbol(FooIterator, Decl(iterableArrayPattern7.ts, 1, 27))
    }
}

var a: Bar, b: string[];
>a : Symbol(a, Decl(iterableArrayPattern7.ts, 15, 3))
>Bar : Symbol(Bar, Decl(iterableArrayPattern7.ts, 0, 0))
>b : Symbol(b, Decl(iterableArrayPattern7.ts, 15, 11))

[a, b] = new FooIterator;
>a : Symbol(a, Decl(iterableArrayPattern7.ts, 15, 3))
>b : Symbol(b, Decl(iterableArrayPattern7.ts, 15, 11))
>FooIterator : Symbol(FooIterator, Decl(iterableArrayPattern7.ts, 1, 27))

