Граф коммитов

119 Коммитов

Автор SHA1 Сообщение Дата
Joao Matos d4d8b12d79 [tests/managed] Add arrays and builtin types files to shared project. 2017-05-04 23:54:32 +01:00
Joao Matos 3fe3ab7be7 [tests] Minor clean ups to tests make logic. 2017-05-04 23:54:32 +01:00
Joao Matos 1ef5b00c06 [tests] Setup Mono runtime includes in the native test projects. 2017-05-04 23:54:32 +01:00
Joao Matos af14b13ac5 [tests] Update tests logic to changes from objc branch. 2017-05-04 23:54:32 +01:00
Joao Matos c4bc5f7dbb [git] Merge tip of objc branch into master. 2017-05-04 23:54:32 +01:00
Joao Matos f57256d4f5 [java] Added tests for structs / value types to the Java test suite. 2017-05-03 01:11:38 +01:00
Joao Matos dc596ed027 [c] Added tests for structs / value types to the C test suite. 2017-05-03 01:11:29 +01:00
Joao Matos c9fd01ad27 [java] Added more tests for managed methods. 2017-05-02 22:49:50 +01:00
Joao Matos 6710e26380 [java] Added tests for methods and ref/out parameters to the Java test suite. 2017-05-02 18:06:41 +01:00
Joao Matos 99f63c924a [ast] Fixed conversion of out parameters. 2017-05-02 17:42:36 +01:00
Joao Matos 2c6f173c6a [java][tests] Added tests for enums to the Java test suite. 2017-05-02 13:03:29 +01:00
Joao Matos 311c9d72dd [tests][java] Added Java tests for managed constructors. 2017-04-20 15:33:11 +01:00
Joao Matos 7c6496f084 [tests][java] Factor unsigned type size limits as static helpers. 2017-04-20 15:21:54 +01:00
Joao Matos e2603e5b72 [tests][java] Pass extra verbose diagnostics flag to Java compiler. 2017-04-20 14:55:19 +01:00
Joao Matos 3f3cf158de [tests][objc] Remove unused tests. 2017-04-20 14:53:54 +01:00
Joao Matos 8a619056b2 [tests][java] Added Java tests for managed exceptions. 2017-04-20 12:30:00 +01:00
Joao Matos 370c84514f [tests][java] Added Java tests for namespaces. 2017-04-20 10:14:53 +01:00
Joao Matos c492529524 [tests][java] Added Java tests for managed properties. 2017-04-19 19:35:40 +01:00
Joao Matos d37d2f686e [tests][java] Improved Makefile targets and added JUnit test runner invocation. 2017-04-19 17:24:27 +01:00
Joao Matos 69c5d86f99 [tests][java] Fixed Java unsigned type tests comparison. 2017-04-19 17:22:33 +01:00
Joao Matos 796efc4ca6 [java] Re-enable Java support in the testsuite. 2017-04-19 15:13:50 +01:00
Joao Matos f31e803f5a [tests][c] Added a few more tests for methods. 2017-04-18 13:35:08 +01:00
Joao Matos 9c5590490d [c] Refactored string handling as a primitive type.
* As a side-effect, now string arrays have an improved naming in generated C code.
2017-04-18 11:43:18 +01:00
Joao Matos c63d2544a4 [tests] Temporarily remove Java generator from default testing.
It's currently breaking CI and I'm still not ready to upstream all local fixes.
2017-04-17 20:25:46 +01:00
Joao Matos 416a28eed5 [tests][docs] Rename "Basic" testsuite in readme.md to match new "common" name. 2017-04-17 19:23:13 +01:00
Joao Matos 0d8d293c75 [tests][c] Added a few more tests for enums. 2017-04-17 19:08:49 +01:00
Joao Matos bbdb54218c Merge branch 'objc' of github.com:mono/embeddinator-4000 2017-04-17 15:58:25 +01:00
Joao Matos 801e852c0c [tests][c] Added a few more tests for exceptions. 2017-04-17 15:49:36 +01:00
Joao Matos ee1d6acd74 [tests][c] Provide our own test runner main and setup a dummy error handler. 2017-04-17 15:44:52 +01:00
Joao Matos 11aba98d4a [tests][c] Added a few more tests for types. 2017-04-17 15:13:21 +01:00
Sebastien Pouliot 27e5f34941 [objc] Add basic (readonly) support for fields (#129)
We cannot access them directly but we can provide (ObjC) property
wrappers around them, making them usable from ObjC code.
2017-04-17 10:03:46 -04:00
Joao Matos 3bc2bd73bb [tests][c] Added a few more tests for constructors. 2017-04-17 14:50:33 +01:00
Joao Matos caeab300ed [tests][c] Added a few more tests for namespaces. 2017-04-17 13:37:25 +01:00
Joao Matos 95bb6f2ea2 [tests][c] Added a few more tests for properties. 2017-04-17 13:37:07 +01:00
Sebastien Pouliot 943b1da124 [objc] Generated (property) indexers as methods (#125)
That's basic support. The nicer way would be to use subscripts [1]

[1] https://github.com/mono/Embeddinator-4000/issues/122
2017-04-14 15:13:20 -04:00
Sebastien Pouliot 24a1f3e543 [objc] Fix the case where bound type A creates instance of bound type B (#121)
As Alex pointed out this scenario requires the `_object` field to be
public.
2017-04-13 22:24:57 -04:00
Sebastien Pouliot 64b7df0d19 [objc] Generate better looking names for operators (#120)
Remove the `op_` prefix on operators.

Also fix a (non fatal) typo, extra `)`, when computing mono signatures.
2017-04-13 21:41:21 -04:00
Sebastien Pouliot 44b14b6e67 [objc] Add support for enums and [Flags] (#119) 2017-04-13 21:07:52 -04:00
Sebastien Pouliot 02202b7743 [objc] Add support for structs / valuetype (#118) 2017-04-13 17:59:28 -04:00
Sebastien Pouliot 4c60ece830 [objc] Add support for `ref` and `out` arguments (#115) 2017-04-12 21:20:37 -04:00
Alex Soto a33c458113 [objc] Avoid objc ctor inheritance. Fixes issue #72 (#103)
.NET .ctor are not inherited but `init*` methods are in ObjC, we now
mark as `NS_UNAVAILABLE` the ctors that are not available.

Also this commit introduces `objcgenerator-helpers.cs` which its main
intention is to move the small ObjC related functions like
`GetSignatures` or `GetUnavailableParentCtors` to avoid
polluting too much `objcgenerator.cs` readability
2017-04-12 21:20:21 -04:00
Rolf Bjarne Kvinge f92f01b0b0 [objc] Add support for --abi to limit the number of architectures we build. Fixes #74. (#114) 2017-04-12 13:52:20 -04:00
Rolf Bjarne Kvinge d5d341431e [tests][objc] Build debug tests into a subdirectory as well. (#108)
* [tests][objc] Build debug tests into a subdirectory as well.

This cleans up the current directory quite a bit.

Also modify the cli/perf tests a little bit to be able to run the
debug/release versions in parallel.

* [tests][objc] Don't fail to create directory if directory already exists.

* [tests][objc-cli] Make sure libmanaged.dylib is built before xctest.

Since the corresponding xcode project builds libmanaged.dylib if it's not
already built (by executing make), we may end up with two make process trying
to build the same target simultaneously, which breaks everything.
2017-04-12 17:02:16 +02:00
Rolf Bjarne Kvinge 98ac5de4eb [objcgen] Create an embedder class that contains the state required to run the embeddinator. (#110)
This makes it easier to test, because Driver.Main can be called multiple
times, each time independent from previous executions.
2017-04-12 08:57:26 -04:00
Rolf Bjarne Kvinge 75dfc163b5 [objc] Add a header (embeddinator.h) that's meant to be included by generated headers. (#109)
This way we can limit the API surface of the generated code.
2017-04-12 08:55:44 -04:00
Rolf Bjarne Kvinge eb8a9970af [objc] Use msbuild instead of xbuild. (#106)
This prevents fleeting visions of red text in the terminal.
2017-04-12 08:49:38 -04:00
Sebastien Pouliot a16e5478fe [objc][generator] Produce better names for ObjC methods (#105)
* 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
2017-04-12 07:48:25 +02:00
Vincent Dondain bb16097c23 [objc][generator] Update type/pointer spacing to follow ObjC conventions (#95)
* [objc][generator] Update type/pointer spacing to follow ObjC conventions

The convention is that there's a space between the type and the pointer character (*) in Objective-C.
See: https://developer.apple.com/library/content/documentation/Cocoa/Conceptual/CodingGuidelines/Articles/NamingMethods.html#//apple_ref/doc/uid/20001282-BCIGIJJF
_Note: Apple's frameworks are using this convention too._

* [objc][generator][tests] Fixed NSString * test
2017-04-11 12:00:22 -05:00
Sebastien Pouliot 1bdeef1dd8 [objc][generator] Use metadata token lookup when building release (#91)
* [objc][generator] Use metadata token lookup when building release

where release is non-debug.

https://github.com/mono/Embeddinator-4000/issues/82

* [tests] Run test-cli and perf-cli in release (non debug) mode
2017-04-11 17:21:54 +02:00
Rolf Bjarne Kvinge 7de0e3f0cc [objc] Add support fat and static libraries for all platforms. (#97)
[objc] Add support fat and static libraries for all platforms.
2017-04-11 15:25:40 +02:00