Support definite assignment assertion x!: i32 (#260)

This commit is contained in:
Andy Hanson
2018-10-27 09:29:59 -07:00
committed by Daniel Wirtz
parent e58582e9e9
commit 0bb5cb829e
9 changed files with 84 additions and 17 deletions

View File

@ -0,0 +1,9 @@
class C {
x!: i32;
x!: i32 = 0;
static x!: i32;
}
function f(): void {
let x!: i32;
let x!: i32 = 0;
}

View File

@ -0,0 +1,12 @@
class C {
x!: i32;
x!: i32 = 0;
static x!: i32;
}
function f(): void {
let x!: i32;
let x!: i32 = 0;
}
// ERROR 1255: "A definite assignment assertion '!' is not permitted in this context." in definite-assignment-assertion.ts:3:10
// ERROR 1255: "A definite assignment assertion '!' is not permitted in this context." in definite-assignment-assertion.ts:4:14
// ERROR 1255: "A definite assignment assertion '!' is not permitted in this context." in definite-assignment-assertion.ts:8:6

View File

@ -0,0 +1,3 @@
class C {
x?: i32;
}

View File

@ -0,0 +1,4 @@
class C {
x: i32;
}
// ERROR 219: "Optional properties are not supported." in optional-property.ts:2:9