Skip to content
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

Save types of local vars too in save_class_state #8511

Merged

Conversation

RealyUniqueName
Copy link
Member

Fixes #4073

gencs/genjava actively mess with types, so I ended up just saving/restoring that data.

@RealyUniqueName RealyUniqueName added this to the Release 4.0 milestone Jul 4, 2019
@Simn
Copy link
Member

Simn commented Jul 4, 2019

But we already do that in save_class_state. Is there something specific that isn't saved there?

@RealyUniqueName
Copy link
Member Author

Types of local vars and function arguments.
Also, gencs/genjava mess with cl_restore too and that breaks subsequent compilation somehow.

@RealyUniqueName
Copy link
Member Author

I mean, using save_class_state upon entering genjs/genjava and cl.cl_restore upon leaving them. I tried that and subsequent compilations started throwing Not_found ocaml exception.

@Simn
Copy link
Member

Simn commented Jul 4, 2019

Yes you're not supposed to run it at that point.

What we should do is handle the tvars there so it's all in one place. Maybe only on targets where it's necessary, but it might be a good idea to always do this.

@RealyUniqueName
Copy link
Member Author

Yeah, that works. I've updated this PR

@RealyUniqueName RealyUniqueName changed the title Save types upon entering gencs/genjava and restore upon leaving them Save types of local vars too in save_class_state Jul 10, 2019
@Simn Simn merged commit 8053d61 into HaxeFoundation:development Jul 18, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

[cs] abstracts lost in compilation server
2 participants