test(ivy): Have more descriptive names for LView (#33449)

When debugging `LView`s it is easy to get lost since all of them have
the same name. This change does three things:

1. It makes `TView` have an explicit type:
  - `Host`: for the top level `TView` for bootstrap
  - `Component`: for the `TView` which represents components template
  - `Embedded`: for the `TView` which represents an embedded template
2. It changes the name of `LView` to `LHostView`, `LComponentView`, and
  `LEmbeddedView` depending on the `TView` type.
3. For `LComponentView` and `LEmbeddedView` we also append the name of
  of the `context` constructor. The result is that we have `LView`s which
  are name as: `LComponentView_MyComponent` and `LEmbeddedView_NgIfContext`.

The above changes will make it easier to understand the structure of the
application when debugging.

NOTE: All of these are behind `ngDevMode` and will get removed in
production application.

PR Close #33449
This commit is contained in:
Miško Hevery
2019-10-28 12:08:17 -07:00
committed by Andrew Scott
parent 7bccef516f
commit 4924d73b8e
22 changed files with 227 additions and 62 deletions

View File

@ -354,10 +354,10 @@
"name": "getOrCreateNodeInjectorForNode"
},
{
"name": "getOrCreateTNode"
"name": "getOrCreateTComponentView"
},
{
"name": "getOrCreateTView"
"name": "getOrCreateTNode"
},
{
"name": "getParentInjectorIndex"

View File

@ -273,10 +273,10 @@
"name": "getOrCreateNodeInjectorForNode"
},
{
"name": "getOrCreateTNode"
"name": "getOrCreateTComponentView"
},
{
"name": "getOrCreateTView"
"name": "getOrCreateTNode"
},
{
"name": "getParentInjectorIndex"

View File

@ -723,10 +723,10 @@
"name": "getOrCreateNodeInjectorForNode"
},
{
"name": "getOrCreateTNode"
"name": "getOrCreateTComponentView"
},
{
"name": "getOrCreateTView"
"name": "getOrCreateTNode"
},
{
"name": "getOriginalError"