snowkit / snow

A low level cross platform framework for Haxe. Mac, Windows, Linux, Android, iOS, WebGL.
http://snowkit.org/snow
MIT License
133 stars 35 forks source link

Fix for haxe 3.3 macro execution order #93

Closed ntrf closed 7 years ago

ntrf commented 8 years ago

Fixes https://github.com/underscorediscovery/snow/issues/91 and https://github.com/underscorediscovery/luxe/issues/383

Probably it's a haxe bug that Context.getType can't access other types during building, even if types aren't forming cyclic references. Instead i'm building type path to be defined directly, using simple string splitting. This avoids assertion failure, thrown by compiler otherwise. Also i'm using @:eager meta to force building types.

Another change is related to a new behaviour of switch expression: case values are no longer allowed to be writable variables. Even though it should not directly impact snow, it prevents mint from compiling with an error in keyboard translation code.

ghost commented 8 years ago

C:\HaxeToolkit\haxe\lib\luxe\git\phoenix/Batcher.hx:149: lines 149-152 : Local variable `_current used without being initialized, perfect fix for me :)

ntrf commented 8 years ago

This pull request fixes only snow, @CamperPR. There is another pull request for luxe, that fixed the problem you have.

ghost commented 8 years ago

@ntrf, thanks for your answer

darmie commented 8 years ago

@ntrf I applied your PR, but I am getting this error

Main does not define type UserConfig

ntrf commented 8 years ago

You need to have UserConfig type defined in your Main.hx module. See the sample: https://github.com/snowkit/snow/blob/master/samples/basic/src/Main.hx#L10. I'm not sure what version was first to introduce that, but it was before my PR.

darmie commented 8 years ago

Thanks, I fixed it by downgrading Haxe from 3.3 to 3.2

On Thu, 29 Sep 2016, 08:09 Anton Nesterov, notifications@github.com wrote:

You need to have UserConfig type defined in your Main.hx module. See the sample: https://github.com/snowkit/snow/blob/master/samples/basic/src/Main.hx#L10. I'm not sure what version was first to introduce that, but it was before my PR.

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/snowkit/snow/pull/93#issuecomment-250388104, or mute the thread https://github.com/notifications/unsubscribe-auth/AAzwgof33AJf3m6hc9E6j8iLo0Y6oES7ks5qu2QsgaJpZM4IwKac .