TypeScript/tests/baselines/reference/arrayLiteralTypeInference.types

144 lines
4.8 KiB
Text

=== tests/cases/compiler/arrayLiteralTypeInference.ts ===
class Action {
>Action : Action, Symbol(Action,Decl(arrayLiteralTypeInference.ts,0,0))
id: number;
>id : number, Symbol(id,Decl(arrayLiteralTypeInference.ts,0,14))
}
class ActionA extends Action {
>ActionA : ActionA, Symbol(ActionA,Decl(arrayLiteralTypeInference.ts,2,1))
>Action : Action, Symbol(Action,Decl(arrayLiteralTypeInference.ts,0,0))
value: string;
>value : string, Symbol(value,Decl(arrayLiteralTypeInference.ts,4,30))
}
class ActionB extends Action {
>ActionB : ActionB, Symbol(ActionB,Decl(arrayLiteralTypeInference.ts,6,1))
>Action : Action, Symbol(Action,Decl(arrayLiteralTypeInference.ts,0,0))
trueNess: boolean;
>trueNess : boolean, Symbol(trueNess,Decl(arrayLiteralTypeInference.ts,8,30))
}
var x1: Action[] = [
>x1 : Action[], Symbol(x1,Decl(arrayLiteralTypeInference.ts,12,3))
>Action : Action, Symbol(Action,Decl(arrayLiteralTypeInference.ts,0,0))
>[ { id: 2, trueness: false }, { id: 3, name: "three" }] : ({ id: number; trueness: boolean; } | { id: number; name: string; })[]
{ id: 2, trueness: false },
>{ id: 2, trueness: false } : { id: number; trueness: boolean; }
>id : number, Symbol(id,Decl(arrayLiteralTypeInference.ts,13,5))
>2 : number
>trueness : boolean, Symbol(trueness,Decl(arrayLiteralTypeInference.ts,13,12))
>false : boolean
{ id: 3, name: "three" }
>{ id: 3, name: "three" } : { id: number; name: string; }
>id : number, Symbol(id,Decl(arrayLiteralTypeInference.ts,14,5))
>3 : number
>name : string, Symbol(name,Decl(arrayLiteralTypeInference.ts,14,12))
>"three" : string
]
var x2: Action[] = [
>x2 : Action[], Symbol(x2,Decl(arrayLiteralTypeInference.ts,17,3))
>Action : Action, Symbol(Action,Decl(arrayLiteralTypeInference.ts,0,0))
>[ new ActionA(), new ActionB()] : (ActionA | ActionB)[]
new ActionA(),
>new ActionA() : ActionA
>ActionA : typeof ActionA, Symbol(ActionA,Decl(arrayLiteralTypeInference.ts,2,1))
new ActionB()
>new ActionB() : ActionB
>ActionB : typeof ActionB, Symbol(ActionB,Decl(arrayLiteralTypeInference.ts,6,1))
]
var x3: Action[] = [
>x3 : Action[], Symbol(x3,Decl(arrayLiteralTypeInference.ts,22,3))
>Action : Action, Symbol(Action,Decl(arrayLiteralTypeInference.ts,0,0))
>[ new Action(), new ActionA(), new ActionB()] : Action[]
new Action(),
>new Action() : Action
>Action : typeof Action, Symbol(Action,Decl(arrayLiteralTypeInference.ts,0,0))
new ActionA(),
>new ActionA() : ActionA
>ActionA : typeof ActionA, Symbol(ActionA,Decl(arrayLiteralTypeInference.ts,2,1))
new ActionB()
>new ActionB() : ActionB
>ActionB : typeof ActionB, Symbol(ActionB,Decl(arrayLiteralTypeInference.ts,6,1))
]
var z1: { id: number }[] =
>z1 : { id: number; }[], Symbol(z1,Decl(arrayLiteralTypeInference.ts,28,3))
>id : number, Symbol(id,Decl(arrayLiteralTypeInference.ts,28,9))
[
>[ { id: 2, trueness: false }, { id: 3, name: "three" } ] : ({ id: number; trueness: boolean; } | { id: number; name: string; })[]
{ id: 2, trueness: false },
>{ id: 2, trueness: false } : { id: number; trueness: boolean; }
>id : number, Symbol(id,Decl(arrayLiteralTypeInference.ts,30,9))
>2 : number
>trueness : boolean, Symbol(trueness,Decl(arrayLiteralTypeInference.ts,30,16))
>false : boolean
{ id: 3, name: "three" }
>{ id: 3, name: "three" } : { id: number; name: string; }
>id : number, Symbol(id,Decl(arrayLiteralTypeInference.ts,31,9))
>3 : number
>name : string, Symbol(name,Decl(arrayLiteralTypeInference.ts,31,16))
>"three" : string
]
var z2: { id: number }[] =
>z2 : { id: number; }[], Symbol(z2,Decl(arrayLiteralTypeInference.ts,34,3))
>id : number, Symbol(id,Decl(arrayLiteralTypeInference.ts,34,9))
[
>[ new ActionA(), new ActionB() ] : (ActionA | ActionB)[]
new ActionA(),
>new ActionA() : ActionA
>ActionA : typeof ActionA, Symbol(ActionA,Decl(arrayLiteralTypeInference.ts,2,1))
new ActionB()
>new ActionB() : ActionB
>ActionB : typeof ActionB, Symbol(ActionB,Decl(arrayLiteralTypeInference.ts,6,1))
]
var z3: { id: number }[] =
>z3 : { id: number; }[], Symbol(z3,Decl(arrayLiteralTypeInference.ts,40,3))
>id : number, Symbol(id,Decl(arrayLiteralTypeInference.ts,40,9))
[
>[ new Action(), new ActionA(), new ActionB() ] : Action[]
new Action(),
>new Action() : Action
>Action : typeof Action, Symbol(Action,Decl(arrayLiteralTypeInference.ts,0,0))
new ActionA(),
>new ActionA() : ActionA
>ActionA : typeof ActionA, Symbol(ActionA,Decl(arrayLiteralTypeInference.ts,2,1))
new ActionB()
>new ActionB() : ActionB
>ActionB : typeof ActionB, Symbol(ActionB,Decl(arrayLiteralTypeInference.ts,6,1))
]