TypeScript/tests/baselines/reference/additionOperatorWithStringAndEveryType.types
2015-04-13 14:29:37 -07:00

162 lines
6.9 KiB
Plaintext

=== tests/cases/conformance/expressions/binaryOperators/additionOperator/additionOperatorWithStringAndEveryType.ts ===
enum E { a, b, c }
>E : E, Symbol(E, Decl(additionOperatorWithStringAndEveryType.ts, 0, 0))
>a : E, Symbol(E.a, Decl(additionOperatorWithStringAndEveryType.ts, 0, 8))
>b : E, Symbol(E.b, Decl(additionOperatorWithStringAndEveryType.ts, 0, 11))
>c : E, Symbol(E.c, Decl(additionOperatorWithStringAndEveryType.ts, 0, 14))
var a: any;
>a : any, Symbol(a, Decl(additionOperatorWithStringAndEveryType.ts, 2, 3))
var b: boolean;
>b : boolean, Symbol(b, Decl(additionOperatorWithStringAndEveryType.ts, 3, 3))
var c: number;
>c : number, Symbol(c, Decl(additionOperatorWithStringAndEveryType.ts, 4, 3))
var d: string;
>d : string, Symbol(d, Decl(additionOperatorWithStringAndEveryType.ts, 5, 3))
var e: Object;
>e : Object, Symbol(e, Decl(additionOperatorWithStringAndEveryType.ts, 6, 3))
>Object : Object, Symbol(Object, Decl(lib.d.ts, 92, 1), Decl(lib.d.ts, 223, 11))
var f: void;
>f : void, Symbol(f, Decl(additionOperatorWithStringAndEveryType.ts, 7, 3))
var g: E;
>g : E, Symbol(g, Decl(additionOperatorWithStringAndEveryType.ts, 8, 3))
>E : E, Symbol(E, Decl(additionOperatorWithStringAndEveryType.ts, 0, 0))
var x: string;
>x : string, Symbol(x, Decl(additionOperatorWithStringAndEveryType.ts, 10, 3))
// string could plus every type, and the result is always string
// string as left operand
var r1 = x + a;
>r1 : string, Symbol(r1, Decl(additionOperatorWithStringAndEveryType.ts, 14, 3))
>x + a : string
>x : string, Symbol(x, Decl(additionOperatorWithStringAndEveryType.ts, 10, 3))
>a : any, Symbol(a, Decl(additionOperatorWithStringAndEveryType.ts, 2, 3))
var r2 = x + b;
>r2 : string, Symbol(r2, Decl(additionOperatorWithStringAndEveryType.ts, 15, 3))
>x + b : string
>x : string, Symbol(x, Decl(additionOperatorWithStringAndEveryType.ts, 10, 3))
>b : boolean, Symbol(b, Decl(additionOperatorWithStringAndEveryType.ts, 3, 3))
var r3 = x + c;
>r3 : string, Symbol(r3, Decl(additionOperatorWithStringAndEveryType.ts, 16, 3))
>x + c : string
>x : string, Symbol(x, Decl(additionOperatorWithStringAndEveryType.ts, 10, 3))
>c : number, Symbol(c, Decl(additionOperatorWithStringAndEveryType.ts, 4, 3))
var r4 = x + d;
>r4 : string, Symbol(r4, Decl(additionOperatorWithStringAndEveryType.ts, 17, 3))
>x + d : string
>x : string, Symbol(x, Decl(additionOperatorWithStringAndEveryType.ts, 10, 3))
>d : string, Symbol(d, Decl(additionOperatorWithStringAndEveryType.ts, 5, 3))
var r5 = x + e;
>r5 : string, Symbol(r5, Decl(additionOperatorWithStringAndEveryType.ts, 18, 3))
>x + e : string
>x : string, Symbol(x, Decl(additionOperatorWithStringAndEveryType.ts, 10, 3))
>e : Object, Symbol(e, Decl(additionOperatorWithStringAndEveryType.ts, 6, 3))
var r6 = x + f;
>r6 : string, Symbol(r6, Decl(additionOperatorWithStringAndEveryType.ts, 19, 3))
>x + f : string
>x : string, Symbol(x, Decl(additionOperatorWithStringAndEveryType.ts, 10, 3))
>f : void, Symbol(f, Decl(additionOperatorWithStringAndEveryType.ts, 7, 3))
var r7 = x + g;
>r7 : string, Symbol(r7, Decl(additionOperatorWithStringAndEveryType.ts, 20, 3))
>x + g : string
>x : string, Symbol(x, Decl(additionOperatorWithStringAndEveryType.ts, 10, 3))
>g : E, Symbol(g, Decl(additionOperatorWithStringAndEveryType.ts, 8, 3))
// string as right operand
var r8 = a + x;
>r8 : string, Symbol(r8, Decl(additionOperatorWithStringAndEveryType.ts, 23, 3))
>a + x : string
>a : any, Symbol(a, Decl(additionOperatorWithStringAndEveryType.ts, 2, 3))
>x : string, Symbol(x, Decl(additionOperatorWithStringAndEveryType.ts, 10, 3))
var r9 = b + x;
>r9 : string, Symbol(r9, Decl(additionOperatorWithStringAndEveryType.ts, 24, 3))
>b + x : string
>b : boolean, Symbol(b, Decl(additionOperatorWithStringAndEveryType.ts, 3, 3))
>x : string, Symbol(x, Decl(additionOperatorWithStringAndEveryType.ts, 10, 3))
var r10 = c + x;
>r10 : string, Symbol(r10, Decl(additionOperatorWithStringAndEveryType.ts, 25, 3))
>c + x : string
>c : number, Symbol(c, Decl(additionOperatorWithStringAndEveryType.ts, 4, 3))
>x : string, Symbol(x, Decl(additionOperatorWithStringAndEveryType.ts, 10, 3))
var r11 = d + x;
>r11 : string, Symbol(r11, Decl(additionOperatorWithStringAndEveryType.ts, 26, 3))
>d + x : string
>d : string, Symbol(d, Decl(additionOperatorWithStringAndEveryType.ts, 5, 3))
>x : string, Symbol(x, Decl(additionOperatorWithStringAndEveryType.ts, 10, 3))
var r12 = e + x;
>r12 : string, Symbol(r12, Decl(additionOperatorWithStringAndEveryType.ts, 27, 3))
>e + x : string
>e : Object, Symbol(e, Decl(additionOperatorWithStringAndEveryType.ts, 6, 3))
>x : string, Symbol(x, Decl(additionOperatorWithStringAndEveryType.ts, 10, 3))
var r13 = f + x;
>r13 : string, Symbol(r13, Decl(additionOperatorWithStringAndEveryType.ts, 28, 3))
>f + x : string
>f : void, Symbol(f, Decl(additionOperatorWithStringAndEveryType.ts, 7, 3))
>x : string, Symbol(x, Decl(additionOperatorWithStringAndEveryType.ts, 10, 3))
var r14 = g + x;
>r14 : string, Symbol(r14, Decl(additionOperatorWithStringAndEveryType.ts, 29, 3))
>g + x : string
>g : E, Symbol(g, Decl(additionOperatorWithStringAndEveryType.ts, 8, 3))
>x : string, Symbol(x, Decl(additionOperatorWithStringAndEveryType.ts, 10, 3))
// other cases
var r15 = x + E;
>r15 : string, Symbol(r15, Decl(additionOperatorWithStringAndEveryType.ts, 32, 3))
>x + E : string
>x : string, Symbol(x, Decl(additionOperatorWithStringAndEveryType.ts, 10, 3))
>E : typeof E, Symbol(E, Decl(additionOperatorWithStringAndEveryType.ts, 0, 0))
var r16 = x + E.a;
>r16 : string, Symbol(r16, Decl(additionOperatorWithStringAndEveryType.ts, 33, 3))
>x + E.a : string
>x : string, Symbol(x, Decl(additionOperatorWithStringAndEveryType.ts, 10, 3))
>E.a : E, Symbol(E.a, Decl(additionOperatorWithStringAndEveryType.ts, 0, 8))
>E : typeof E, Symbol(E, Decl(additionOperatorWithStringAndEveryType.ts, 0, 0))
>a : E, Symbol(E.a, Decl(additionOperatorWithStringAndEveryType.ts, 0, 8))
var r17 = x + '';
>r17 : string, Symbol(r17, Decl(additionOperatorWithStringAndEveryType.ts, 34, 3))
>x + '' : string
>x : string, Symbol(x, Decl(additionOperatorWithStringAndEveryType.ts, 10, 3))
>'' : string
var r18 = x + 0;
>r18 : string, Symbol(r18, Decl(additionOperatorWithStringAndEveryType.ts, 35, 3))
>x + 0 : string
>x : string, Symbol(x, Decl(additionOperatorWithStringAndEveryType.ts, 10, 3))
>0 : number
var r19 = x + { a: '' };
>r19 : string, Symbol(r19, Decl(additionOperatorWithStringAndEveryType.ts, 36, 3))
>x + { a: '' } : string
>x : string, Symbol(x, Decl(additionOperatorWithStringAndEveryType.ts, 10, 3))
>{ a: '' } : { a: string; }
>a : string, Symbol(a, Decl(additionOperatorWithStringAndEveryType.ts, 36, 15))
>'' : string
var r20 = x + [];
>r20 : string, Symbol(r20, Decl(additionOperatorWithStringAndEveryType.ts, 37, 3))
>x + [] : string
>x : string, Symbol(x, Decl(additionOperatorWithStringAndEveryType.ts, 10, 3))
>[] : undefined[]