HaxeFoundation / HaxeFoundation/haxe

Compiler fails to optimize pointless variable assignments

Open
#7,976 2 comments 0 reactions 1 assignee Claimed by @Simn View on GitHub
feature-analyzer
Dominant language
Haxe
Stars
6.9k
Forks
715
Avg merge
2d 2h
Merged PRs (30d)
11

Description

Obviously in this little minor example it's no big deal, but I have an issue with inlined constructors for transformation matrices that spews out hundreds of pointless dummy variable assignments over and over.

Haxe code:
```haxe
class Main {
static public function main() {
var test = new Banana();
test.potassium = 100;
printNutrition(test.potassium);
}
static public function printNutrition(_potassium:Float) {
trace(_potassium);
}
}
class Banana {
public var potassium:Float;
public inline function new() {
potassium = 50;
}
}
```

JS output:
```js
// Generated by Haxe 4.0.0-rc.1+1fdd3d59b
(function () { "use strict";
var Main = function() { };
Main.main = function() {
var test_potassium = 50;
test_potassium = 100;
Main.printNutrition(test_potassium);
};
Main.printNutrition = function(_potassium) {
console.log("Main.hx:8:",_potassium);
};
Main.main();
})();
```

build.hxml:
```hxml
-main Main
-dce full
-D analyzer
-D analyzer-optimize
-js output.js
```

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.