Skip to content
This repository was archived by the owner on Sep 16, 2022. It is now read-only.

Commit 519d7a2

Browse files
committed
refactor(Compiler): Always emit "checkBinding" instead of "!identical()".
We rely on Dart2JS tree-shaking and inlining to eventually emit: ```dart if (checkBinding(comp.someExpression, _expr1)) { ... } ``` ```js t1 = comp.someExpression; if (!identical(t1, _expr1)) { ... } ``` We think this is reasonable change, given what we are able to do today, and to removing the concept of "debug" mode. The Dart2JS team is confident they can help us here (or with similar issues) in the near future after the Dart2 release. Tracking issue: #1396 (Semantically, this CL changes nothing) PiperOrigin-RevId: 200470516
1 parent e487913 commit 519d7a2

12 files changed

+43
-61
lines changed

_goldens/test/_files/change_detection.template_release.golden

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ class ViewCheckOnceComponent0 extends AppView<import1.CheckOnceComponent> {
4242

4343
void detectHostChanges(bool firstCheck) {
4444
final currVal_0 = ctx.id;
45-
if (!identical(_expr_0, currVal_0)) {
45+
if (import6.checkBinding(_expr_0, currVal_0)) {
4646
setProp(rootEl, 'id', currVal_0);
4747
_expr_0 = currVal_0;
4848
}

_goldens/test/_files/core_directives.template_release.golden

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -110,7 +110,7 @@ class _ViewTestFooComponent2 extends AppView<import1.TestFooComponent> {
110110
void detectChangesInternal() {
111111
final String local_bar = locals['\$implicit'];
112112
final currVal_0 = import8.interpolate0(local_bar);
113-
if (!identical(_expr_0, currVal_0)) {
113+
if (import8.checkBinding(_expr_0, currVal_0)) {
114114
_text_2.text = currVal_0;
115115
_expr_0 = currVal_0;
116116
}

_goldens/test/_files/directives/directive_wrapper.template_release.golden

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,7 @@ class ViewTestFooComponent0 extends AppView<import1.TestFooComponent> {
6060
void detectChangesInternal() {
6161
final import1.TestFooComponent _ctx = ctx;
6262
final currVal_0 = _ctx.rowIndex;
63-
if (!identical(_expr_0, currVal_0)) {
63+
if (import6.checkBinding(_expr_0, currVal_0)) {
6464
_ChildDirective_0_5.instance.gridRow = currVal_0;
6565
_expr_0 = currVal_0;
6666
}
@@ -194,17 +194,17 @@ class ChildDirectiveNgCd extends import9.DirectiveChangeDetector {
194194
ChildDirectiveNgCd(this.instance);
195195
void detectHostChanges(AppView<dynamic> view, import2.Element el) {
196196
final currVal_0 = instance.tabIndex;
197-
if (!identical(_expr_0, currVal_0)) {
197+
if (import6.checkBinding(_expr_0, currVal_0)) {
198198
setProp(el, 'tabIndex', currVal_0);
199199
_expr_0 = currVal_0;
200200
}
201201
final currVal_1 = instance.disabledStr;
202-
if (!identical(_expr_1, currVal_1)) {
202+
if (import6.checkBinding(_expr_1, currVal_1)) {
203203
setAttr(el, 'aria-disabled', currVal_1?.toString());
204204
_expr_1 = currVal_1;
205205
}
206206
final currVal_2 = instance.disabled;
207-
if (!identical(_expr_2, currVal_2)) {
207+
if (import6.checkBinding(_expr_2, currVal_2)) {
208208
updateElemClass(el, 'is-disabled', currVal_2);
209209
_expr_2 = currVal_2;
210210
}
@@ -222,7 +222,7 @@ class FastDirectiveNgCd extends import9.DirectiveChangeDetector {
222222
}
223223
void detectHostChanges(AppView<dynamic> view, import2.Element el) {
224224
final currVal_0 = instance.msg;
225-
if (!identical(_expr_0, currVal_0)) {
225+
if (import6.checkBinding(_expr_0, currVal_0)) {
226226
setAttr(el, 'data-msg', currVal_0?.toString());
227227
_expr_0 = currVal_0;
228228
}

_goldens/test/_files/directives/generics.template_release.golden

Lines changed: 18 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -104,7 +104,7 @@ class ViewUsesUntypedComp0 extends AppView<import1.UsesUntypedComp> {
104104
void detectChangesInternal() {
105105
final import1.UsesUntypedComp _ctx = ctx;
106106
final currVal_0 = _ctx.binding;
107-
if (!identical(_expr_0, currVal_0)) {
107+
if (import6.checkBinding(_expr_0, currVal_0)) {
108108
_UntypedComp_0_5.input = currVal_0;
109109
_expr_0 = currVal_0;
110110
}
@@ -237,7 +237,7 @@ class ViewUsesGenericComp0 extends AppView<import1.UsesGenericComp> {
237237
void detectChangesInternal() {
238238
final import1.UsesGenericComp _ctx = ctx;
239239
final currVal_0 = _ctx.binding;
240-
if (!identical(_expr_0, currVal_0)) {
240+
if (import6.checkBinding(_expr_0, currVal_0)) {
241241
_GenericComp_0_5.input = currVal_0;
242242
_expr_0 = currVal_0;
243243
}
@@ -371,12 +371,12 @@ class ViewUsesMappingComp10 extends AppView<import1.UsesMappingComp1> {
371371
void detectChangesInternal() {
372372
final import1.UsesMappingComp1 _ctx = ctx;
373373
final currVal_0 = _ctx.bindKey;
374-
if (!identical(_expr_0, currVal_0)) {
374+
if (import6.checkBinding(_expr_0, currVal_0)) {
375375
_MappingComp1_0_5.key = currVal_0;
376376
_expr_0 = currVal_0;
377377
}
378378
final currVal_1 = _ctx.bindValue;
379-
if (!identical(_expr_1, currVal_1)) {
379+
if (import6.checkBinding(_expr_1, currVal_1)) {
380380
_MappingComp1_0_5.value = currVal_1;
381381
_expr_1 = currVal_1;
382382
}
@@ -509,7 +509,7 @@ class ViewUsesMappingComp20 extends AppView<import1.UsesMappingComp2> {
509509
void detectChangesInternal() {
510510
final import1.UsesMappingComp2 _ctx = ctx;
511511
final currVal_0 = _ctx.binding;
512-
if (!identical(_expr_0, currVal_0)) {
512+
if (import6.checkBinding(_expr_0, currVal_0)) {
513513
_MappingComp2_0_5.input = currVal_0;
514514
_expr_0 = currVal_0;
515515
}
@@ -642,7 +642,7 @@ class ViewUsesBoundCompWithBounds0 extends AppView<import1.UsesBoundCompWithBoun
642642
void detectChangesInternal() {
643643
final import1.UsesBoundCompWithBounds _ctx = ctx;
644644
final currVal_0 = _ctx.binding;
645-
if (!identical(_expr_0, currVal_0)) {
645+
if (import6.checkBinding(_expr_0, currVal_0)) {
646646
_BoundComp_0_5.input = currVal_0;
647647
_expr_0 = currVal_0;
648648
}
@@ -721,7 +721,7 @@ class ViewUsesBoundComp0 extends AppView<import1.UsesBoundComp> {
721721
void detectChangesInternal() {
722722
final import1.UsesBoundComp _ctx = ctx;
723723
final currVal_0 = _ctx.binding;
724-
if (!identical(_expr_0, currVal_0)) {
724+
if (import6.checkBinding(_expr_0, currVal_0)) {
725725
_BoundComp_0_5.input = currVal_0;
726726
_expr_0 = currVal_0;
727727
}
@@ -855,12 +855,12 @@ class ViewUsesSelfBoundComp0 extends AppView<import1.UsesSelfBoundComp> {
855855
void detectChangesInternal() {
856856
final import1.UsesSelfBoundComp _ctx = ctx;
857857
final currVal_0 = _ctx.bindA;
858-
if (!identical(_expr_0, currVal_0)) {
858+
if (import6.checkBinding(_expr_0, currVal_0)) {
859859
_SelfBoundComp_0_5.a = currVal_0;
860860
_expr_0 = currVal_0;
861861
}
862862
final currVal_1 = _ctx.bindB;
863-
if (!identical(_expr_1, currVal_1)) {
863+
if (import6.checkBinding(_expr_1, currVal_1)) {
864864
_SelfBoundComp_0_5.b = currVal_1;
865865
_expr_1 = currVal_1;
866866
}
@@ -993,7 +993,7 @@ class ViewUsesRecursiveComp0 extends AppView<import1.UsesRecursiveComp> {
993993
void detectChangesInternal() {
994994
final import1.UsesRecursiveComp _ctx = ctx;
995995
final currVal_0 = _ctx.binding;
996-
if (!identical(_expr_0, currVal_0)) {
996+
if (import6.checkBinding(_expr_0, currVal_0)) {
997997
_RecursiveComp_0_5.input = currVal_0;
998998
_expr_0 = currVal_0;
999999
}
@@ -1126,7 +1126,7 @@ class ViewUsesFunctionTypeComp0 extends AppView<import1.UsesFunctionTypeComp> {
11261126
void detectChangesInternal() {
11271127
final import1.UsesFunctionTypeComp _ctx = ctx;
11281128
final currVal_0 = _ctx.binding;
1129-
if (!identical(_expr_0, currVal_0)) {
1129+
if (import6.checkBinding(_expr_0, currVal_0)) {
11301130
_FunctionTypeComp_0_5.input = currVal_0;
11311131
_expr_0 = currVal_0;
11321132
}
@@ -1222,17 +1222,17 @@ class ViewNestedParentComp0 extends AppView<import1.NestedParentComp> {
12221222
void detectChangesInternal() {
12231223
final import1.NestedParentComp _ctx = ctx;
12241224
final currVal_0 = _ctx.input1;
1225-
if (!identical(_expr_0, currVal_0)) {
1225+
if (import6.checkBinding(_expr_0, currVal_0)) {
12261226
_NestedChildComp_0_5.input = currVal_0;
12271227
_expr_0 = currVal_0;
12281228
}
12291229
final currVal_1 = _ctx.input2;
1230-
if (!identical(_expr_1, currVal_1)) {
1230+
if (import6.checkBinding(_expr_1, currVal_1)) {
12311231
_NestedChildComp_1_5.input = currVal_1;
12321232
_expr_1 = currVal_1;
12331233
}
12341234
final currVal_2 = _ctx.moreInputs;
1235-
if (!identical(_expr_2, currVal_2)) {
1235+
if (import6.checkBinding(_expr_2, currVal_2)) {
12361236
_NgFor_2_9.ngForOf = currVal_2;
12371237
_expr_2 = currVal_2;
12381238
}
@@ -1278,7 +1278,7 @@ class _ViewNestedParentComp1 extends AppView<import1.NestedParentComp> {
12781278
void detectChangesInternal() {
12791279
final dynamic local_input = locals['\$implicit'];
12801280
final currVal_0 = local_input;
1281-
if (!identical(_expr_0, currVal_0)) {
1281+
if (import6.checkBinding(_expr_0, currVal_0)) {
12821282
_NestedChildComp_0_5.input = currVal_0;
12831283
_expr_0 = currVal_0;
12841284
}
@@ -1413,17 +1413,17 @@ class ViewUsesNestedParentComp0 extends AppView<import1.UsesNestedParentComp> {
14131413
void detectChangesInternal() {
14141414
final import1.UsesNestedParentComp _ctx = ctx;
14151415
final currVal_0 = _ctx.binding1;
1416-
if (!identical(_expr_0, currVal_0)) {
1416+
if (import6.checkBinding(_expr_0, currVal_0)) {
14171417
_NestedParentComp_0_5.input1 = currVal_0;
14181418
_expr_0 = currVal_0;
14191419
}
14201420
final currVal_1 = _ctx.binding2;
1421-
if (!identical(_expr_1, currVal_1)) {
1421+
if (import6.checkBinding(_expr_1, currVal_1)) {
14221422
_NestedParentComp_0_5.input2 = currVal_1;
14231423
_expr_1 = currVal_1;
14241424
}
14251425
final currVal_2 = _ctx.moreBindings;
1426-
if (!identical(_expr_2, currVal_2)) {
1426+
if (import6.checkBinding(_expr_2, currVal_2)) {
14271427
_NestedParentComp_0_5.moreInputs = currVal_2;
14281428
_expr_2 = currVal_2;
14291429
}

_goldens/test/_files/directives/intl_component.template_release.golden

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -53,12 +53,12 @@ class ViewCompWithoutFinal0 extends AppView<import1.CompWithoutFinal> {
5353
void detectChangesInternal() {
5454
final import1.CompWithoutFinal _ctx = ctx;
5555
final currVal_0 = (_ctx.okMessage ?? '');
56-
if (!identical(_expr_0, currVal_0)) {
56+
if (import6.checkBinding(_expr_0, currVal_0)) {
5757
_text_1.text = currVal_0;
5858
_expr_0 = currVal_0;
5959
}
6060
final currVal_1 = (_ctx.cancelMessage ?? '');
61-
if (!identical(_expr_1, currVal_1)) {
61+
if (import6.checkBinding(_expr_1, currVal_1)) {
6262
_text_4.text = currVal_1;
6363
_expr_1 = currVal_1;
6464
}

_goldens/test/_files/directives/nested_ng_for.template_release.golden

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ class ViewNestedNgForComponent0 extends AppView<import1.NestedNgForComponent> {
5050
void detectChangesInternal() {
5151
final import1.NestedNgForComponent _ctx = ctx;
5252
final currVal_0 = _ctx.matrix;
53-
if (!identical(_expr_0, currVal_0)) {
53+
if (import8.checkBinding(_expr_0, currVal_0)) {
5454
_NgFor_0_9.ngForOf = currVal_0;
5555
_expr_0 = currVal_0;
5656
}
@@ -95,7 +95,7 @@ class _ViewNestedNgForComponent1 extends AppView<import1.NestedNgForComponent> {
9595
void detectChangesInternal() {
9696
final List<int> local_row = locals['\$implicit'];
9797
final currVal_0 = local_row;
98-
if (!identical(_expr_0, currVal_0)) {
98+
if (import8.checkBinding(_expr_0, currVal_0)) {
9999
_NgFor_1_9.ngForOf = currVal_0;
100100
_expr_0 = currVal_0;
101101
}
@@ -136,7 +136,7 @@ class _ViewNestedNgForComponent2 extends AppView<import1.NestedNgForComponent> {
136136
void detectChangesInternal() {
137137
final local_value = locals['\$implicit'];
138138
final currVal_0 = import8.interpolate0(local_value);
139-
if (!identical(_expr_0, currVal_0)) {
139+
if (import8.checkBinding(_expr_0, currVal_0)) {
140140
_text_1.text = currVal_0;
141141
_expr_0 = currVal_0;
142142
}

_goldens/test/_files/host.template_release.golden

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -105,17 +105,17 @@ class ViewHostComponent0 extends AppView<import1.HostComponent> {
105105
}
106106
}
107107
final currVal_0 = ctx.title;
108-
if (!identical(_expr_0, currVal_0)) {
108+
if (import6.checkBinding(_expr_0, currVal_0)) {
109109
setProp(rootEl, 'title', currVal_0);
110110
_expr_0 = currVal_0;
111111
}
112112
final currVal_1 = ctx.title;
113-
if (!identical(_expr_1, currVal_1)) {
113+
if (import6.checkBinding(_expr_1, currVal_1)) {
114114
setAttr(rootEl, 'aria-title', currVal_1?.toString());
115115
_expr_1 = currVal_1;
116116
}
117117
final currVal_2 = ctx.isDisabled;
118-
if (!identical(_expr_2, currVal_2)) {
118+
if (import6.checkBinding(_expr_2, currVal_2)) {
119119
updateElemClass(rootEl, 'is-disabled', currVal_2);
120120
_expr_2 = currVal_2;
121121
}

_goldens/test/_files/inlined_ngif.template_release.golden

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ class ViewInlinedNgIfComponent0 extends AppView<import1.InlinedNgIfComponent> {
4444
void detectChangesInternal() {
4545
final import1.InlinedNgIfComponent _ctx = ctx;
4646
final currVal_0 = (_ctx.foo == true);
47-
if (!identical(_expr_0, currVal_0)) {
47+
if (import6.checkBinding(_expr_0, currVal_0)) {
4848
if (currVal_0) {
4949
var doc = import2.document;
5050
_el_0_0 = doc.createElement('div');

_goldens/test/_files/interpolation.template_release.golden

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@ class ViewInterpolationComponent0 extends AppView<import1.InterpolationComponent
4545
void detectChangesInternal() {
4646
final import1.InterpolationComponent _ctx = ctx;
4747
final currVal_0 = (_ctx.foo ?? '');
48-
if (!identical(_expr_0, currVal_0)) {
48+
if (import6.checkBinding(_expr_0, currVal_0)) {
4949
_text_1.text = currVal_0;
5050
_expr_0 = currVal_0;
5151
}
@@ -116,7 +116,7 @@ class ViewInterpolationComponentNoWhitespace0 extends AppView<import1.Interpolat
116116
void detectChangesInternal() {
117117
final import1.InterpolationComponentNoWhitespace _ctx = ctx;
118118
final currVal_0 = (_ctx.foo ?? '');
119-
if (!identical(_expr_0, currVal_0)) {
119+
if (import6.checkBinding(_expr_0, currVal_0)) {
120120
_text_1.text = currVal_0;
121121
_expr_0 = currVal_0;
122122
}

_goldens/test/_files/pipes.template_release.golden

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -75,22 +75,22 @@ class ViewComp0 extends AppView<import1.Comp> {
7575
void detectChangesInternal() {
7676
final import1.Comp _ctx = ctx;
7777
final currVal_0 = import7.interpolate0(_pipe_pure_0_0('foo'));
78-
if (!identical(_expr_0, currVal_0)) {
78+
if (import7.checkBinding(_expr_0, currVal_0)) {
7979
_text_0.text = currVal_0;
8080
_expr_0 = currVal_0;
8181
}
8282
final currVal_1 = import7.interpolate0(_pipe_dirty_1.transform('bar'));
83-
if (!identical(_expr_1, currVal_1)) {
83+
if (import7.checkBinding(_expr_1, currVal_1)) {
8484
_text_2.text = currVal_1;
8585
_expr_1 = currVal_1;
8686
}
8787
final currVal_2 = import7.interpolate0(_pipe_lifecycle_2_0('lifecycle'));
88-
if (!identical(_expr_2, currVal_2)) {
88+
if (import7.checkBinding(_expr_2, currVal_2)) {
8989
_text_4.text = currVal_2;
9090
_expr_2 = currVal_2;
9191
}
9292
final currVal_3 = import7.interpolate0(_pipe_types_3_0('types', 1, 2, _ctx.c, _ctx.d));
93-
if (!identical(_expr_3, currVal_3)) {
93+
if (import7.checkBinding(_expr_3, currVal_3)) {
9494
_text_6.text = currVal_3;
9595
_expr_3 = currVal_3;
9696
}

0 commit comments

Comments
 (0)