fix(ivy): compiler should emit new refresh pattern (#21862)
Change compiler to reflect changes made in #21650 PR Close #21862
This commit is contained in:
parent
9dca5f2743
commit
06d6c76192
@ -21,7 +21,6 @@ export class Identifiers {
|
|||||||
/* Methods */
|
/* Methods */
|
||||||
static NEW_METHOD = 'n';
|
static NEW_METHOD = 'n';
|
||||||
static HOST_BINDING_METHOD = 'h';
|
static HOST_BINDING_METHOD = 'h';
|
||||||
static REFRESH_METHOD = 'r';
|
|
||||||
|
|
||||||
/* Instructions */
|
/* Instructions */
|
||||||
static createElement: o.ExternalReference = {name: 'ɵE', moduleName: CORE};
|
static createElement: o.ExternalReference = {name: 'ɵE', moduleName: CORE};
|
||||||
|
@ -464,11 +464,10 @@ class TemplateDefinitionBuilder implements TemplateAstVisitor, LocalResolver {
|
|||||||
o.importExpr(R3.bind).callFn([convertedBinding.currValExpr]));
|
o.importExpr(R3.bind).callFn([convertedBinding.currValExpr]));
|
||||||
}
|
}
|
||||||
|
|
||||||
// e.g. TodoComponentDef.r(0, 0);
|
// e.g. r(0, 0);
|
||||||
this._refreshMode.push(
|
this.instruction(
|
||||||
this.definitionOf(directiveType, kind)
|
this._refreshMode, directive.sourceSpan, R3.refreshComponent, o.literal(directiveIndex),
|
||||||
.callMethod(R3.REFRESH_METHOD, [o.literal(directiveIndex), o.literal(nodeIndex)])
|
o.literal(nodeIndex));
|
||||||
.toStmt());
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -208,8 +208,8 @@ describe('r3_view_compiler', () => {
|
|||||||
IDENT.ɵe();
|
IDENT.ɵe();
|
||||||
IDENT.ɵT(3, '!');
|
IDENT.ɵT(3, '!');
|
||||||
}
|
}
|
||||||
ChildComponent.ngComponentDef.r(1, 0);
|
IDENT.ɵr(1, 0);
|
||||||
SomeDirective.ngDirectiveDef.r(2, 0);
|
IDENT.ɵr(2, 0);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
`;
|
`;
|
||||||
@ -272,7 +272,7 @@ describe('r3_view_compiler', () => {
|
|||||||
}
|
}
|
||||||
const IDENT = IDENT.ɵm(1);
|
const IDENT = IDENT.ɵm(1);
|
||||||
IDENT.ɵcR(2);
|
IDENT.ɵcR(2);
|
||||||
IfDirective.ngDirectiveDef.r(3,2);
|
IDENT.ɵr(3,2);
|
||||||
IDENT.ɵcr();
|
IDENT.ɵcr();
|
||||||
|
|
||||||
function MyComponent_IfDirective_Template_2(ctx0: IDENT, cm: IDENT) {
|
function MyComponent_IfDirective_Template_2(ctx0: IDENT, cm: IDENT) {
|
||||||
@ -495,13 +495,11 @@ describe('r3_view_compiler', () => {
|
|||||||
// TODO(chuckj): Enforce this when the directives are specified
|
// TODO(chuckj): Enforce this when the directives are specified
|
||||||
const ForDirectiveDefinition = `
|
const ForDirectiveDefinition = `
|
||||||
static ngDirectiveDef = IDENT.ɵdefineDirective({
|
static ngDirectiveDef = IDENT.ɵdefineDirective({
|
||||||
|
type: ForOfDirective,
|
||||||
factory: function ForOfDirective_Factory() {
|
factory: function ForOfDirective_Factory() {
|
||||||
return new ForOfDirective(IDENT.ɵinjectViewContainerRef(), IDENT.ɵinjectTemplateRef());
|
return new ForOfDirective(IDENT.ɵinjectViewContainerRef(), IDENT.ɵinjectTemplateRef());
|
||||||
},
|
},
|
||||||
features: [IDENT.ɵNgOnChangesFeature(NgForOf)],
|
features: [IDENT.ɵNgOnChangesFeature(NgForOf)],
|
||||||
refresh: function ForOfDirective_Refresh(directiveIndex: IDENT, elementIndex: IDENT) {
|
|
||||||
IDENT.ɵm<ForOfDirective>(directiveIndex).ngDoCheck();
|
|
||||||
},
|
|
||||||
inputs: {forOf: 'forOf'}
|
inputs: {forOf: 'forOf'}
|
||||||
});
|
});
|
||||||
`;
|
`;
|
||||||
@ -519,7 +517,7 @@ describe('r3_view_compiler', () => {
|
|||||||
}
|
}
|
||||||
IDENT.ɵp(1, 'forOf', IDENT.ɵb(ctx.items));
|
IDENT.ɵp(1, 'forOf', IDENT.ɵb(ctx.items));
|
||||||
IDENT.ɵcR(1);
|
IDENT.ɵcR(1);
|
||||||
ForOfDirective.ngDirectiveDef.r(2, 1);
|
IDENT.ɵr(2, 1);
|
||||||
IDENT.ɵcr();
|
IDENT.ɵcr();
|
||||||
|
|
||||||
function MyComponent_ForOfDirective_Template_1(ctx0: IDENT, cm: IDENT) {
|
function MyComponent_ForOfDirective_Template_1(ctx0: IDENT, cm: IDENT) {
|
||||||
@ -593,7 +591,7 @@ describe('r3_view_compiler', () => {
|
|||||||
}
|
}
|
||||||
IDENT.ɵp(1, 'forOf', IDENT.ɵb(ctx.items));
|
IDENT.ɵp(1, 'forOf', IDENT.ɵb(ctx.items));
|
||||||
IDENT.ɵcR(1);
|
IDENT.ɵcR(1);
|
||||||
IDENT.r(2, 1);
|
IDENT.ɵr(2, 1);
|
||||||
IDENT.ɵcr();
|
IDENT.ɵcr();
|
||||||
|
|
||||||
function MyComponent_ForOfDirective_Template_1(ctx0: IDENT, cm: IDENT) {
|
function MyComponent_ForOfDirective_Template_1(ctx0: IDENT, cm: IDENT) {
|
||||||
@ -611,7 +609,7 @@ describe('r3_view_compiler', () => {
|
|||||||
IDENT.ɵp(4, 'forOf', IDENT.ɵb(IDENT.infos));
|
IDENT.ɵp(4, 'forOf', IDENT.ɵb(IDENT.infos));
|
||||||
IDENT.ɵt(2, IDENT.ɵb1('', IDENT.name, ''));
|
IDENT.ɵt(2, IDENT.ɵb1('', IDENT.name, ''));
|
||||||
IDENT.ɵcR(4);
|
IDENT.ɵcR(4);
|
||||||
IDENT.r(5, 4);
|
IDENT.ɵr(5, 4);
|
||||||
IDENT.ɵcr();
|
IDENT.ɵcr();
|
||||||
|
|
||||||
function MyComponent_ForOfDirective_ForOfDirective_Template_4(
|
function MyComponent_ForOfDirective_ForOfDirective_Template_4(
|
||||||
|
Loading…
x
Reference in New Issue
Block a user