Question

I am new to Haxe.
When I try to convert the following line from C# to Haxe using CS2HX:

Interlocked.Increment(ref this.fieldName);

I get error from CS2HX:

ref/out cannot reference fields, only local variables

Now this makes me wonder - are Interlocked functions at all supported by Haxe - ?
Since I certainly would want to use Interlocked on fields and not on local variables.
Are there any alternative options besides using a lock?

Was it helpful?

Solution

Haxe should now have support for ref/out arguments extended so that fields are accepted too. The updates are in Git. Thanks go to @Waneck!
https://groups.google.com/forum/?hl=en#!topic/haxelang/3E-N93qoU38

CS2HX needs separate modification for that upgrade. Maybe I will do that later myself, at the moment I have no time for that. I will post a comment here when I have updated CS2HX myself or find out that somebody else did it.

An alternative idea that came from that forum is using one-element array, I think that is pretty good too. Certainly better than using locks.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top