build(bazel): Turning on strictPropertyInitialization for Angular. (#24572)

All errors for existing fields have been detected and suppressed with a
`!` assertion.

Issue/24571 is tracking proper clean up of those instances.

One-line change required in ivy/compilation.ts, because it appears that
the new syntax causes tsickle emitted node to no longer track their
original sourceFiles.

PR Close #24572
This commit is contained in:
Rado Kirov
2018-06-18 16:38:33 -07:00
committed by Miško Hevery
parent 39c7769c9e
commit c95437f15d
189 changed files with 1273 additions and 632 deletions
+16 -8
View File
@@ -133,18 +133,22 @@ function isOptionsObj(
*/
export abstract class AbstractControl {
/** @internal */
_pendingDirty: boolean;
// TODO(issue/24571): remove '!'.
_pendingDirty !: boolean;
/** @internal */
_pendingTouched: boolean;
// TODO(issue/24571): remove '!'.
_pendingTouched !: boolean;
/** @internal */
_onCollectionChange = () => {};
/** @internal */
_updateOn: FormHooks;
// TODO(issue/24571): remove '!'.
_updateOn !: FormHooks;
private _parent: FormGroup|FormArray;
// TODO(issue/24571): remove '!'.
private _parent !: FormGroup | FormArray;
private _asyncValidationSubscription: any;
/**
@@ -184,7 +188,8 @@ export abstract class AbstractControl {
* These status values are mutually exclusive, so a control cannot be
* both valid AND invalid or invalid AND disabled.
*/
public readonly status: string;
// TODO(issue/24571): remove '!'.
public readonly status !: string;
/**
* A control is `valid` when its `status` is `VALID`.
@@ -244,7 +249,8 @@ export abstract class AbstractControl {
* An object containing any errors generated by failing validation,
* or null if there are no errors.
*/
public readonly errors: ValidationErrors|null;
// TODO(issue/24571): remove '!'.
public readonly errors !: ValidationErrors | null;
/**
* A control is `pristine` if the user has not yet changed
@@ -284,13 +290,15 @@ export abstract class AbstractControl {
* A multicasting observable that emits an event every time the value of the control changes, in
* the UI or programmatically.
*/
public readonly valueChanges: Observable<any>;
// TODO(issue/24571): remove '!'.
public readonly valueChanges !: Observable<any>;
/**
* A multicasting observable that emits an event every time the validation `status` of the control
* recalculates.
*/
public readonly statusChanges: Observable<any>;
// TODO(issue/24571): remove '!'.
public readonly statusChanges !: Observable<any>;
/**
* Reports the update strategy of the `AbstractControl` (meaning