1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
|
=== tests/cases/compiler/memberOverride.ts ===
// An object initialiser accepts the first definition for the same property with a different type signature
// Should compile, since the second declaration of a overrides the first
var x = {
>x : Symbol(x, Decl(memberOverride.ts, 2, 3))
a: "",
>a : Symbol(a, Decl(memberOverride.ts, 2, 9), Decl(memberOverride.ts, 3, 10))
a: 5
>a : Symbol(a, Decl(memberOverride.ts, 2, 9), Decl(memberOverride.ts, 3, 10))
}
var n: number = x.a;
>n : Symbol(n, Decl(memberOverride.ts, 7, 3))
>x.a : Symbol(a, Decl(memberOverride.ts, 2, 9), Decl(memberOverride.ts, 3, 10))
>x : Symbol(x, Decl(memberOverride.ts, 2, 3))
>a : Symbol(a, Decl(memberOverride.ts, 2, 9), Decl(memberOverride.ts, 3, 10))
|