[13.3.x] fix(compiler-cli): handle inline type-check blocks in nullish coalescing extended check#45478
Closed
JoostK wants to merge 3 commits intoangular:13.3.xfrom
Closed
[13.3.x] fix(compiler-cli): handle inline type-check blocks in nullish coalescing extended check#45478JoostK wants to merge 3 commits intoangular:13.3.xfrom
JoostK wants to merge 3 commits intoangular:13.3.xfrom
Conversation
Inline type check blocks (TCBs) are emitted into the original source file, but node positions would still be represented as a `ShimLocation` with a `shimPath` corresponding with the type-checking shim file. This results in inconsistencies, as the `positionInShimFile` field of `ShimLocation` would not correspond with the `shimPath` of that `ShimLocation`. This commit is a precursor to letting `ShimLocation` also represent the correct location for inline type check blocks, by renaming the interface to `TcbLocation`. A followup commit addresses the actual inconsistency.
…h a shim file Extends `TcbPosition` with a field that indicates whether the `tcbPath` is a type-checking shim file, or an original source file with an inline type check block. This field is used in an upcoming commit that fixes an inconsistency with how inline type check blocks are incorrectly interpreted as a type-checking shim file instead.
…ing extended check This commit fixes an inconsistency where a type check location for an inline type check block would be interpreted to occur in a type-checking shim instead. This resulted in a missing template mapping, causing a crash due to an unsafe non-null assertion operator. In the prior commit the `TcbLocation` has been extended with an `isShimFile` field that is now being used to look for the template mapping in the correct location. Additionally, the non-null assertion operator is refactored such that a missing template mapping will now ignore the warning instead of crashing the compiler. Fixes angular#45413
Member
Author
|
merge-assistance: presubmit not needed since this only targets 13.3 and the size failure is inherited from 13.3.x and addressed independently in #45480. |
Contributor
|
This PR was merged into the repository by commit 7f53c0f. |
dylhunn
pushed a commit
that referenced
this pull request
Mar 30, 2022
Inline type check blocks (TCBs) are emitted into the original source file, but node positions would still be represented as a `ShimLocation` with a `shimPath` corresponding with the type-checking shim file. This results in inconsistencies, as the `positionInShimFile` field of `ShimLocation` would not correspond with the `shimPath` of that `ShimLocation`. This commit is a precursor to letting `ShimLocation` also represent the correct location for inline type check blocks, by renaming the interface to `TcbLocation`. A followup commit addresses the actual inconsistency. PR Close #45478
dylhunn
pushed a commit
that referenced
this pull request
Mar 30, 2022
…h a shim file (#45478) Extends `TcbPosition` with a field that indicates whether the `tcbPath` is a type-checking shim file, or an original source file with an inline type check block. This field is used in an upcoming commit that fixes an inconsistency with how inline type check blocks are incorrectly interpreted as a type-checking shim file instead. PR Close #45478
dylhunn
pushed a commit
that referenced
this pull request
Mar 30, 2022
…ing extended check (#45478) This commit fixes an inconsistency where a type check location for an inline type check block would be interpreted to occur in a type-checking shim instead. This resulted in a missing template mapping, causing a crash due to an unsafe non-null assertion operator. In the prior commit the `TcbLocation` has been extended with an `isShimFile` field that is now being used to look for the template mapping in the correct location. Additionally, the non-null assertion operator is refactored such that a missing template mapping will now ignore the warning instead of crashing the compiler. Fixes #45413 PR Close #45478
crapStone
pushed a commit
to Calciumdibromid/CaBr2
that referenced
this pull request
Mar 31, 2022
This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [@angular/animations](https://github.com/angular/angular) | dependencies | patch | [`13.3.0` -> `13.3.1`](https://renovatebot.com/diffs/npm/@angular%2fanimations/13.3.0/13.3.1) | | [@angular/common](https://github.com/angular/angular) | dependencies | patch | [`13.3.0` -> `13.3.1`](https://renovatebot.com/diffs/npm/@angular%2fcommon/13.3.0/13.3.1) | | [@angular/compiler](https://github.com/angular/angular) | dependencies | patch | [`13.3.0` -> `13.3.1`](https://renovatebot.com/diffs/npm/@angular%2fcompiler/13.3.0/13.3.1) | | [@angular/compiler-cli](https://github.com/angular/angular) | devDependencies | patch | [`13.3.0` -> `13.3.1`](https://renovatebot.com/diffs/npm/@angular%2fcompiler-cli/13.3.0/13.3.1) | | [@angular/core](https://github.com/angular/angular) | dependencies | patch | [`13.3.0` -> `13.3.1`](https://renovatebot.com/diffs/npm/@angular%2fcore/13.3.0/13.3.1) | | [@angular/forms](https://github.com/angular/angular) | dependencies | patch | [`13.3.0` -> `13.3.1`](https://renovatebot.com/diffs/npm/@angular%2fforms/13.3.0/13.3.1) | | [@angular/platform-browser](https://github.com/angular/angular) | dependencies | patch | [`13.3.0` -> `13.3.1`](https://renovatebot.com/diffs/npm/@angular%2fplatform-browser/13.3.0/13.3.1) | | [@angular/platform-browser-dynamic](https://github.com/angular/angular) | dependencies | patch | [`13.3.0` -> `13.3.1`](https://renovatebot.com/diffs/npm/@angular%2fplatform-browser-dynamic/13.3.0/13.3.1) | --- ### Release Notes <details> <summary>angular/angular</summary> ### [`v13.3.1`](https://github.com/angular/angular/blob/HEAD/CHANGELOG.md#​1331-2022-03-30) [Compare Source](angular/angular@13.3.0...13.3.1) ##### bazel | Commit | Type | Description | | -- | -- | -- | | [960e42b2ac](angular/angular@960e42b) | fix | ng module compilation workers are subject to linker race-conditions ([#​45393](angular/angular#45393)) | ##### compiler | Commit | Type | Description | | -- | -- | -- | | [3714305f84](angular/angular@3714305) | fix | scope css rules within `@layer` blocks ([#​45396](angular/angular#45396)) | ##### compiler-cli | Commit | Type | Description | | -- | -- | -- | | [7f53c0f4ac](angular/angular@7f53c0f) | fix | handle inline type-check blocks in nullish coalescing extended check ([#​45478](angular/angular#45478)) | #### Special Thanks AlirezaEbrahimkhani, Andrew Kushnir, Andrew Scott, Ben Brook, Dylan Hunn, George Kalpakas, JiaLiPassion, Joey Perrott, JoostK, Mike, Paul Gschwendtner, Willian Corrêa, arturovt, dario-piotrowicz, khai and mgechev <!-- CHANGELOG SPLIT MARKER --> </details> --- ### Configuration 📅 **Schedule**: At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about these updates again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, click this checkbox. --- This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate). Co-authored-by: cabr2-bot <cabr2.help@gmail.com> Reviewed-on: https://codeberg.org/Calciumdibromid/CaBr2/pulls/1277 Reviewed-by: 6543 <6543@noreply.codeberg.org> Co-authored-by: Calciumdibromid Bot <cabr2_bot@noreply.codeberg.org> Co-committed-by: Calciumdibromid Bot <cabr2_bot@noreply.codeberg.org>
|
This issue has been automatically locked due to inactivity. Read more about our automatic conversation locking policy. This action has been performed automatically by a bot. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.


Backport of #45454