You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
NS_TYPED_ENUM and NS_TYPED_EXTENSIBLE_ENUM are basically comparable with typing.NewType(), find a way to extract these using the metadata scanner and add NewType definitions for them to metadata, as was done earlier for NS_ENUM (with with a different base type).
A problem with this: at least up to Xcode 13.3 the information is not easily extractable using clang's C API.
It might be easier to just maintain these manually, there appear to be only 235 definitions of those in framework headers.
Add tests for NS_TYPED*_ENUM in all framework wrappers
Manually add metadata for these typed enums to framework wrappers
Updating the metadata extractor can wait.
Note that this issue is only a small step toward static typing support, it allows using Cocoa type names in type annotations, but does not help in actually running a static type checker that will require generating typing stubs for framework bindings.
The text was updated successfully, but these errors were encountered:
NS_TYPED_ENUM
andNS_TYPED_EXTENSIBLE_ENUM
are basically comparable withtyping.NewType()
, find a way to extract these using the metadata scanner and add NewType definitions for them to metadata, as was done earlier for NS_ENUM (with with a different base type).A problem with this: at least up to Xcode 13.3 the information is not easily extractable using clang's C API.
It might be easier to just maintain these manually, there appear to be only 235 definitions of those in framework headers.
For now:
Updating the metadata extractor can wait.
Note that this issue is only a small step toward static typing support, it allows using Cocoa type names in type annotations, but does not help in actually running a static type checker that will require generating typing stubs for framework bindings.
The text was updated successfully, but these errors were encountered: