- Switch to preview release of
- Upgraded all dependencies.
package:ffigen now runs with sound null safety.
- Functions marked
inline are now skipped.
Opaque for representing empty
- Add support for parsing and generating globals.
- Removed the usage of
- Removed setup phase for ffigen. Added new optional config key
llvm-lib to specify path to
- Added support for passing and returning struct by value in functions.
- Added support for Nested structs.
- Migrated to (unsound) null safety.
- Added support for
typedef-map can now be used to map a typedef name to a native type directly.
- Fixed missing typedefs nested in another typedef's return types.
- Fixed issues with generating macros of type
- Updated code to use
dart format instead of
dartfmt for sdk version
- Fixed errors due to extended ASCII and control characters in macro strings.
- Fix indentation for pub's readme.
- Fixed generation of
NativeFunction parameters instead of
Pointer<NativeFunction> in type signatures.
- Bump version to 1.0.0.
- Handle unimplememnted function pointers causing errors.
- Log lexical/semantic issues in headers as SEVERE.
- Added support for including/excluding/renaming un-named enums using key
- Minor changes to dylib creation error log.
- Added support for C booleans as Uint8.
- Added config
dart-bool (default: true) to use dart bool instead of int in function parameters and return type.
- Wrapper dynamic library version now uses ffigen version from its pubspec.yaml file.
- Handle code formatting using dartfmt by finding dart-sdk.
- Fixed missing typedefs of nested function pointers.
- Fixed parsing structs with bitfields, all members of structs with bit field members will now be removed. See #84
package:meta version to
^1.1.8 for compatibility with flutter sdk.
- Fixed multiple generation/skipping of typedef enclosed declarations.
- Typedef names are now given higher preference over inner names, See #83.
- Fixed missing/duplicate typedef generation.
- Updated header config. Header
include-directives are now specified under
headers key. Glob syntax is allowed.
- Updated declaration
exclude config. These are now specified as a list.
- Added Regexp based declaration renaming using
- Added Regexp based member renaming for structs, enums and functions using
prefix-replacement subkeys have been removed.
- Added support for parsing macros and anonymous unnamed enums. These are generated as top level constants.
- Comments config now has a style and length sub keys -
style: doxygen(default) | any,
length: brief | full(default), and can be disabled by passing
- Handled function arguments - dart keyword name collision
- Fix travis tests: the dynamic library is created using
pub run ffigen:setup before running the tests.
- Fixed wrapper not found error when running
pub run ffigen.
- Address pub score: follow dart File conventions, provide documentation, and pass static analysis.
- Support for Functions, Structs and Enums.
- Glob support for specifying headers.
- HeaderFilter - Include/Exclude declarations from specific header files using name matching.
- Filters - Include/Exclude function, structs and enum declarations using Regexp or Name matching.
- Prefixing - function, structs and enums can have a global prefix. Individual prefix Replacement support using Regexp.
- Comment extraction: full/brief/none
- Support for fixed size arrays in struct.
array-workaround (if enabled) will generate helpers for accessing fixed size arrays in structs.
- Size for ints can be specified using
size-map in config.
- Options to disable using supported typedefs (e.g
uint8_t => Uint8), sort bindings.
- Option to add a raw
preamble which is included as is in the generated file.