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

View File

@ -117,12 +117,14 @@ const summaryResolver = new AotSummaryResolver(
export class DiagnosticContext {
// tslint:disable
_analyzedModules: NgAnalyzedModules;
// TODO(issue/24571): remove '!'.
_analyzedModules !: NgAnalyzedModules;
_staticSymbolResolver: StaticSymbolResolver|undefined;
_reflector: StaticReflector|undefined;
_errors: {e: any, path?: string}[] = [];
_resolver: CompileMetadataResolver|undefined;
_refletor: StaticReflector;
// TODO(issue/24571): remove '!'.
_refletor !: StaticReflector;
// tslint:enable
constructor(

View File

@ -102,7 +102,8 @@ export class MockNode implements ts.Node {
export class MockIdentifier extends MockNode implements ts.Identifier {
public text: string;
public escapedText: ts.__String;
// TODO(issue/24571): remove '!'.
public escapedText !: ts.__String;
// tslint:disable
public _declarationBrand: any;
public _primaryExpressionBrand: any;
@ -139,7 +140,8 @@ export class MockVariableDeclaration extends MockNode implements ts.VariableDecl
}
export class MockSymbol implements ts.Symbol {
public escapedName: ts.__String;
// TODO(issue/24571): remove '!'.
public escapedName !: ts.__String;
constructor(
public name: string, private node: ts.Declaration = MockVariableDeclaration.of(name),
public flags: ts.SymbolFlags = 0) {}