mirror of
https://github.com/angular/angular
synced 2026-05-24 09:28:37 +00:00
This commit reworks the partial evaluation system's concept of a ForeignFunctionResolver. Previously, resolvers were expected to return a `ts.Expression` which the partial evaluator would continue evaluating, eventually returning a value. This works well for "transparent" foreign functions like `forwardRef`, but for things like `ModuleWithProviders` it breaks down, because the desired resolution value (the NgModule `Reference`) is _not_ the "correct" evaluation of the function call. To support better FFR implementations, this commit refactors the FFR system so that resolvers operate on the `ts.CallExpression` instead, and are given a callback to resolve further expressions if needed. If they cannot resolve a given call expression, they have an `unresolvable` value that they can return to indicate that. PR Close #45701 |
||
|---|---|---|
| .. | ||
| integrationtest | ||
| linker | ||
| ngcc | ||
| private | ||
| src | ||
| test | ||
| BUILD.bazel | ||
| esbuild.config.js | ||
| import_meta_url.d.ts | ||
| index.ts | ||
| package.json | ||
| tsconfig-build.json | ||
| tsconfig.json | ||