58 lines
1.4 KiB
Text
58 lines
1.4 KiB
Text
|
=== 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
|