refactor: use view engine also for NgModuleFactory
s (#16658)
* refactor(core): provide error message in stack for reflective DI Fixes #16355 * fix(compiler): make AOT work with `noUnusedParameters` Fixes #15532 * refactor: use view engine also for `NgModuleFactory`s This is a prerequisite for being able to mock providers in AOTed code later on.
This commit is contained in:
@ -96,7 +96,17 @@ export class ProviderElementContext {
|
||||
}
|
||||
|
||||
get transformProviders(): ProviderAst[] {
|
||||
return Array.from(this._transformedProviders.values());
|
||||
// Note: Maps keep their insertion order.
|
||||
const lazyProviders: ProviderAst[] = [];
|
||||
const eagerProviders: ProviderAst[] = [];
|
||||
this._transformedProviders.forEach(provider => {
|
||||
if (provider.eager) {
|
||||
eagerProviders.push(provider);
|
||||
} else {
|
||||
lazyProviders.push(provider);
|
||||
}
|
||||
});
|
||||
return lazyProviders.concat(eagerProviders);
|
||||
}
|
||||
|
||||
get transformedDirectiveAsts(): DirectiveAst[] {
|
||||
@ -316,7 +326,17 @@ export class NgModuleProviderAnalyzer {
|
||||
const errorString = this._errors.join('\n');
|
||||
throw new Error(`Provider parse errors:\n${errorString}`);
|
||||
}
|
||||
return Array.from(this._transformedProviders.values());
|
||||
// Note: Maps keep their insertion order.
|
||||
const lazyProviders: ProviderAst[] = [];
|
||||
const eagerProviders: ProviderAst[] = [];
|
||||
this._transformedProviders.forEach(provider => {
|
||||
if (provider.eager) {
|
||||
eagerProviders.push(provider);
|
||||
} else {
|
||||
lazyProviders.push(provider);
|
||||
}
|
||||
});
|
||||
return lazyProviders.concat(eagerProviders);
|
||||
}
|
||||
|
||||
private _getOrCreateLocalProvider(token: CompileTokenMetadata, eager: boolean): ProviderAst|null {
|
||||
|
Reference in New Issue
Block a user