ios icon indicating copy to clipboard operation
ios copied to clipboard

Metadata-generator creates enums with incorrect values

Open CatchABus opened this issue 1 year ago • 0 comments

There is the case of metadata-generator creating enums with wrong values if the original value is unsigned. This became apparent with UIRectCornerAllCorners case where value is an unsigned long in obj-c.

UIRectCornerAllCorners = ~0UL

See: https://developer.apple.com/documentation/uikit/uirectcorner/uirectcornerallcorners?language=objc

Unfortunately, generator converts the value into a signed value resulting in -1 and when it's used as a function parameter, it brings unexpected results.

In JavaScript, the proper value would probably be 0xffffffff or 4294967295 to match the unsigned value.

I found this part of generator that looks suspicious: https://github.com/NativeScript/ios/blob/main/metadata-generator/src/Meta/MetaFactory.cpp#L321

CatchABus avatar Jul 27 '24 14:07 CatchABus