=== tests/cases/compiler/fatArrowSelf.ts === module Events { >Events : Symbol(Events, Decl(fatArrowSelf.ts, 0, 0)) export interface ListenerCallback { >ListenerCallback : Symbol(ListenerCallback, Decl(fatArrowSelf.ts, 0, 15)) (value:any):void; >value : Symbol(value, Decl(fatArrowSelf.ts, 2, 9)) } export class EventEmitter { >EventEmitter : Symbol(EventEmitter, Decl(fatArrowSelf.ts, 3, 5)) public addListener(type:string, listener:ListenerCallback) { >addListener : Symbol(addListener, Decl(fatArrowSelf.ts, 4, 31)) >type : Symbol(type, Decl(fatArrowSelf.ts, 5, 28)) >listener : Symbol(listener, Decl(fatArrowSelf.ts, 5, 40)) >ListenerCallback : Symbol(ListenerCallback, Decl(fatArrowSelf.ts, 0, 15)) } } } module Consumer { >Consumer : Symbol(Consumer, Decl(fatArrowSelf.ts, 8, 1)) class EventEmitterConsummer { >EventEmitterConsummer : Symbol(EventEmitterConsummer, Decl(fatArrowSelf.ts, 10, 17)) constructor (private emitter: Events.EventEmitter) { } >emitter : Symbol(emitter, Decl(fatArrowSelf.ts, 12, 21)) >Events : Symbol(Events, Decl(fatArrowSelf.ts, 0, 0)) >EventEmitter : Symbol(Events.EventEmitter, Decl(fatArrowSelf.ts, 3, 5)) private register() { >register : Symbol(register, Decl(fatArrowSelf.ts, 12, 62)) this.emitter.addListener('change', (e) => { >this.emitter.addListener : Symbol(Events.EventEmitter.addListener, Decl(fatArrowSelf.ts, 4, 31)) >this.emitter : Symbol(emitter, Decl(fatArrowSelf.ts, 12, 21)) >this : Symbol(EventEmitterConsummer, Decl(fatArrowSelf.ts, 10, 17)) >emitter : Symbol(emitter, Decl(fatArrowSelf.ts, 12, 21)) >addListener : Symbol(Events.EventEmitter.addListener, Decl(fatArrowSelf.ts, 4, 31)) >e : Symbol(e, Decl(fatArrowSelf.ts, 15, 48)) this.changed(); >this.changed : Symbol(changed, Decl(fatArrowSelf.ts, 18, 9)) >this : Symbol(EventEmitterConsummer, Decl(fatArrowSelf.ts, 10, 17)) >changed : Symbol(changed, Decl(fatArrowSelf.ts, 18, 9)) }); } private changed() { >changed : Symbol(changed, Decl(fatArrowSelf.ts, 18, 9)) } } }