125 lines
2 KiB
Plaintext
125 lines
2 KiB
Plaintext
=== tests/cases/conformance/expressions/assignmentOperator/compoundAssignmentLHSIsReference.ts ===
|
|
var value;
|
|
>value : any
|
|
|
|
// identifiers: variable and parameter
|
|
var x1: number;
|
|
>x1 : number
|
|
|
|
x1 *= value;
|
|
>x1 *= value : number
|
|
>x1 : number
|
|
>value : any
|
|
|
|
x1 += value;
|
|
>x1 += value : any
|
|
>x1 : number
|
|
>value : any
|
|
|
|
function fn1(x2: number) {
|
|
>fn1 : (x2: number) => void
|
|
>x2 : number
|
|
|
|
x2 *= value;
|
|
>x2 *= value : number
|
|
>x2 : number
|
|
>value : any
|
|
|
|
x2 += value;
|
|
>x2 += value : any
|
|
>x2 : number
|
|
>value : any
|
|
}
|
|
|
|
// property accesses
|
|
var x3: { a: number };
|
|
>x3 : { a: number; }
|
|
>a : number
|
|
|
|
x3.a *= value;
|
|
>x3.a *= value : number
|
|
>x3.a : number
|
|
>x3 : { a: number; }
|
|
>a : number
|
|
>value : any
|
|
|
|
x3.a += value;
|
|
>x3.a += value : any
|
|
>x3.a : number
|
|
>x3 : { a: number; }
|
|
>a : number
|
|
>value : any
|
|
|
|
x3['a'] *= value;
|
|
>x3['a'] *= value : number
|
|
>x3['a'] : number
|
|
>x3 : { a: number; }
|
|
>value : any
|
|
|
|
x3['a'] += value;
|
|
>x3['a'] += value : any
|
|
>x3['a'] : number
|
|
>x3 : { a: number; }
|
|
>value : any
|
|
|
|
// parentheses, the contained expression is reference
|
|
(x1) *= value;
|
|
>(x1) *= value : number
|
|
>(x1) : number
|
|
>x1 : number
|
|
>value : any
|
|
|
|
(x1) += value;
|
|
>(x1) += value : any
|
|
>(x1) : number
|
|
>x1 : number
|
|
>value : any
|
|
|
|
function fn2(x4: number) {
|
|
>fn2 : (x4: number) => void
|
|
>x4 : number
|
|
|
|
(x4) *= value;
|
|
>(x4) *= value : number
|
|
>(x4) : number
|
|
>x4 : number
|
|
>value : any
|
|
|
|
(x4) += value;
|
|
>(x4) += value : any
|
|
>(x4) : number
|
|
>x4 : number
|
|
>value : any
|
|
}
|
|
|
|
(x3.a) *= value;
|
|
>(x3.a) *= value : number
|
|
>(x3.a) : number
|
|
>x3.a : number
|
|
>x3 : { a: number; }
|
|
>a : number
|
|
>value : any
|
|
|
|
(x3.a) += value;
|
|
>(x3.a) += value : any
|
|
>(x3.a) : number
|
|
>x3.a : number
|
|
>x3 : { a: number; }
|
|
>a : number
|
|
>value : any
|
|
|
|
(x3['a']) *= value;
|
|
>(x3['a']) *= value : number
|
|
>(x3['a']) : number
|
|
>x3['a'] : number
|
|
>x3 : { a: number; }
|
|
>value : any
|
|
|
|
(x3['a']) += value;
|
|
>(x3['a']) += value : any
|
|
>(x3['a']) : number
|
|
>x3['a'] : number
|
|
>x3 : { a: number; }
|
|
>value : any
|
|
|