//// [objectTypePropertyAccess.ts]
// Index notation should resolve to the type of a declared property with that same name
class C {
    foo: string;
}

var c: C;
var r1 = c.toString();
var r2 = c['toString']();
var r3 = c.foo;
var r4 = c['foo'];

interface I {
    bar: string;
}
var i: I;
var r4 = i.toString();
var r5 = i['toString']();
var r6 = i.bar;
var r7 = i['bar'];

var a = {
    foo: ''
}

var r8 = a.toString();
var r9 = a['toString']();
var r10 = a.foo;
var r11 = a['foo'];


//// [objectTypePropertyAccess.js]
// Index notation should resolve to the type of a declared property with that same name
var C = (function () {
    function C() {
    }
    return C;
})();
var c;
var r1 = c.toString();
var r2 = c['toString']();
var r3 = c.foo;
var r4 = c['foo'];
var i;
var r4 = i.toString();
var r5 = i['toString']();
var r6 = i.bar;
var r7 = i['bar'];
var a = {
    foo: ''
};
var r8 = a.toString();
var r9 = a['toString']();
var r10 = a.foo;
var r11 = a['foo'];
