Embeddinator-4000/objcgen
Alexander Köplinger e06fe7e7ae Rename master branch to main 2021-03-09 11:27:18 +01:00
..
script [ObjC] Initial nuget support (#643) 2018-04-06 09:54:04 -05:00
.gitignore Simple Packaging and Installer Scripts (#258) 2017-05-03 19:04:16 -04:00
CachedValue.cs Improve ImplementMethod, remove invalidation, and cache freezing (#373) 2017-05-31 10:30:42 -05:00
EqualsHelper.cs [objc] Switch code to use an Embeddinator.ObjC namespace. 2017-08-18 13:55:39 +01:00
ErrorHelper.cs Code review changes 2018-03-06 13:18:58 -06:00
HashHelper.cs [objc] Switch code to use an Embeddinator.ObjC namespace. 2017-08-18 13:55:39 +01:00
Internals.md Add technical documents and improve readme (#646) 2018-04-10 14:43:08 -05:00
Logger.cs Add basic logging infrastructure to objcgen 2018-02-28 12:50:19 -06:00
Make.config [build] changes to fix the CI 2018-12-21 18:01:16 -05:00
Makefile [ObjC] Initial nuget support (#643) 2018-04-06 09:54:04 -05:00
NameGenerator.cs Simplify GetTypeName reference generated code to pass tests 2018-03-02 10:22:22 -06:00
README.md [docs] Update docs to reference the new naming. 2017-08-16 12:34:14 +01:00
TypeMapper.cs Code review changes 2018-03-06 13:18:58 -06:00
classhelper.cs [objc] Switch code to use an Embeddinator.ObjC namespace. 2017-08-18 13:55:39 +01:00
comparablehelper.cs [objc] Switch code to use an Embeddinator.ObjC namespace. 2017-08-18 13:55:39 +01:00
driver.cs Restored: missing code for extension support on Mac + bitcode for iOS… (#656) 2018-04-24 09:08:50 -05:00
embedder.cs [objcgen] fix error MM0073 for Xamarin.Mac 4.8~ (#733) 2019-07-19 08:13:32 -07:00
error.cs [objc] Switch code to use an Embeddinator.ObjC namespace. 2017-08-18 13:55:39 +01:00
extensions.cs Merge branch 'master' into objc-master-merge 2018-02-28 11:35:36 -06:00
generate-version.sh [objc] Switch code to use an Embeddinator.ObjC namespace. 2017-08-18 13:55:39 +01:00
generator.cs [objc] Switch code to use an Embeddinator.ObjC namespace. 2017-08-18 13:55:39 +01:00
methodhelper.cs Merge branch 'objc' into objc-master-merge 2018-03-06 14:09:48 -06:00
objcgen.csproj Add basic logging infrastructure to objcgen 2018-02-28 12:50:19 -06:00
objcgenerator-helpers.cs [objc] Switch code to use an Embeddinator.ObjC namespace. 2017-08-18 13:55:39 +01:00
objcgenerator-postprocessor.cs Code review changes 2018-03-06 13:18:58 -06:00
objcgenerator-processor.cs [objc] Switch code to use an Embeddinator.ObjC namespace. 2017-08-18 13:55:39 +01:00
objcgenerator-subscripts.cs [objc] Switch code to use an Embeddinator.ObjC namespace. 2017-08-18 13:55:39 +01:00
objcgenerator.cs Rename master branch to main 2021-03-09 11:27:18 +01:00
objcprocessor.cs [objc] Fix issue blocking all F# libraries (#632) 2018-03-27 10:20:41 -05:00
operatoroverloads.cs [objc] Switch code to use an Embeddinator.ObjC namespace. 2017-08-18 13:55:39 +01:00
packages.config [objc] Use Mono.Options. (#36) 2017-03-31 13:17:05 -05:00
processedtypes.cs Merge branch 'master' into objc-master-merge 2018-02-28 11:35:36 -06:00
processor.cs Add basic logging infrastructure to objcgen 2018-02-28 12:50:19 -06:00
protocolhelper.cs [objc] Switch code to use an Embeddinator.ObjC namespace. 2017-08-18 13:55:39 +01:00
sourcewriter.cs [objc] Switch code to use an Embeddinator.ObjC namespace. 2017-08-18 13:55:39 +01:00
system-check.cs [objc] Switch code to use an Embeddinator.ObjC namespace. 2017-08-18 13:55:39 +01:00
system-dependencies.sh Update system-dependencies.sh to insist on xcode-select being what we expect 2018-03-07 10:25:45 -06:00
thin-framework.sh [objcgen] Fix shellcheck warning. (#725) 2019-04-10 15:27:15 +02:00
utils.cs [build] changes to fix the CI 2018-12-21 18:01:16 -05:00

README.md

ObjC generator

Build

Simply run make in Embeddinator-4000/objcgen.

Run

Don't use Embeddinator-4000.exe.

Use mono ./bin/Debug/objcgen.exe --gen=Obj-C -o ./Output ManagedAssembly1.dll.

Generated API of questionable usability

Whenever we generate a working API that is not optimal (in ObjC) we should update the docs/BestPracticesObjC.md document to explain the situation and provide guidance to get the best ObjC API output.

Missing .NET features

Unimplemented, but planned, features should throw a NotImplementedException with the feature name. The generator will report it as a missing feature that does not require a bug report (and test case).

Unsupported .NET features

Anything that cannot be supported should be added to the docs/Limitations.md document.

The tool should issue warnings (which users can turn into errors) when it cannot generate ObjC to match any given .NET code. The warnings must be added to the docs/errors.md document.