HaxeFoundation / HaxeFoundation/haxe
loop unrolling creates unnecessary variables
- Dominant language
- Haxe
- Stars
- 6.9k
- Forks
- 715
- Avg merge
- 2d 2h
- Merged PRs (30d)
- 11
Description
just something we could probably improve in the loop unrolling filter:
```haxe
class Main {
static function main() {
for (i in [1,2,3]) {
trace(i);
}
}
}
```
currently generates:
```js
Main.main = function() {
var i = 1;
console.log("src/Main.hx:4:",i);
var i1 = 2;
console.log("src/Main.hx:4:",i1);
var i2 = 3;
console.log("src/Main.hx:4:",i2);
};
```
ideally it would generate only one variable declaration and reassign it, like this:
```js
Main.main = function() {
var i = 1;
console.log("src/Main.hx:4:",i);
i = 2;
console.log("src/Main.hx:4:",i);
i = 3;
console.log("src/Main.hx:4:",i);
};
```
Contributor guide
Assessment
This issue has not been assessed yet.