Skip to content

refactor(compiler): clean up pipeline compatibility distinction#67067

Open
crisbeto wants to merge 1 commit intoangular:mainfrom
crisbeto:pipeline-compat
Open

refactor(compiler): clean up pipeline compatibility distinction#67067
crisbeto wants to merge 1 commit intoangular:mainfrom
crisbeto:pipeline-compat

Conversation

@crisbeto
Copy link
Member

Removes the switch for compatibility mode from the template pipeline since we never got around to removing it and at this point it causes a bunch of runtime errors.

Removes the switch for compatibility mode from the template pipeline since we never got around to removing it and at this point it causes a bunch of runtime errors.
@crisbeto crisbeto added the target: patch This PR is targeted for the next patch release label Feb 14, 2026
@angular-robot angular-robot bot added the area: compiler Issues related to `ngc`, Angular's template compiler label Feb 14, 2026
@ngbot ngbot bot added this to the Backlog milestone Feb 14, 2026
@crisbeto crisbeto added target: minor This PR is targeted for the next minor release and removed target: patch This PR is targeted for the next patch release labels Feb 14, 2026
// is not only simpler and faster, but allows more chaining opportunities for other
// instructions.
unit.create.push(ir.createPipeOp(expr.target, expr.targetSlot, expr.name));
// TODO: We can delete this cast and check once compatibility mode is removed.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can we remove this todo with your change ?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Doesn't look like it, the op isn't narrowed and I wanted to keep the logic as close the the previous one.

@@ -19,7 +19,7 @@ import {literalOrArrayLiteral} from '../conversion';
*/
export function generateProjectionDefs(job: ComponentCompilationJob): void {
// TODO: Why does TemplateDefinitionBuilder force a shared constant?
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

That comment make less sense with the compatibility code removed. Should we reword it ?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I wanted to keep the context.

(e) => {
if (e instanceof ir.AssignTemporaryExpr && tmps.has(e.xref)) {
const read = new ir.ReadTemporaryExpr(e.xref);
// `TemplateDefinitionBuilder` has the (accidental?) behavior of generating assignments of
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Here too I feel like we should reword the comment if we remove the compatibility

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Same as before, I didn't want to lose the context from the comment.

@crisbeto
Copy link
Member Author

Passing TGP

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area: compiler Issues related to `ngc`, Angular's template compiler target: minor This PR is targeted for the next minor release

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants