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
|
=== tests/cases/conformance/expressions/valuesAndReferences/assignments.ts ===
// In this file:
// Assign to a module
// Assign to a class
// Assign to an enum
// Assign to a function
// Assign to a variable
// Assign to a parameter
// Assign to an interface
module M { }
M = null; // Error
>M = null : null
>M : any
>null : null
class C { }
>C : C
C = null; // Error
>C = null : null
>C : any
>null : null
enum E { A }
>E : E
>A : E.A
E = null; // Error
>E = null : null
>E : any
>null : null
E.A = null; // OK per spec, Error per implementation (509581)
>E.A = null : null
>E.A : any
>E : typeof E
>A : any
>null : null
function fn() { }
>fn : () => void
fn = null; // Should be error
>fn = null : null
>fn : any
>null : null
var v;
>v : any
v = null; // OK
>v = null : null
>v : any
>null : null
function fn2(p) {
>fn2 : (p: any) => void
>p : any
p = null; // OK
>p = null : null
>p : any
>null : null
}
interface I { }
I = null; // Error
>I = null : null
>I : any
>null : null
|