-
-
Notifications
You must be signed in to change notification settings - Fork 47
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add iteration and other events related things #187
base: main
Are you sure you want to change the base?
Conversation
- Add basic destructuring into array declaration based on iterator protocol object
- `var` in for loop treat as `let` - Allow `function` after `return` - Change `examples.yml` to not short-circuit (hopefully)
- Fix class hoisting issues - Move some things in specification.md - Change some things around `max_inline` - Fix printing flush issue in reporting in CLI
None | ||
} else { | ||
|
||
let should_create_dependent_output = !types |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@lemueldls found the fix for function newRegExp(name: string) { return new RegExp(name) }
. Turns out for new RegExp
with some non-constant string it creates a new object with regexp prototype (bc it is a constructor), which I think is fine. But the problem is because it is just an object, it is considered constant and so didn't generate a non-constant result for the function call. Now fixed by changing adding this condition to account for the edge case.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Would be cool to get String.prototype.match
and String.prototype.matchAll
etc working but need to do some investigation into all the oddities of the Symbol.match
stuff
Also just sent you an invite to the contributor and sponsor repository that contains the LSP if you want to try it out (like I did earlier. Repository here https://github.com/eznolab/super-ezno-and-lsp
- Use for return state - Move return state from LocalInformation -> Syntax - Add parseFloat
- Iteration parts broken - Default value side effect broken - Still things in staging
- Enables `contains` narrowing - Implementation is a little spaghetti but sorta makes sense!
- Fix merge problems - Fix clippy
Would love to merge some of the improvements now (for the release) but unfortunately I think a lot more could be done on this. I have tested this a bit on some projects and unfortunately while there are improvements it doesn't quite completely clear some event / control flow issues. There are a few issues with the |
- Change SubstitutionArguments - `contains` -> `includes` 🤦♂️ - Formatting
Symbols
->Symbol
Accumulator
, a structure for handling returns state (sort of control flow graph, but not really)--basic
flag that basically turns off event application (in an attempt to simplify)Array.prototype.contains
narrowing for arrays with known members and lengthenum
supportMap.prototype.get
andMap.prototype.set
constant functionalityTODO
for of
Array.prototype[Symbol.iterator]
Array.prototype.filter
narrowing and possiblyMap
?RegExp
narrowing