refactor(core): Remove circular dependency on `render3` JIT and ViewEngine (#39621)

JIT needs to identify which type is `ChangeDetectorRef`. It was doing so
by importing `ChangeDetectorRef` and than comparing the types. This creates
circular dependency as well as prevents tree shaking. The new solution is
to brand the class with `__ChangeDetectorRef__` so that it can be identified
without creating circular dependency.

PR Close #39621
This commit is contained in:
Misko Hevery 2020-11-10 10:49:53 -08:00 committed by atscott
parent 6d1d3c6a98
commit 1ac68e3f2b
5 changed files with 310 additions and 222 deletions

View File

@ -112,28 +112,6 @@
"packages/compiler/src/render3/view/styling_builder.ts",
"packages/compiler/src/render3/view/template.ts"
],
[
"packages/core/src/application_init.ts",
"packages/core/src/di.ts",
"packages/core/src/di/index.ts",
"packages/core/src/di/injectable.ts",
"packages/core/src/di/jit/injectable.ts",
"packages/core/src/di/jit/util.ts",
"packages/core/src/change_detection/change_detector_ref.ts",
"packages/core/src/render3/view_ref.ts",
"packages/core/src/application_ref.ts"
],
[
"packages/core/src/application_ref.ts",
"packages/core/src/application_tokens.ts",
"packages/core/src/di.ts",
"packages/core/src/di/index.ts",
"packages/core/src/di/injectable.ts",
"packages/core/src/di/jit/injectable.ts",
"packages/core/src/di/jit/util.ts",
"packages/core/src/change_detection/change_detector_ref.ts",
"packages/core/src/render3/view_ref.ts"
],
[
"packages/core/src/application_ref.ts",
"packages/core/src/application_tokens.ts",
@ -144,120 +122,19 @@
],
[
"packages/core/src/application_ref.ts",
"packages/core/src/application_tokens.ts",
"packages/core/src/error_handler.ts",
"packages/core/src/errors.ts",
"packages/core/src/view/types.ts",
"packages/core/src/linker/component_factory.ts",
"packages/core/src/change_detection/change_detection.ts",
"packages/core/src/change_detection/differs/default_keyvalue_differ.ts",
"packages/core/src/change_detection/differs/keyvalue_differs.ts",
"packages/core/src/di.ts",
"packages/core/src/di/index.ts",
"packages/core/src/di/injectable.ts",
"packages/core/src/di/jit/injectable.ts",
"packages/core/src/di/jit/util.ts",
"packages/core/src/change_detection/change_detector_ref.ts",
"packages/core/src/render3/view_ref.ts"
],
[
"packages/core/src/application_ref.ts",
"packages/core/src/application_tokens.ts",
"packages/core/src/linker/component_factory.ts",
"packages/core/src/linker/view_ref.ts"
],
[
"packages/core/src/application_ref.ts",
"packages/core/src/application_tokens.ts",
"packages/core/src/linker/component_factory.ts",
"packages/core/src/linker/view_ref.ts",
"packages/core/src/change_detection/change_detector_ref.ts",
"packages/core/src/render3/view_ref.ts"
],
[
"packages/core/src/application_ref.ts",
"packages/core/src/console.ts",
"packages/core/src/di.ts",
"packages/core/src/di/index.ts",
"packages/core/src/di/injectable.ts",
"packages/core/src/di/jit/injectable.ts",
"packages/core/src/di/jit/util.ts",
"packages/core/src/change_detection/change_detector_ref.ts",
"packages/core/src/render3/view_ref.ts"
],
[
"packages/core/src/application_ref.ts",
"packages/core/src/di/injectable.ts",
"packages/core/src/di/jit/injectable.ts",
"packages/core/src/di/jit/util.ts",
"packages/core/src/change_detection/change_detector_ref.ts",
"packages/core/src/render3/view_ref.ts"
],
[
"packages/core/src/application_ref.ts",
"packages/core/src/error_handler.ts",
"packages/core/src/errors.ts",
"packages/core/src/view/types.ts",
"packages/core/src/di.ts",
"packages/core/src/di/index.ts",
"packages/core/src/di/injectable.ts",
"packages/core/src/di/jit/injectable.ts",
"packages/core/src/di/jit/util.ts",
"packages/core/src/change_detection/change_detector_ref.ts",
"packages/core/src/render3/view_ref.ts"
],
[
"packages/core/src/application_ref.ts",
"packages/core/src/error_handler.ts",
"packages/core/src/errors.ts",
"packages/core/src/view/types.ts",
"packages/core/src/linker/template_ref.ts",
"packages/core/src/render3/instructions/shared.ts",
"packages/core/src/di.ts",
"packages/core/src/di/index.ts",
"packages/core/src/di/injectable.ts",
"packages/core/src/di/jit/injectable.ts",
"packages/core/src/di/jit/util.ts",
"packages/core/src/change_detection/change_detector_ref.ts",
"packages/core/src/render3/view_ref.ts"
],
[
"packages/core/src/application_ref.ts",
"packages/core/src/error_handler.ts",
"packages/core/src/errors.ts",
"packages/core/src/view/types.ts",
"packages/core/src/linker/template_ref.ts",
"packages/core/src/render3/instructions/shared.ts",
"packages/core/src/render3/instructions/lview_debug.ts",
"packages/core/src/core.ts",
"packages/core/src/metadata.ts",
"packages/core/src/di.ts",
"packages/core/src/di/index.ts",
"packages/core/src/di/injectable.ts",
"packages/core/src/di/jit/injectable.ts",
"packages/core/src/di/jit/util.ts",
"packages/core/src/change_detection/change_detector_ref.ts",
"packages/core/src/render3/view_ref.ts"
],
[
"packages/core/src/application_ref.ts",
"packages/core/src/error_handler.ts",
"packages/core/src/errors.ts",
"packages/core/src/view/types.ts",
"packages/core/src/linker/template_ref.ts",
"packages/core/src/render3/view_ref.ts"
],
[
"packages/core/src/application_ref.ts",
"packages/core/src/error_handler.ts",
"packages/core/src/errors.ts",
"packages/core/src/view/types.ts",
"packages/core/src/linker/view_container_ref.ts",
"packages/core/src/render3/view_ref.ts"
],
[
"packages/core/src/application_ref.ts",
"packages/core/src/linker/compiler.ts",
"packages/core/src/di/injectable.ts",
"packages/core/src/di/jit/injectable.ts",
"packages/core/src/di/jit/util.ts",
"packages/core/src/linker/component_factory.ts",
"packages/core/src/change_detection/change_detection.ts",
"packages/core/src/change_detection/change_detector_ref.ts",
"packages/core/src/render3/view_ref.ts"
],
@ -265,11 +142,17 @@
"packages/core/src/application_ref.ts",
"packages/core/src/linker/compiler.ts",
"packages/core/src/metadata.ts",
"packages/core/src/di.ts",
"packages/core/src/di/index.ts",
"packages/core/src/di/injectable.ts",
"packages/core/src/di/jit/injectable.ts",
"packages/core/src/di/jit/util.ts",
"packages/core/src/metadata/directives.ts",
"packages/core/src/render3/jit/directive.ts",
"packages/core/src/render3/jit/environment.ts",
"packages/core/src/render3/index.ts",
"packages/core/src/render3/component.ts",
"packages/core/src/render3/instructions/shared.ts",
"packages/core/src/error_handler.ts",
"packages/core/src/errors.ts",
"packages/core/src/view/types.ts",
"packages/core/src/linker/component_factory.ts",
"packages/core/src/change_detection/change_detection.ts",
"packages/core/src/change_detection/change_detector_ref.ts",
"packages/core/src/render3/view_ref.ts"
],
@ -280,18 +163,49 @@
"packages/core/src/change_detection/change_detector_ref.ts",
"packages/core/src/render3/view_ref.ts"
],
[
"packages/core/src/application_ref.ts",
"packages/core/src/linker/compiler.ts",
"packages/core/src/render3/component_ref.ts",
"packages/core/src/linker/component_factory_resolver.ts",
"packages/core/src/linker/component_factory.ts",
"packages/core/src/change_detection/change_detection.ts",
"packages/core/src/change_detection/change_detector_ref.ts",
"packages/core/src/render3/view_ref.ts"
],
[
"packages/core/src/application_ref.ts",
"packages/core/src/linker/compiler.ts",
"packages/core/src/render3/component_ref.ts",
"packages/core/src/linker/component_factory.ts",
"packages/core/src/change_detection/change_detection.ts",
"packages/core/src/change_detection/change_detector_ref.ts",
"packages/core/src/render3/view_ref.ts"
],
[
"packages/core/src/application_ref.ts",
"packages/core/src/linker/compiler.ts",
"packages/core/src/render3/component_ref.ts",
"packages/core/src/render3/component.ts",
"packages/core/src/core.ts",
"packages/core/src/metadata.ts",
"packages/core/src/di.ts",
"packages/core/src/di/index.ts",
"packages/core/src/di/injectable.ts",
"packages/core/src/di/jit/injectable.ts",
"packages/core/src/di/jit/util.ts",
"packages/core/src/render3/instructions/shared.ts",
"packages/core/src/error_handler.ts",
"packages/core/src/errors.ts",
"packages/core/src/view/types.ts",
"packages/core/src/linker/component_factory.ts",
"packages/core/src/change_detection/change_detection.ts",
"packages/core/src/change_detection/change_detector_ref.ts",
"packages/core/src/render3/view_ref.ts"
],
[
"packages/core/src/application_ref.ts",
"packages/core/src/linker/compiler.ts",
"packages/core/src/render3/component_ref.ts",
"packages/core/src/render3/instructions/shared.ts",
"packages/core/src/error_handler.ts",
"packages/core/src/errors.ts",
"packages/core/src/view/types.ts",
"packages/core/src/linker/component_factory.ts",
"packages/core/src/change_detection/change_detection.ts",
"packages/core/src/change_detection/change_detector_ref.ts",
"packages/core/src/render3/view_ref.ts"
],
@ -306,14 +220,85 @@
"packages/core/src/linker/compiler.ts",
"packages/core/src/render3/component_ref.ts",
"packages/core/src/view/provider.ts",
"packages/core/src/di.ts",
"packages/core/src/di/index.ts",
"packages/core/src/di/injectable.ts",
"packages/core/src/di/jit/injectable.ts",
"packages/core/src/di/jit/util.ts",
"packages/core/src/change_detection/change_detection.ts",
"packages/core/src/change_detection/change_detector_ref.ts",
"packages/core/src/render3/view_ref.ts"
],
[
"packages/core/src/application_ref.ts",
"packages/core/src/linker/compiler.ts",
"packages/core/src/render3/component_ref.ts",
"packages/core/src/view/provider.ts",
"packages/core/src/linker/template_ref.ts",
"packages/core/src/linker/view_ref.ts"
],
[
"packages/core/src/application_ref.ts",
"packages/core/src/linker/compiler.ts",
"packages/core/src/render3/component_ref.ts",
"packages/core/src/view/provider.ts",
"packages/core/src/linker/template_ref.ts",
"packages/core/src/linker/view_ref.ts",
"packages/core/src/change_detection/change_detector_ref.ts",
"packages/core/src/render3/view_ref.ts"
],
[
"packages/core/src/application_ref.ts",
"packages/core/src/linker/compiler.ts",
"packages/core/src/render3/component_ref.ts",
"packages/core/src/view/provider.ts",
"packages/core/src/linker/template_ref.ts",
"packages/core/src/render3/instructions/shared.ts",
"packages/core/src/error_handler.ts",
"packages/core/src/errors.ts",
"packages/core/src/view/types.ts",
"packages/core/src/linker/component_factory.ts",
"packages/core/src/change_detection/change_detection.ts",
"packages/core/src/change_detection/change_detector_ref.ts",
"packages/core/src/render3/view_ref.ts"
],
[
"packages/core/src/application_ref.ts",
"packages/core/src/linker/compiler.ts",
"packages/core/src/render3/component_ref.ts",
"packages/core/src/view/provider.ts",
"packages/core/src/linker/template_ref.ts",
"packages/core/src/render3/view_ref.ts"
],
[
"packages/core/src/application_ref.ts",
"packages/core/src/linker/compiler.ts",
"packages/core/src/render3/component_ref.ts",
"packages/core/src/view/provider.ts",
"packages/core/src/linker/view_container_ref.ts",
"packages/core/src/linker/component_factory.ts",
"packages/core/src/change_detection/change_detection.ts",
"packages/core/src/change_detection/change_detector_ref.ts",
"packages/core/src/render3/view_ref.ts"
],
[
"packages/core/src/application_ref.ts",
"packages/core/src/linker/compiler.ts",
"packages/core/src/render3/component_ref.ts",
"packages/core/src/view/provider.ts",
"packages/core/src/linker/view_container_ref.ts",
"packages/core/src/render3/instructions/shared.ts",
"packages/core/src/error_handler.ts",
"packages/core/src/errors.ts",
"packages/core/src/view/types.ts",
"packages/core/src/linker/component_factory.ts",
"packages/core/src/change_detection/change_detection.ts",
"packages/core/src/change_detection/change_detector_ref.ts",
"packages/core/src/render3/view_ref.ts"
],
[
"packages/core/src/application_ref.ts",
"packages/core/src/linker/compiler.ts",
"packages/core/src/render3/component_ref.ts",
"packages/core/src/view/provider.ts",
"packages/core/src/linker/view_container_ref.ts",
"packages/core/src/render3/view_ref.ts"
],
[
"packages/core/src/application_ref.ts",
"packages/core/src/linker/compiler.ts",
@ -323,84 +308,183 @@
],
[
"packages/core/src/application_ref.ts",
"packages/core/src/metadata/resource_loading.ts",
"packages/core/src/metadata/directives.ts",
"packages/core/src/di.ts",
"packages/core/src/di/index.ts",
"packages/core/src/di/injectable.ts",
"packages/core/src/di/jit/injectable.ts",
"packages/core/src/di/jit/util.ts",
"packages/core/src/linker/compiler.ts",
"packages/core/src/render3/component_ref.ts",
"packages/core/src/view/provider.ts",
"packages/core/src/view/refs.ts",
"packages/core/src/change_detection/change_detection.ts",
"packages/core/src/change_detection/change_detector_ref.ts",
"packages/core/src/render3/view_ref.ts"
],
[
"packages/core/src/application_ref.ts",
"packages/core/src/metadata/resource_loading.ts",
"packages/core/src/metadata/directives.ts",
"packages/core/src/render3/jit/directive.ts",
"packages/core/src/di/jit/util.ts",
"packages/core/src/linker/compiler.ts",
"packages/core/src/render3/component_ref.ts",
"packages/core/src/view/provider.ts",
"packages/core/src/view/refs.ts",
"packages/core/src/linker/component_factory.ts",
"packages/core/src/change_detection/change_detection.ts",
"packages/core/src/change_detection/change_detector_ref.ts",
"packages/core/src/render3/view_ref.ts"
],
[
"packages/core/src/application_ref.ts",
"packages/core/src/metadata/resource_loading.ts",
"packages/core/src/linker/compiler.ts",
"packages/core/src/render3/component_ref.ts",
"packages/core/src/view/provider.ts",
"packages/core/src/view/refs.ts",
"packages/core/src/view/ng_module.ts",
"packages/core/src/view/types.ts",
"packages/core/src/linker/component_factory.ts",
"packages/core/src/change_detection/change_detection.ts",
"packages/core/src/change_detection/change_detector_ref.ts",
"packages/core/src/render3/view_ref.ts"
],
[
"packages/core/src/application_ref.ts",
"packages/core/src/linker/compiler.ts",
"packages/core/src/render3/component_ref.ts",
"packages/core/src/view/provider.ts",
"packages/core/src/view/refs.ts",
"packages/core/src/view/ng_module.ts",
"packages/core/src/view/util.ts",
"packages/core/src/change_detection/change_detection.ts",
"packages/core/src/change_detection/change_detector_ref.ts",
"packages/core/src/render3/view_ref.ts"
],
[
"packages/core/src/application_ref.ts",
"packages/core/src/linker/compiler.ts",
"packages/core/src/render3/component_ref.ts",
"packages/core/src/view/provider.ts",
"packages/core/src/view/refs.ts",
"packages/core/src/view/ng_module.ts",
"packages/core/src/view/util.ts",
"packages/core/src/view/errors.ts",
"packages/core/src/errors.ts",
"packages/core/src/view/types.ts",
"packages/core/src/linker/component_factory.ts",
"packages/core/src/change_detection/change_detection.ts",
"packages/core/src/change_detection/change_detector_ref.ts",
"packages/core/src/render3/view_ref.ts"
],
[
"packages/core/src/application_ref.ts",
"packages/core/src/linker/compiler.ts",
"packages/core/src/render3/component_ref.ts",
"packages/core/src/view/provider.ts",
"packages/core/src/view/refs.ts",
"packages/core/src/view/ng_module.ts",
"packages/core/src/view/util.ts",
"packages/core/src/view/errors.ts",
"packages/core/src/view/types.ts",
"packages/core/src/linker/component_factory.ts",
"packages/core/src/change_detection/change_detection.ts",
"packages/core/src/change_detection/change_detector_ref.ts",
"packages/core/src/render3/view_ref.ts"
],
[
"packages/core/src/application_ref.ts",
"packages/core/src/linker/compiler.ts",
"packages/core/src/render3/component_ref.ts",
"packages/core/src/view/provider.ts",
"packages/core/src/view/refs.ts",
"packages/core/src/view/ng_module.ts",
"packages/core/src/view/util.ts",
"packages/core/src/view/types.ts",
"packages/core/src/linker/component_factory.ts",
"packages/core/src/change_detection/change_detection.ts",
"packages/core/src/change_detection/change_detector_ref.ts",
"packages/core/src/render3/view_ref.ts"
],
[
"packages/core/src/application_ref.ts",
"packages/core/src/linker/compiler.ts",
"packages/core/src/render3/component_ref.ts",
"packages/core/src/view/provider.ts",
"packages/core/src/view/refs.ts",
"packages/core/src/view/types.ts",
"packages/core/src/linker/component_factory.ts",
"packages/core/src/change_detection/change_detection.ts",
"packages/core/src/change_detection/change_detector_ref.ts",
"packages/core/src/render3/view_ref.ts"
],
[
"packages/core/src/application_ref.ts",
"packages/core/src/linker/compiler.ts",
"packages/core/src/render3/component_ref.ts",
"packages/core/src/view/provider.ts",
"packages/core/src/view/refs.ts",
"packages/core/src/view/view_attach.ts",
"packages/core/src/view/types.ts",
"packages/core/src/linker/component_factory.ts",
"packages/core/src/change_detection/change_detection.ts",
"packages/core/src/change_detection/change_detector_ref.ts",
"packages/core/src/render3/view_ref.ts"
],
[
"packages/core/src/application_ref.ts",
"packages/core/src/linker/compiler.ts",
"packages/core/src/render3/component_ref.ts",
"packages/core/src/view/provider.ts",
"packages/core/src/view/types.ts",
"packages/core/src/linker/component_factory.ts",
"packages/core/src/change_detection/change_detection.ts",
"packages/core/src/change_detection/change_detector_ref.ts",
"packages/core/src/render3/view_ref.ts"
],
[
"packages/core/src/application_ref.ts",
"packages/core/src/linker/component_factory.ts",
"packages/core/src/change_detection/change_detection.ts",
"packages/core/src/change_detection/change_detector_ref.ts",
"packages/core/src/render3/view_ref.ts"
],
[
"packages/core/src/application_ref.ts",
"packages/core/src/render3/util/global_utils.ts",
"packages/core/src/render3/util/change_detection_utils.ts",
"packages/core/src/render3/instructions/change_detection.ts",
"packages/core/src/render3/instructions/shared.ts",
"packages/core/src/error_handler.ts",
"packages/core/src/errors.ts",
"packages/core/src/view/types.ts",
"packages/core/src/linker/component_factory.ts",
"packages/core/src/change_detection/change_detection.ts",
"packages/core/src/change_detection/change_detector_ref.ts",
"packages/core/src/render3/view_ref.ts"
],
[
"packages/core/src/application_ref.ts",
"packages/core/src/render3/util/global_utils.ts",
"packages/core/src/render3/util/change_detection_utils.ts",
"packages/core/src/render3/util/discovery_utils.ts",
"packages/core/src/render3/instructions/lview_debug.ts",
"packages/core/src/core.ts",
"packages/core/src/metadata.ts",
"packages/core/src/metadata/directives.ts",
"packages/core/src/render3/jit/directive.ts",
"packages/core/src/render3/jit/environment.ts",
"packages/core/src/render3/index.ts",
"packages/core/src/render3/features/providers_feature.ts",
"packages/core/src/render3/di_setup.ts",
"packages/core/src/render3/instructions/all.ts",
"packages/core/src/render3/instructions/di.ts",
"packages/core/src/di.ts",
"packages/core/src/di/index.ts",
"packages/core/src/di/injectable.ts",
"packages/core/src/di/jit/injectable.ts",
"packages/core/src/di/jit/util.ts",
"packages/core/src/render3/component.ts",
"packages/core/src/render3/instructions/shared.ts",
"packages/core/src/error_handler.ts",
"packages/core/src/errors.ts",
"packages/core/src/view/types.ts",
"packages/core/src/linker/component_factory.ts",
"packages/core/src/change_detection/change_detection.ts",
"packages/core/src/change_detection/change_detector_ref.ts",
"packages/core/src/render3/view_ref.ts"
],
[
"packages/core/src/application_ref.ts",
"packages/core/src/metadata/resource_loading.ts",
"packages/core/src/metadata/directives.ts",
"packages/core/src/render3/jit/directive.ts",
"packages/core/src/render3/jit/environment.ts",
"packages/core/src/render3/index.ts",
"packages/core/src/render3/view_engine_compatibility_prebound.ts",
"packages/core/src/change_detection/change_detection.ts",
"packages/core/src/change_detection/change_detector_ref.ts",
"packages/core/src/render3/view_ref.ts"
],
[
"packages/core/src/application_ref.ts",
"packages/core/src/metadata/resource_loading.ts",
"packages/core/src/metadata/directives.ts",
"packages/core/src/render3/jit/directive.ts",
"packages/core/src/render3/jit/module.ts",
"packages/core/src/di/jit/util.ts",
"packages/core/src/change_detection/change_detector_ref.ts",
"packages/core/src/render3/view_ref.ts"
],
[
"packages/core/src/application_ref.ts",
"packages/core/src/metadata/resource_loading.ts",
"packages/core/src/metadata/directives.ts",
"packages/core/src/render3/jit/pipe.ts",
"packages/core/src/di/jit/util.ts",
"packages/core/src/change_detection/change_detector_ref.ts",
"packages/core/src/render3/view_ref.ts"
],
[
"packages/core/src/application_ref.ts",
"packages/core/src/testability/testability.ts",
"packages/core/src/di.ts",
"packages/core/src/di/index.ts",
"packages/core/src/di/injectable.ts",
"packages/core/src/di/jit/injectable.ts",
"packages/core/src/di/jit/util.ts",
"packages/core/src/change_detection/change_detector_ref.ts",
"packages/core/src/render3/view_ref.ts"
"packages/core/src/render3/view_ref.ts",
"packages/core/src/render3/instructions/shared.ts",
"packages/core/src/error_handler.ts",
"packages/core/src/errors.ts",
"packages/core/src/view/types.ts",
"packages/core/src/linker/component_factory.ts"
],
[
"packages/core/src/change_detection/change_detector_ref.ts",
@ -428,6 +512,15 @@
"packages/core/src/render3/definition.ts",
"packages/core/src/render3/interfaces/definition.ts"
],
[
"packages/core/src/core.ts",
"packages/core/src/metadata.ts",
"packages/core/src/metadata/directives.ts",
"packages/core/src/render3/jit/directive.ts",
"packages/core/src/render3/jit/environment.ts",
"packages/core/src/render3/index.ts",
"packages/core/src/render3/component.ts"
],
[
"packages/core/src/debug/debug_node.ts",
"packages/core/src/view/index.ts",
@ -510,18 +603,6 @@
"packages/core/src/errors.ts",
"packages/core/src/view/types.ts"
],
[
"packages/core/src/error_handler.ts",
"packages/core/src/errors.ts",
"packages/core/src/view/types.ts",
"packages/core/src/linker/template_ref.ts",
"packages/core/src/render3/instructions/shared.ts"
],
[
"packages/core/src/linker/component_factory_resolver.ts",
"packages/core/src/linker/component_factory.ts",
"packages/core/src/linker/ng_module_factory.ts"
],
[
"packages/core/src/linker/component_factory_resolver.ts",
"packages/core/src/linker/ng_module_factory.ts"

View File

@ -12,8 +12,8 @@
* for late binding of `@angular/compiler` for JIT purposes.
*
* This file has two copies. Please ensure that they are in sync:
* - packages/compiler/src/compiler_facade_interface.ts (master)
* - packages/core/src/compiler/compiler_facade_interface.ts (copy)
* - packages/compiler/src/compiler_facade_interface.ts (main)
* - packages/core/src/compiler/compiler_facade_interface.ts (replica)
*
* Please ensure that the two files are in sync using this command:
* ```

View File

@ -126,6 +126,14 @@ export abstract class ChangeDetectorRef {
* @nocollapse
*/
static __NG_ELEMENT_ID__: () => ChangeDetectorRef = SWITCH_CHANGE_DETECTOR_REF_FACTORY;
/**
* This marker is need so that the JIT compiler can correctly identify this class as special.
*
* @internal
* @nocollapse
*/
static __ChangeDetectorRef__ = true;
}

View File

@ -12,8 +12,8 @@
* for late binding of `@angular/compiler` for JIT purposes.
*
* This file has two copies. Please ensure that they are in sync:
* - packages/compiler/src/compiler_facade_interface.ts (master)
* - packages/core/src/compiler/compiler_facade_interface.ts (copy)
* - packages/compiler/src/compiler_facade_interface.ts (main)
* - packages/core/src/compiler/compiler_facade_interface.ts (replica)
*
* Please ensure that the two files are in sync using this command:
* ```

View File

@ -6,7 +6,6 @@
* found in the LICENSE file at https://angular.io/license
*/
import {ChangeDetectorRef} from '../../change_detection/change_detector_ref';
import {CompilerFacade, getCompilerFacade, R3DependencyMetadataFacade, R3ResolvedDependencyType} from '../../compiler/compiler_facade';
import {Type} from '../../interface/type';
import {ReflectionCapabilities} from '../../reflection/reflection_capabilities';
@ -68,7 +67,7 @@ function reflectDependency(compiler: CompilerFacade, dep: any|any[]): R3Dependen
}
meta.token = param.attributeName;
meta.resolved = compiler.R3ResolvedDependencyType.Attribute;
} else if (param === ChangeDetectorRef) {
} else if (param.__ChangeDetectorRef__ === true) {
meta.token = param;
meta.resolved = compiler.R3ResolvedDependencyType.ChangeDetectorRef;
} else {