Closed bencz closed 6 years ago
I will look at it
Quick fix will be to use long constant:
long rva := 339302427672l.
int result := ((rva && 4294967295l) toInt).
The problem that int32=0FFFFFFFFh should be correctly converted to int64=0FFFFFFFFFFFFFFFF and as a result you get the same number.
uint vs int is a long story :smile: I will fix it later after I finish multimethods implementation which will be huge change :smile:
The correct code is:
import system.
import extensions.
public program
[
long rva := 339302427672l.
int result := rva && 0FFFFFFFFh toUInt.
]
After implementation of uint type, this code cause a index is out of range exception