Liam Appelbe
Liam Appelbe
This is a prototype of swiftgen, and an example program that uses the Swift `AVAudioPlayer` API to play some audio from Dart. [`example/generate_code.dart`](https://github.com/dart-lang/native/pull/1367/files#diff-f4c14bb7f06a6e1209e852c437da42f6f335379188a8658759949b823da8adfc) uses swiftgen to generate Dart bindings like...
If a class or struct defines an initializer, we need to generate a corresponding intializer on the wrapper object. If it doesn't define an initializer, we need to define a...
Like ffigen, swift2objc should have config options that let the user choose which APIs they want to generate wrappers for. Real Apple APIs have so many classes and methods that...
Tracking bug for swiftgen MVP Depends on [swift2objc MVP](https://github.com/dart-lang/native/issues/1143)
```Swift func greet(name: String) -> String { let greeting = "Hello, \(name)!" return greeting } ``` The wrapper function will need to convert all the arguments and results to their...
This is the same pattern I'm planning to use in ffigen: #1259
Currently filters are applied during parsing. When parsing part of the AST, we check if the node passes the config's filters. Transitive deps are handled using the `ignoreFilters` flag, because...
`NSNotificationCenter` has a [`addObserver:selector:name:object:` method](https://developer.apple.com/documentation/foundation/nsnotificationcenter/1415360-addobserver), where the `object` param has type `id` (the super type of all objects, like Dart's `Object`), which makes sense. Meanwhile, `NSDistributedNotificationCenter` [overrides that method](https://developer.apple.com/documentation/foundation/nsdistributednotificationcenter/1414151-addobserver) but...
As ffigen has developed we've gradually added more and more complexity to the `addDependencies` and `toBindingString` methods of the bindings classes. We should add a transformation step to the pipeline,...