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 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85
|
=== tests/cases/conformance/types/spread/objectSpreadScenarios.ts ===
interface A1 { a: boolean }
>A1 : Symbol(A1, Decl(objectSpreadScenarios.ts, 0, 0))
>a : Symbol(A1.a, Decl(objectSpreadScenarios.ts, 0, 14))
interface B1 { b: number };
>B1 : Symbol(B1, Decl(objectSpreadScenarios.ts, 0, 27))
>b : Symbol(B1.b, Decl(objectSpreadScenarios.ts, 1, 14))
function override<U>(initial: U, override: U): { ...U, ...U } {
>override : Symbol(override, Decl(objectSpreadScenarios.ts, 1, 27))
>U : Symbol(U, Decl(objectSpreadScenarios.ts, 2, 18))
>initial : Symbol(initial, Decl(objectSpreadScenarios.ts, 2, 21))
>U : Symbol(U, Decl(objectSpreadScenarios.ts, 2, 18))
>override : Symbol(override, Decl(objectSpreadScenarios.ts, 2, 32))
>U : Symbol(U, Decl(objectSpreadScenarios.ts, 2, 18))
>U : Symbol(U, Decl(objectSpreadScenarios.ts, 2, 18))
>U : Symbol(U, Decl(objectSpreadScenarios.ts, 2, 18))
return { ...initial, ...override };
}
function update<U>(this: { u: { ...U } }, override: U): void {
>update : Symbol(update, Decl(objectSpreadScenarios.ts, 4, 1))
>U : Symbol(U, Decl(objectSpreadScenarios.ts, 5, 16))
>this : Symbol(this, Decl(objectSpreadScenarios.ts, 5, 19))
>u : Symbol(u, Decl(objectSpreadScenarios.ts, 5, 26))
>U : Symbol(U, Decl(objectSpreadScenarios.ts, 5, 16))
>override : Symbol(override, Decl(objectSpreadScenarios.ts, 5, 41))
>U : Symbol(U, Decl(objectSpreadScenarios.ts, 5, 16))
this.u = { ...this.u, ...override };
>this.u : Symbol(u, Decl(objectSpreadScenarios.ts, 5, 26))
>this : Symbol(this, Decl(objectSpreadScenarios.ts, 5, 19))
>u : Symbol(u, Decl(objectSpreadScenarios.ts, 5, 26))
>this.u : Symbol(u, Decl(objectSpreadScenarios.ts, 5, 26))
>this : Symbol(this, Decl(objectSpreadScenarios.ts, 5, 19))
>u : Symbol(u, Decl(objectSpreadScenarios.ts, 5, 26))
}
function mixin<T, U>(one: T, two: U): { ...T, ...U } {
>mixin : Symbol(mixin, Decl(objectSpreadScenarios.ts, 7, 1))
>T : Symbol(T, Decl(objectSpreadScenarios.ts, 8, 15))
>U : Symbol(U, Decl(objectSpreadScenarios.ts, 8, 17))
>one : Symbol(one, Decl(objectSpreadScenarios.ts, 8, 21))
>T : Symbol(T, Decl(objectSpreadScenarios.ts, 8, 15))
>two : Symbol(two, Decl(objectSpreadScenarios.ts, 8, 28))
>U : Symbol(U, Decl(objectSpreadScenarios.ts, 8, 17))
>T : Symbol(T, Decl(objectSpreadScenarios.ts, 8, 15))
>U : Symbol(U, Decl(objectSpreadScenarios.ts, 8, 17))
return { ...one, ...two };
}
let a1: A1 = { a: true };
>a1 : Symbol(a1, Decl(objectSpreadScenarios.ts, 11, 3))
>A1 : Symbol(A1, Decl(objectSpreadScenarios.ts, 0, 0))
>a : Symbol(a, Decl(objectSpreadScenarios.ts, 11, 14))
let b1: B1 = { b: 101 };
>b1 : Symbol(b1, Decl(objectSpreadScenarios.ts, 12, 3))
>B1 : Symbol(B1, Decl(objectSpreadScenarios.ts, 0, 27))
>b : Symbol(b, Decl(objectSpreadScenarios.ts, 12, 14))
a1 = override(a1, { a: false });
>a1 : Symbol(a1, Decl(objectSpreadScenarios.ts, 11, 3))
>override : Symbol(override, Decl(objectSpreadScenarios.ts, 1, 27))
>a1 : Symbol(a1, Decl(objectSpreadScenarios.ts, 11, 3))
>a : Symbol(a, Decl(objectSpreadScenarios.ts, 13, 19))
let host = { u: a1, update };
>host : Symbol(host, Decl(objectSpreadScenarios.ts, 14, 3))
>u : Symbol(u, Decl(objectSpreadScenarios.ts, 14, 12))
>a1 : Symbol(a1, Decl(objectSpreadScenarios.ts, 11, 3))
>update : Symbol(update, Decl(objectSpreadScenarios.ts, 14, 19))
host.update({ a: false });
>host.update : Symbol(update, Decl(objectSpreadScenarios.ts, 14, 19))
>host : Symbol(host, Decl(objectSpreadScenarios.ts, 14, 3))
>update : Symbol(update, Decl(objectSpreadScenarios.ts, 14, 19))
>a : Symbol(a, Decl(objectSpreadScenarios.ts, 15, 13))
let mixed = mixin(a1, b1);
>mixed : Symbol(mixed, Decl(objectSpreadScenarios.ts, 16, 3))
>mixin : Symbol(mixin, Decl(objectSpreadScenarios.ts, 7, 1))
>a1 : Symbol(a1, Decl(objectSpreadScenarios.ts, 11, 3))
>b1 : Symbol(b1, Decl(objectSpreadScenarios.ts, 12, 3))
|