=== tests/cases/compiler/functionOverloads7.ts === class foo { >foo : Symbol(foo, Decl(functionOverloads7.ts, 0, 0)) private bar(); >bar : Symbol(bar, Decl(functionOverloads7.ts, 0, 11), Decl(functionOverloads7.ts, 1, 17), Decl(functionOverloads7.ts, 2, 28)) private bar(foo: string); >bar : Symbol(bar, Decl(functionOverloads7.ts, 0, 11), Decl(functionOverloads7.ts, 1, 17), Decl(functionOverloads7.ts, 2, 28)) >foo : Symbol(foo, Decl(functionOverloads7.ts, 2, 15)) private bar(foo?: any){ return "foo" } >bar : Symbol(bar, Decl(functionOverloads7.ts, 0, 11), Decl(functionOverloads7.ts, 1, 17), Decl(functionOverloads7.ts, 2, 28)) >foo : Symbol(foo, Decl(functionOverloads7.ts, 3, 15)) public n() { >n : Symbol(n, Decl(functionOverloads7.ts, 3, 41)) var foo = this.bar(); >foo : Symbol(foo, Decl(functionOverloads7.ts, 5, 8)) >this.bar : Symbol(bar, Decl(functionOverloads7.ts, 0, 11), Decl(functionOverloads7.ts, 1, 17), Decl(functionOverloads7.ts, 2, 28)) >this : Symbol(foo, Decl(functionOverloads7.ts, 0, 0)) >bar : Symbol(bar, Decl(functionOverloads7.ts, 0, 11), Decl(functionOverloads7.ts, 1, 17), Decl(functionOverloads7.ts, 2, 28)) foo = this.bar("test"); >foo : Symbol(foo, Decl(functionOverloads7.ts, 5, 8)) >this.bar : Symbol(bar, Decl(functionOverloads7.ts, 0, 11), Decl(functionOverloads7.ts, 1, 17), Decl(functionOverloads7.ts, 2, 28)) >this : Symbol(foo, Decl(functionOverloads7.ts, 0, 0)) >bar : Symbol(bar, Decl(functionOverloads7.ts, 0, 11), Decl(functionOverloads7.ts, 1, 17), Decl(functionOverloads7.ts, 2, 28)) } }