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
|
=== 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 : Symbol(M, Decl(assignments.ts, 0, 0))
M = null; // Error
class C { }
>C : Symbol(C, Decl(assignments.ts, 10, 9))
C = null; // Error
>C : Symbol(C, Decl(assignments.ts, 10, 9))
enum E { A }
>E : Symbol(E, Decl(assignments.ts, 13, 9))
>A : Symbol(E.A, Decl(assignments.ts, 15, 8))
E = null; // Error
>E : Symbol(E, Decl(assignments.ts, 13, 9))
E.A = null; // OK per spec, Error per implementation (509581)
>E.A : Symbol(E.A, Decl(assignments.ts, 15, 8))
>E : Symbol(E, Decl(assignments.ts, 13, 9))
>A : Symbol(E.A, Decl(assignments.ts, 15, 8))
function fn() { }
>fn : Symbol(fn, Decl(assignments.ts, 17, 11))
fn = null; // Should be error
>fn : Symbol(fn, Decl(assignments.ts, 17, 11))
var v;
>v : Symbol(v, Decl(assignments.ts, 22, 3))
v = null; // OK
>v : Symbol(v, Decl(assignments.ts, 22, 3))
function fn2(p) {
>fn2 : Symbol(fn2, Decl(assignments.ts, 23, 9))
>p : Symbol(p, Decl(assignments.ts, 25, 13))
p = null; // OK
>p : Symbol(p, Decl(assignments.ts, 25, 13))
}
interface I { }
>I : Symbol(I, Decl(assignments.ts, 27, 1))
I = null; // Error
|