1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
|
=== tests/cases/conformance/expressions/typeGuards/TypeGuardWithArrayUnion.ts ===
class Message {
>Message : Symbol(Message, Decl(TypeGuardWithArrayUnion.ts, 0, 0))
value: string;
>value : Symbol(Message.value, Decl(TypeGuardWithArrayUnion.ts, 0, 15))
}
function saySize(message: Message | Message[]) {
>saySize : Symbol(saySize, Decl(TypeGuardWithArrayUnion.ts, 2, 1))
>message : Symbol(message, Decl(TypeGuardWithArrayUnion.ts, 4, 17))
>Message : Symbol(Message, Decl(TypeGuardWithArrayUnion.ts, 0, 0))
>Message : Symbol(Message, Decl(TypeGuardWithArrayUnion.ts, 0, 0))
if (message instanceof Array) {
>message : Symbol(message, Decl(TypeGuardWithArrayUnion.ts, 4, 17))
>Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --))
return message.length; // Should have type Message[] here
>message.length : Symbol(Array.length, Decl(lib.d.ts, --, --))
>message : Symbol(message, Decl(TypeGuardWithArrayUnion.ts, 4, 17))
>length : Symbol(Array.length, Decl(lib.d.ts, --, --))
}
}
|