TypeScript/tests/baselines/reference/functionSubtypingOfVarArgs.symbols
2015-04-15 16:44:20 -07:00

40 lines
1.8 KiB
Plaintext

=== tests/cases/compiler/functionSubtypingOfVarArgs.ts ===
class EventBase {
>EventBase : Symbol(EventBase, Decl(functionSubtypingOfVarArgs.ts, 0, 0))
private _listeners = [];
>_listeners : Symbol(_listeners, Decl(functionSubtypingOfVarArgs.ts, 0, 17))
add(listener: (...args: any[]) => void): void {
>add : Symbol(add, Decl(functionSubtypingOfVarArgs.ts, 1, 28))
>listener : Symbol(listener, Decl(functionSubtypingOfVarArgs.ts, 3, 8))
>args : Symbol(args, Decl(functionSubtypingOfVarArgs.ts, 3, 19))
this._listeners.push(listener);
>this._listeners.push : Symbol(Array.push, Decl(lib.d.ts, 1016, 29))
>this._listeners : Symbol(_listeners, Decl(functionSubtypingOfVarArgs.ts, 0, 17))
>this : Symbol(EventBase, Decl(functionSubtypingOfVarArgs.ts, 0, 0))
>_listeners : Symbol(_listeners, Decl(functionSubtypingOfVarArgs.ts, 0, 17))
>push : Symbol(Array.push, Decl(lib.d.ts, 1016, 29))
>listener : Symbol(listener, Decl(functionSubtypingOfVarArgs.ts, 3, 8))
}
}
class StringEvent extends EventBase { // should work
>StringEvent : Symbol(StringEvent, Decl(functionSubtypingOfVarArgs.ts, 6, 1))
>EventBase : Symbol(EventBase, Decl(functionSubtypingOfVarArgs.ts, 0, 0))
add(listener: (items: string) => void ) { // valid, items is subtype of args
>add : Symbol(add, Decl(functionSubtypingOfVarArgs.ts, 8, 37))
>listener : Symbol(listener, Decl(functionSubtypingOfVarArgs.ts, 9, 8))
>items : Symbol(items, Decl(functionSubtypingOfVarArgs.ts, 9, 19))
super.add(listener);
>super.add : Symbol(EventBase.add, Decl(functionSubtypingOfVarArgs.ts, 1, 28))
>super : Symbol(EventBase, Decl(functionSubtypingOfVarArgs.ts, 0, 0))
>add : Symbol(EventBase.add, Decl(functionSubtypingOfVarArgs.ts, 1, 28))
>listener : Symbol(listener, Decl(functionSubtypingOfVarArgs.ts, 9, 8))
}
}