* Better name for setter only properties, e.g.
- [query set_Secret: 1];
+ [query setSecret: 1];
* Second method argument should be lowercased, e.g. `second`
[Methods_Parameters concatFirst:@"first" second:@"second"]
* Reduce some code duplication, to avoid fixing things multiple times, e.g.
* Unify the signatures generation for ObjC and Mono;
* Unify the parameter marshaling code (the one for methods was missing a lot)
* Simplify `ImplementMethod` arguments
It's similar to XI/XM NSObjectFlag - we need a different road to call
the base classes without calling managed code twice (e.g. the Super
and Base tests for exceptions).
Note: `init` is not always exposed, so we cannot trust it blindly.
This allow the same "internal" `initWithSuper` to be re-used to return
instance of types being bound (e.g. a `+create` without a `-init`).
This also handle the case of setter-only properties (generated as a
set* method).
Unit tests added for existing methods (previously not generated)
Replace PR https://github.com/mono/Embeddinator-4000/pull/63
E.g. `public class SuperUnique : Unique {}`
This raise an interesting issue (to be solved later) since ObjC and .NET
semantics differs for init*/.ctor. A test case (with a FIXME) is added.
and I now recall why headers were a bad idea:
./bindings.h:75:39: error: attempting to use the forward class 'Constructors_Unique' as superclass of 'Constructors_SuperUnique'
so the ordering of forwarders had to be altered a bit.
Remove the 'libmanaged' target from the Xcode test project, and instead link
with the libmanaged.dylib that the embeddinator compiles. This ensures we're
not compiling with different compiler flags in the Xcode project.
This also requires adding an rpath to the built library so that the test
executable can find it.
Also add makefile target to run the Xcode test project from the command line.