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:
@ -33,7 +33,8 @@ class ReflectorModuleModuleResolutionHost implements ts.ModuleResolutionHost, Me
|
||||
return undefined !;
|
||||
}
|
||||
|
||||
directoryExists: (directoryName: string) => boolean;
|
||||
// TODO(issue/24571): remove '!'.
|
||||
directoryExists !: (directoryName: string) => boolean;
|
||||
|
||||
getSourceFileMetadata(fileName: string) {
|
||||
const sf = this.getProgram().getSourceFile(fileName);
|
||||
|
@ -61,22 +61,33 @@ export class DummyResourceLoader extends ResourceLoader {
|
||||
* @experimental
|
||||
*/
|
||||
export class TypeScriptServiceHost implements LanguageServiceHost {
|
||||
private _resolver: CompileMetadataResolver|null;
|
||||
// TODO(issue/24571): remove '!'.
|
||||
private _resolver !: CompileMetadataResolver | null;
|
||||
private _staticSymbolCache = new StaticSymbolCache();
|
||||
private _summaryResolver: AotSummaryResolver;
|
||||
private _staticSymbolResolver: StaticSymbolResolver;
|
||||
private _reflector: StaticReflector|null;
|
||||
private _reflectorHost: ReflectorHost;
|
||||
private _checker: ts.TypeChecker|null;
|
||||
// TODO(issue/24571): remove '!'.
|
||||
private _summaryResolver !: AotSummaryResolver;
|
||||
// TODO(issue/24571): remove '!'.
|
||||
private _staticSymbolResolver !: StaticSymbolResolver;
|
||||
// TODO(issue/24571): remove '!'.
|
||||
private _reflector !: StaticReflector | null;
|
||||
// TODO(issue/24571): remove '!'.
|
||||
private _reflectorHost !: ReflectorHost;
|
||||
// TODO(issue/24571): remove '!'.
|
||||
private _checker !: ts.TypeChecker | null;
|
||||
private _typeCache: Symbol[] = [];
|
||||
private context: string|undefined;
|
||||
private lastProgram: ts.Program|undefined;
|
||||
private modulesOutOfDate: boolean = true;
|
||||
private analyzedModules: NgAnalyzedModules|null;
|
||||
private service: LanguageService;
|
||||
private fileToComponent: Map<string, StaticSymbol>|null;
|
||||
private templateReferences: string[]|null;
|
||||
private collectedErrors: Map<string, any[]>|null;
|
||||
// TODO(issue/24571): remove '!'.
|
||||
private analyzedModules !: NgAnalyzedModules | null;
|
||||
// TODO(issue/24571): remove '!'.
|
||||
private service !: LanguageService;
|
||||
// TODO(issue/24571): remove '!'.
|
||||
private fileToComponent !: Map<string, StaticSymbol>| null;
|
||||
// TODO(issue/24571): remove '!'.
|
||||
private templateReferences !: string[] | null;
|
||||
// TODO(issue/24571): remove '!'.
|
||||
private collectedErrors !: Map<string, any[]>| null;
|
||||
private fileVersions = new Map<string, string>();
|
||||
|
||||
constructor(private host: ts.LanguageServiceHost, private tsService: ts.LanguageService) {}
|
||||
|
Reference in New Issue
Block a user