JNAerator v0.9.2 released (size_t as NativeSize, better ObjectiveC generation and various fixes)
Here are the main changes in this release (available here) :
- Fixed issue #31 : parse unnamed “char *const *” function arguments
- size_t is now mapped to NativeSize. Classes NativeSizeByReference & GlobalNativeSize have also been added, along with a backwards compatibility switch -sizeAsLong (and a switch -gccLong to treat ‘long’ as ‘size_t’)
- Fixed primitive type promotion of constants (NativeLong -> long)
- Fixed regression on structs with callbacks
- Switched to Rococoa 0.5
- Added “oneway” Objective C modifier
- Allow java-only modifiers, declspec and gcc attributes as identifiers (native, transient, dllimport…)
- Fixed issue #38 : Function pointer pointers were completely broken
- Fixed issue #35 : byref, byval, in, out and bycopy can now be used in most contexts (general case of issue #22 is still not fixed, though)
- Fixed regression since maven move : missed objectivec static forwards exclusion list
- Deprecated Structure.toArray(), renamed to Structure.castToArray().
- Added static Structure.newArray(Class< ? extends Structure>, int length)
- JNAerating a typed static newArray(int length) for each structure
- Added “C type” comment to struct fields with non-primitive types
- Deprecated StringPointer
- Added basic output customization capabilities with -choicesOut & -choice switches : syntax is one line of the C function declaration, then n lines of corresponding Java declarations, each function block being separated by an empty line.
- Fixed issue #39 : Failure to parse define with expression containing a cast
- Fixed long constants being generated as NativeLong (now long)
- Fixed regression with function pre-comments
- Fixed generation of references to constants defined in other libraries
- Added -ifRegexMatch switch
- Define __STDC__ in auto configuration
- Fixed issue #44: Hypens in header names translate to hyphens in class names
- Byref & globals mapping of NSInteger now uses NativeSizeByReference and GlobalNativeSize, instead of NativeLong derivates
Many thanks to those who helped me through bug reports (here and there), suggestions and moral support.