Skip to content

Commit f2aa9c6

Browse files
karajasonaden
authored andcommitted
refactor(ivy): use generated consts value to set binding index (angular#25533)
PR Close angular#25533
1 parent 4708cb9 commit f2aa9c6

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

52 files changed

+2296
-1767
lines changed

modules/benchmarks/src/largetable/render3/table.ts

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ export class LargeTableComponent {
1919
static ngComponentDef: ComponentDefInternal<LargeTableComponent> = ɵdefineComponent({
2020
type: LargeTableComponent,
2121
selectors: [['largetable']],
22+
consts: 3,
2223
template: function(rf: ɵRenderFlags, ctx: LargeTableComponent) {
2324
if (rf & ɵRenderFlags.Create) {
2425
ɵelementStart(0, 'table');
@@ -33,7 +34,7 @@ export class LargeTableComponent {
3334
ɵcontainerRefreshStart(2);
3435
{
3536
for (let row of ctx.data) {
36-
let rf1 = ɵembeddedViewStart(1);
37+
let rf1 = ɵembeddedViewStart(1, 2);
3738
{
3839
if (rf1 & ɵRenderFlags.Create) {
3940
ɵelementStart(0, 'tr');
@@ -44,7 +45,7 @@ export class LargeTableComponent {
4445
ɵcontainerRefreshStart(1);
4546
{
4647
for (let cell of row) {
47-
let rf2 = ɵembeddedViewStart(2);
48+
let rf2 = ɵembeddedViewStart(2, 2);
4849
{
4950
if (rf2 & ɵRenderFlags.Create) {
5051
ɵelementStart(0, 'td');

modules/benchmarks/src/tree/render3/tree.ts

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,7 @@ export class TreeComponent {
3838
static ngComponentDef = ɵdefineComponent({
3939
type: TreeComponent,
4040
selectors: [['tree']],
41+
consts: 4,
4142
template: function(rf: ɵRenderFlags, ctx: TreeComponent) {
4243
if (rf & ɵRenderFlags.Create) {
4344
ɵelementStart(0, 'span');
@@ -53,7 +54,7 @@ export class TreeComponent {
5354
ɵcontainerRefreshStart(2);
5455
{
5556
if (ctx.data.left != null) {
56-
let rf0 = ɵembeddedViewStart(0);
57+
let rf0 = ɵembeddedViewStart(0, 1);
5758
{
5859
if (rf0 & ɵRenderFlags.Create) {
5960
ɵelementStart(0, 'tree');
@@ -70,7 +71,7 @@ export class TreeComponent {
7071
ɵcontainerRefreshStart(3);
7172
{
7273
if (ctx.data.right != null) {
73-
let rf0 = ɵembeddedViewStart(0);
74+
let rf0 = ɵembeddedViewStart(0, 1);
7475
{
7576
if (rf0 & ɵRenderFlags.Create) {
7677
ɵelementStart(0, 'tree');
@@ -99,6 +100,7 @@ export class TreeFunction {
99100
static ngComponentDef = ɵdefineComponent({
100101
type: TreeFunction,
101102
selectors: [['tree']],
103+
consts: 5,
102104
template: function(rf: ɵRenderFlags, ctx: TreeFunction) {
103105
// bit of a hack
104106
TreeTpl(rf, ctx.data);
@@ -128,7 +130,7 @@ export function TreeTpl(rf: ɵRenderFlags, ctx: TreeNode) {
128130
ɵcontainerRefreshStart(3);
129131
{
130132
if (ctx.left != null) {
131-
let rf0 = ɵembeddedViewStart(0);
133+
let rf0 = ɵembeddedViewStart(0, 5);
132134
{ TreeTpl(rf0, ctx.left); }
133135
ɵembeddedViewEnd();
134136
}
@@ -137,7 +139,7 @@ export function TreeTpl(rf: ɵRenderFlags, ctx: TreeNode) {
137139
ɵcontainerRefreshStart(4);
138140
{
139141
if (ctx.right != null) {
140-
let rf0 = ɵembeddedViewStart(0);
142+
let rf0 = ɵembeddedViewStart(0, 5);
141143
{ TreeTpl(rf0, ctx.right); }
142144
ɵembeddedViewEnd();
143145
}

packages/compiler-cli/test/compliance/r3_compiler_compliance_spec.ts

Lines changed: 29 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -414,6 +414,7 @@ describe('compiler compliance', () => {
414414
return new (t || MyComponent)();
415415
},
416416
features: [$r3$.ɵPublicFeature],
417+
consts: 1,
417418
template:function MyComponent_Template(rf,ctx){
418419
if (rf & 1) {
419420
$r3$.ɵelementStart(0, "div");
@@ -467,6 +468,7 @@ describe('compiler compliance', () => {
467468
selectors: [["child"]],
468469
factory: function ChildComponent_Factory(t) { return new (t || ChildComponent)(); },
469470
features: [$r3$.ɵPublicFeature],
471+
consts: 1,
470472
template: function ChildComponent_Template(rf, ctx) {
471473
if (rf & 1) {
472474
$r3$.ɵtext(0, "child-view");
@@ -493,6 +495,7 @@ describe('compiler compliance', () => {
493495
selectors: [["my-component"]],
494496
factory: function MyComponent_Factory(t) { return new (t || MyComponent)(); },
495497
features: [$r3$.ɵPublicFeature],
498+
consts: 2,
496499
template: function MyComponent_Template(rf, ctx) {
497500
if (rf & 1) {
498501
$r3$.ɵelement(0, "child", $c1$);
@@ -645,10 +648,11 @@ describe('compiler compliance', () => {
645648
selectors: [["my-component"]],
646649
factory: function MyComponent_Factory(t) { return new (t || MyComponent)(); },
647650
features: [$r3$.ɵPublicFeature],
651+
consts: 3,
648652
template: function MyComponent_Template(rf, ctx) {
649653
if (rf & 1) {
650654
$r3$.ɵelementStart(0, "ul", null, $c1$);
651-
$r3$.ɵtemplate(2, MyComponent_li_Template_2, null, $c2$);
655+
$r3$.ɵtemplate(2, MyComponent_li_Template_2, 2, null, $c2$);
652656
$r3$.ɵelementEnd();
653657
}
654658
},
@@ -705,6 +709,7 @@ describe('compiler compliance', () => {
705709
selectors: [["my-app"]],
706710
factory: function MyApp_Factory(t) { return new (t || MyApp)(); },
707711
features: [$r3$.ɵPublicFeature],
712+
consts: 1,
708713
template: function MyApp_Template(rf, ctx) {
709714
if (rf & 1) {
710715
$r3$.ɵelement(0, "my-comp");
@@ -785,6 +790,7 @@ describe('compiler compliance', () => {
785790
selectors: [["my-app"]],
786791
factory: function MyApp_Factory(t) { return new (t || MyApp)(); },
787792
features: [$r3$.ɵPublicFeature],
793+
consts: 1,
788794
template: function MyApp_Template(rf, ctx) {
789795
if (rf & 1) {
790796
$r3$.ɵelement(0, "my-comp");
@@ -847,6 +853,7 @@ describe('compiler compliance', () => {
847853
selectors: [["my-app"]],
848854
factory: function MyApp_Factory(t) { return new (t || MyApp)(); },
849855
features: [$r3$.ɵPublicFeature],
856+
consts: 1,
850857
template: function MyApp_Template(rf, ctx) {
851858
if (rf & 1) {
852859
$r3$.ɵelement(0, "object-comp");
@@ -913,6 +920,7 @@ describe('compiler compliance', () => {
913920
selectors: [["my-app"]],
914921
factory: function MyApp_Factory(t) { return new (t || MyApp)(); },
915922
features: [$r3$.ɵPublicFeature],
923+
consts: 1,
916924
template: function MyApp_Template(rf, ctx) {
917925
if (rf & 1) {
918926
$r3$.ɵelement(0, "nested-comp");
@@ -971,6 +979,7 @@ describe('compiler compliance', () => {
971979
selectors: [["simple"]],
972980
factory: function SimpleComponent_Factory(t) { return new (t || SimpleComponent)(); },
973981
features: [$r3$.ɵPublicFeature],
982+
consts: 2,
974983
template: function SimpleComponent_Template(rf, ctx) {
975984
if (rf & 1) {
976985
$r3$.ɵprojectionDef();
@@ -992,6 +1001,7 @@ describe('compiler compliance', () => {
9921001
selectors: [["complex"]],
9931002
factory: function ComplexComponent_Factory(t) { return new (t || ComplexComponent)(); },
9941003
features: [$r3$.ɵPublicFeature],
1004+
consts: 4,
9951005
template: function ComplexComponent_Template(rf, ctx) {
9961006
if (rf & 1) {
9971007
$r3$.ɵprojectionDef($c1$, $c2$);
@@ -1067,6 +1077,7 @@ describe('compiler compliance', () => {
10671077
($r3$.ɵqueryRefresh(($tmp$ = $r3$.ɵload(0))) && (ctx.someDir = $tmp$.first));
10681078
}
10691079
},
1080+
consts: 2,
10701081
template: function ViewQueryComponent_Template(rf, ctx) {
10711082
if (rf & 1) {
10721083
$r3$.ɵelement(1, "div", $e0_attrs$);
@@ -1134,6 +1145,7 @@ describe('compiler compliance', () => {
11341145
($r3$.ɵqueryRefresh(($tmp$ = $r3$.ɵloadQueryList((queryStartIndex + 1)))) && ($instance$.someDirList = $tmp$));
11351146
},
11361147
features: [$r3$.ɵPublicFeature],
1148+
consts: 2,
11371149
template: function ContentQueryComponent_Template(rf, ctx) {
11381150
if (rf & 1) {
11391151
$r3$.ɵprojectionDef();
@@ -1219,6 +1231,7 @@ describe('compiler compliance', () => {
12191231
selectors: [["my-app"]],
12201232
factory: function MyApp_Factory(t) { return new (t || MyApp)(); },
12211233
features: [$r3$.ɵPublicFeature],
1234+
consts: 6,
12221235
template: function MyApp_Template(rf, ctx) {
12231236
if (rf & 1) {
12241237
$r3$.ɵtext(0);
@@ -1270,6 +1283,7 @@ describe('compiler compliance', () => {
12701283
selectors: [["my-component"]],
12711284
factory: function MyComponent_Factory(t) { return new (t || MyComponent)(); },
12721285
features: [$r3$.ɵPublicFeature],
1286+
consts: 3,
12731287
template: function MyComponent_Template(rf, ctx) {
12741288
if (rf & 1) {
12751289
$r3$.ɵelement(0, "input", null, $c1$);
@@ -1345,7 +1359,7 @@ describe('compiler compliance', () => {
13451359
if (rf & 1) {
13461360
$r3$.ɵelementStart(0, "div");
13471361
$r3$.ɵtext(1);
1348-
$r3$.ɵtemplate(2, MyComponent_div_span_Template_2, null, $c2$);
1362+
$r3$.ɵtemplate(2, MyComponent_div_span_Template_2, 2, null, $c2$);
13491363
$r3$.ɵelement(3, "span", null, $c4$);
13501364
$r3$.ɵelementEnd();
13511365
}
@@ -1362,11 +1376,12 @@ describe('compiler compliance', () => {
13621376
selectors: [["my-component"]],
13631377
factory: function MyComponent_Factory(t) { return new (t || MyComponent)(); },
13641378
features: [$r3$.ɵPublicFeature],
1379+
consts: 6,
13651380
template: function MyComponent_Template(rf, ctx) {
13661381
if (rf & 1) {
13671382
$r3$.ɵelement(0, "div", null, $c1$);
13681383
$r3$.ɵtext(2);
1369-
$r3$.ɵtemplate(3, MyComponent_div_Template_3, null, $c2$);
1384+
$r3$.ɵtemplate(3, MyComponent_div_Template_3, 5, null, $c2$);
13701385
$r3$.ɵelement(4, "div", null, $c3$);
13711386
}
13721387
if (rf & 2) {
@@ -1430,7 +1445,7 @@ describe('compiler compliance', () => {
14301445
if (rf & 1) {
14311446
$i0$.ɵelementStart(0, "div");
14321447
$i0$.ɵelement(1, "div", null, $c1$);
1433-
$i0$.ɵtemplate(3, MyComponent_div_span_Template_3, null, $c2$);
1448+
$i0$.ɵtemplate(3, MyComponent_div_span_Template_3, 2, null, $c2$);
14341449
$i0$.ɵelementEnd();
14351450
}
14361451
if (rf & 2) {
@@ -1442,7 +1457,7 @@ describe('compiler compliance', () => {
14421457
// ...
14431458
template:function MyComponent_Template(rf, ctx){
14441459
if (rf & 1) {
1445-
$i0$.ɵtemplate(0, MyComponent_div_Template_0, null, $c0$);
1460+
$i0$.ɵtemplate(0, MyComponent_div_Template_0, 4, null, $c0$);
14461461
}
14471462
if (rf & 2) {
14481463
$i0$.ɵelementProperty(0, "ngForOf", $i0$.ɵbind(ctx.items));
@@ -1506,6 +1521,7 @@ describe('compiler compliance', () => {
15061521
factory: function LifecycleComp_Factory(t) { return new (t || LifecycleComp)(); },
15071522
inputs: {nameMin: "name"},
15081523
features: [$r3$.ɵPublicFeature, $r3$.ɵNgOnChangesFeature],
1524+
consts: 0,
15091525
template: function LifecycleComp_Template(rf, ctx) {}
15101526
});`;
15111527

@@ -1515,6 +1531,7 @@ describe('compiler compliance', () => {
15151531
selectors: [["simple-layout"]],
15161532
factory: function SimpleLayout_Factory(t) { return new (t || SimpleLayout)(); },
15171533
features: [$r3$.ɵPublicFeature],
1534+
consts: 2,
15181535
template: function SimpleLayout_Template(rf, ctx) {
15191536
if (rf & 1) {
15201537
$r3$.ɵelement(0, "lifecycle-comp");
@@ -1643,11 +1660,12 @@ describe('compiler compliance', () => {
16431660
selectors: [["my-component"]],
16441661
factory: function MyComponent_Factory(t) { return new (t || MyComponent)(); },
16451662
features: [$r3$.ɵPublicFeature],
1663+
consts: 2,
16461664
template: function MyComponent_Template(rf, ctx){
16471665
if (rf & 1) {
16481666
$r3$.ɵnamespaceSVG();
16491667
$r3$.ɵelementStart(0,"svg");
1650-
$r3$.ɵtemplate(1,MyComponent__svg_g_Template_1,null,$_c0$);
1668+
$r3$.ɵtemplate(1, MyComponent__svg_g_Template_1, 2, null, $_c0$);
16511669
$r3$.ɵelementEnd();
16521670
}
16531671
if (rf & 2) { $r3$.ɵelementProperty(1,"forOf",$r3$.ɵbind(ctx.items)); }
@@ -1720,10 +1738,11 @@ describe('compiler compliance', () => {
17201738
selectors: [["my-component"]],
17211739
factory: function MyComponent_Factory(t) { return new (t || MyComponent)(); },
17221740
features: [$r3$.ɵPublicFeature],
1741+
consts: 2,
17231742
template: function MyComponent_Template(rf, ctx) {
17241743
if (rf & 1) {
17251744
$r3$.ɵelementStart(0, "ul");
1726-
$r3$.ɵtemplate(1, MyComponent_li_Template_1, null, $_c0$);
1745+
$r3$.ɵtemplate(1, MyComponent_li_Template_1, 2, null, $_c0$);
17271746
$r3$.ɵelementEnd();
17281747
}
17291748
if (rf & 2) {
@@ -1801,7 +1820,7 @@ describe('compiler compliance', () => {
18011820
$r3$.ɵtext(2);
18021821
$r3$.ɵelementEnd();
18031822
$r3$.ɵelementStart(3, "ul");
1804-
$r3$.ɵtemplate(4, MyComponent_li_li_Template_4, null, $c1$);
1823+
$r3$.ɵtemplate(4, MyComponent_li_li_Template_4, 2, null, $c1$);
18051824
$r3$.ɵelementEnd();
18061825
$r3$.ɵelementEnd();
18071826
}
@@ -1818,10 +1837,11 @@ describe('compiler compliance', () => {
18181837
selectors: [["my-component"]],
18191838
factory: function MyComponent_Factory(t) { return new (t || MyComponent)(); },
18201839
features: [$r3$.ɵPublicFeature],
1840+
consts: 2,
18211841
template: function MyComponent_Template(rf, ctx) {
18221842
if (rf & 1) {
18231843
$r3$.ɵelementStart(0, "ul");
1824-
$r3$.ɵtemplate(1, MyComponent_li_Template_1, null, $c1$);
1844+
$r3$.ɵtemplate(1, MyComponent_li_Template_1, 5, null, $c1$);
18251845
$r3$.ɵelementEnd();
18261846
}
18271847
if (rf & 2) {

packages/compiler-cli/test/compliance/r3_view_compiler_listener_spec.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -112,7 +112,7 @@ describe('compiler compliance: listen()', () => {
112112
// ...
113113
template: function MyComponent_Template(rf, ctx) {
114114
if (rf & 1) {
115-
$r3$.ɵtemplate(0, MyComponent_div_Template_0, null, $c0$);
115+
$r3$.ɵtemplate(0, MyComponent_div_Template_0, 3, null, $c0$);
116116
}
117117
if (rf & 2) {
118118
$i0$.ɵelementProperty(0, "ngIf", $i0$.ɵbind(ctx.showing));
@@ -154,6 +154,7 @@ describe('compiler compliance: listen()', () => {
154154
selectors: [["my-component"]],
155155
factory: function MyComponent_Factory(t) { return new (t || MyComponent)(); },
156156
features: [$r3$.ɵPublicFeature],
157+
consts: 4,
157158
template: function MyComponent_Template(rf, ctx) {
158159
if (rf & 1) {
159160
$r3$.ɵelementStart(0, "button");

packages/compiler-cli/test/compliance/r3_view_compiler_styling_spec.ts

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -94,6 +94,7 @@ describe('compiler compliance: styling', () => {
9494
return new (t || MyComponent)();
9595
},
9696
features: [$r3$.ɵPublicFeature],
97+
consts: 1,
9798
template: function MyComponent_Template(rf, $ctx$) {
9899
if (rf & 1) {
99100
$r3$.ɵelementStart(0, "div");
@@ -151,6 +152,7 @@ describe('compiler compliance: styling', () => {
151152
return new (t || MyComponent)();
152153
},
153154
features: [$r3$.ɵPublicFeature],
155+
consts: 1,
154156
template: function MyComponent_Template(rf, ctx) {
155157
if (rf & 1) {
156158
$r3$.ɵelementStart(0, "div");
@@ -246,6 +248,7 @@ describe('compiler compliance: styling', () => {
246248
return new (t || MyComponent)();
247249
},
248250
features: [$r3$.ɵPublicFeature],
251+
consts: 1,
249252
template: function MyComponent_Template(rf, $ctx$) {
250253
if (rf & 1) {
251254
$r3$.ɵelementStart(0, "div");
@@ -300,6 +303,7 @@ describe('compiler compliance: styling', () => {
300303
return new (t || MyComponent)();
301304
},
302305
features: [$r3$.ɵPublicFeature],
306+
consts: 1,
303307
template: function MyComponent_Template(rf, $ctx$) {
304308
if (rf & 1) {
305309
$r3$.ɵelementStart(0, "div");

0 commit comments

Comments
 (0)