| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
Sorry, something went wrong.
Fixes microsoft#8277. It feels wrong to put a new `forEachChild` loop in the checker, though in the vast majority of user files this will be a very quick one. Is there a better way to check for a reference to `super` or `this`?
TransformFlags.Super | TransformFlags.ContainsSuper for super at least. |
Sorry, something went wrong.
…boundaries
```ts
function () {
return this;
}
```
It was immediately going to `ts.forEachChild` so the statement itself wasn't being counted as a new `this` scope.
There was a problem hiding this comment.
This is getting very complex very fast. I wonder if there's an easier way using the control flow graph?
Sorry, something went wrong.
As per discussion in the issue, it would be ideal to consider any block that always ends up calling to super() the equivalent of a root-level super() statement. This would be valid:
```ts
foo = 1;
constructor() {
condition() ? super(1) : super(0);
this.foo;
}
```
...as it would compile to the equivalent of:
```ts
function () {
condition() ? super(1) : super(0);
this.foo = 1;
this.foo;
}
That change would a bit more intense and I'm very timid, so leaving it out of this PR. In the meantime the requirement is that the super() statement must itself be root-level.
|
cc Anders Hejlsberg (@ahejlsberg) for review |
Sorry, something went wrong.
|
Ping Anders Hejlsberg (@ahejlsberg) - is there anything that needs to be done here? It'd be nice to have this in 😄 |
Sorry, something went wrong.
|
Correction: ping, Wesley Wigham (@weswigham)? |
Sorry, something went wrong.
|
Ron Buckton (@rbuckton) Is there anything else that Josh Goldberg ✨ (@JoshuaKGoldberg) can do to move this forward? |
Sorry, something went wrong.
|
TypeScript Bot (@typescript-bot) user test this inline |
Sorry, something went wrong.
|
Heya Ron Buckton (@rbuckton), I'm starting to run the inline community code test suite on this PR at 1b3dd6d. Hold tight - I'll update this comment with the log link once the build has been queued. |
Sorry, something went wrong.
Nope, it looks ready to go actually, and just in time for 4.6 beta. |
Sorry, something went wrong.
|
Fantastic, thanks so much for the reviews & merge Ron Buckton (@rbuckton)! If any issues come out of this change I'm available to try to fix, if that's helpful. |
Sorry, something went wrong.
|
The longest-living PR I have ever seen. 😳 |
Sorry, something went wrong.
|
YES!!! Thank you!🎉 🎉 🎉 |
Sorry, something went wrong.
|
🥳🎉🎉 |
Sorry, something went wrong.
|
Amazing work and perseverance. Awesome! |
Sorry, something went wrong.
|
Man! Awesome. The perseverance! 🎉 |
Sorry, something went wrong.
|
Does it mean that now super is going to be invoked the first time never mind where he is located in the constructor? |
Sorry, something went wrong.
…rosoft/TypeScript#29374 The minimum TypeScript dependency is lifted to 4.6.2
|
Congrats, apparently the cake did it's job! 🎉 |
Sorry, something went wrong.
|
Guy you've made it reddit programmer humor front page! https://www.reddit.com/r/ProgrammerHumor/comments/waa0lz/if_youre_ever_frustrated_that_your_github_prs/ |
Sorry, something went wrong.
|
grats on the PR |
Sorry, something went wrong.
|
Congrats !! Happy for you! |
Sorry, something went wrong.
| Back | FazBrowse Home | New Git URL |
Starts on #8277 by allowing the non-this, non-super code to be root-level statements in the constructor. This will now be allowed:
It feels wrong to put a new forEachChild loop in the checker, though in the vast majority of user files this will be a very quick one. Is there a better way to check for a reference to super or this?
Edit 2/28/2020: I've mostly resolved the merge conflicts introduced by both # private fields & useDefineForClassFields , but I'm not confident my approach is still a valid one. I'd greatly appreciate it if someone could confirm I'm on the right track!
Oh, and gulp runtests passes locally (on Windows). I'll try a Mac to see if there's some odd encoding/whitespace behavior with the failing test... ✔️
Edit 3/11/2021: It seems this is fairly close to merging.
Edit 1/13/2022: I bought this PR a birthday cake for its third birthday. https://twitter.com/JoshuaKGoldberg/status/1481654056422567944