Results 222 comments of Liam Appelbe

That header is generated by the swift compiler, and the header parsing is done by clang, so ffigen doesn't directly get involved in that error. I think the first thing...

> The `objc-interfaces` is generated correctly, but the `AVLayterVideoGravity` which is a `typedef` can't be generated. I think `AVLayerVideoGravity` is a [struct](https://developer.apple.com/documentation/avfoundation/avlayervideogravity). What header file is it defined in? If...

> I've imported the AVFoundation header, do I need to import another header? I'm not sure. The error you're describing is a clang compile error, so there's nothing I can...

Blocked on https://github.com/dart-lang/native/issues/1259. Once I've implemented transformers, I'll overhaul how categories are implemented.

Note to self: - Promote categories to an AST object (similar to `ObjCProtocol`), instead of just adding their methods to their interface - Code gen them as extension methods on...

One unfortunate thing I've noticed is that there are a bunch of methods that the Apple documentation treats as ordinary methods, but are actually methods on a category. For example...

> * Code gen them as extension methods on the interface This doesn't always work. If the method returns `instancetype`, then I can code gen it as an extension method...

There's also a similar issue where an [ordinary method](https://developer.apple.com/documentation/appkit/nscontrol/1428964-selectedcell?language=objc) is overridden by a [getter](https://developer.apple.com/documentation/appkit/nsmatrix/1436472-selectedcell). This one is trickier because this method/getter difference is not allowed in either direction in Dart....

I think the fix for the method/getter clash is going to be fiddly enough that it's probably time to bite the bullet and implement the transformer refactor: #1259

Btw pkgs/objective_c/ffigen_objc.yaml probably doesn't need to explicitly list all the interfaces etc