Commit Graph

22 Commits

Author SHA1 Message Date
Greg acc8cab583 Fix various memory management bugs in GC mode. 2019-06-27 11:41:58 -04:00
Greg 79bb282188 Complete conversion to pointer wrapped types. Update tests, fix
parameter handling for functions.
2019-06-13 16:47:36 -04:00
Greg ac9eecafd8 Convert all Go wrapped objects to pointers so the Go GC can track
all of the Objective-C pointers. Still working on bug with typedefs
to wrapped types.
2019-06-13 09:25:53 -04:00
Greg 9a4fabda24 Run gofmt -w on everything. Add 'gogc' option to use Go garbage
collector for memory management.
2019-06-11 12:38:22 -04:00
Greg a2d0f9bc4f Change domain name in package path. 2019-05-29 12:57:53 -04:00
Greg 2f4d76c6af Better handling of slice size vs. capacity in pointers to pointers. 2019-05-29 00:02:27 -04:00
Greg 840a055a11 Clean up variadic functions and methods. 2019-05-28 20:04:39 -04:00
Greg 1cc0f0e26a Handle pointers to pointers as Go slices. 2019-05-28 15:52:16 -04:00
Greg 86ff14b533 A few small fixes. 2019-05-24 15:40:01 -04:00
Greg a616761475 Change Go types to plain structs instead of pointers to structs.
Add methods for protocols that Objective-C interfaces claim to
implement. Separate class methods from instance methods in
internal data structures. Add layout constraints with visual
formats to examples/app. Fix typedefs for wrapped objective-c
object types.
2019-05-23 16:31:47 -04:00
Greg 511f2f1968 Improve type handling for enums. Handle "__kindof" qualifiers.
Add examples/app. Allow VisibilityAttr "Hidden".
2019-05-06 13:21:36 -04:00
Greg eced251710 Create GoString helper methods for anything that has a "WithString"
method. Multiple bug fixes in type system, fixed parsing of id,
instancename and instancetype, allow NullableAnnotations after
generic lists (e.g. "id<ObjectType> _Nullable"). Helper function
to identify types that are function pointers.
2019-05-03 13:14:30 -04:00
Greg 758ea40679 Add constants for C enum types. Add NSEnumerator helper. Fix
bugs in Go class names. Add "Frameworks" option to nswrap.toml.
Improve handling of ast.EnumDecl and ast.EnumConstantDecl.
2019-05-02 14:14:29 -04:00
Greg 11366be6d0 Convert *Id to any wrapped type. Shorten names for class methods
that return an instance of the class. Fix return types for Go
interfaces.
2019-05-01 12:34:29 -04:00
Greg be92b200ad Handle functions identified by regexp in nswrap.toml config
file. Handle inherited class methods.
2019-05-01 10:58:29 -04:00
Greg 380fee39bf Update foundation example to query whether the array contains
specified objects.
2019-04-30 10:34:56 -04:00
Greg 3573aa9144 Change Go types to simple unsafe Pointers instead of pointers
wrapped in structs. It could be possible to handle pointers to
pointers now.
2019-04-30 09:14:25 -04:00
Greg d78e055008 Handle Objective-C methods with variadic arguments. 2019-04-29 16:14:45 -04:00
Greg c03e37bd54 Make a Go Interface instead of a struct for top level objects.
Use a new struct Id as a concrete version of that type.
2019-04-29 11:46:48 -04:00
Greg c0c17e88d1 Fix to go type declarations. 2019-04-29 10:37:43 -04:00
Greg 500b457d32 Fix type wrapping and procesing so duplicate types do not get
declared.
2019-04-27 22:24:05 -04:00
Greg 977a09e77e Better handling of multiple classes and input files. Handle
Objective C type parameter declarations. Check Typedefs when
determining if a Type is a pointer or a function.
2019-04-26 22:44:30 -04:00