-
Notifications
You must be signed in to change notification settings - Fork 514
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Major refactoring: refactor GeneratorKind enum into a class #1794
Conversation
@tritao if you want I can continue refactoring next steps and see the final work. |
@tritao, now you can easily see my point in action: class Program
{
class TestLibrary : ILibrary
{
public void SetupPasses(Driver driver)
{
}
public void Preprocess(Driver driver, ASTContext ctx)
{
}
public void Postprocess(Driver driver, ASTContext ctx)
{
}
public void Setup(Driver driver)
{
{
DriverOptions options = driver.Options;
options.DryRun = true;
options.GeneratorKind = MyGeneratorKind;
options.OutputDir = @"...";
var module1 = options.AddModule("Test");
module1.IncludeDirs.Add(@"...");
module1.Headers.Add("...");
}
}
}
class MyGenerator : Generator
{
public MyGenerator(BindingContext context) : base(context)
{
}
public override List<CodeGenerator> Generate(IEnumerable<TranslationUnit> units)
{
throw new NotImplementedException();
}
public override bool SetupPasses()
{
throw new NotImplementedException();
}
protected override string TypePrinterDelegate(AST.Type type)
{
throw new NotImplementedException();
}
}
static GeneratorKind MyGeneratorKind = new GeneratorKind("MyGenerator", typeof(MyGenerator));
static void Main(string[] args)
{
ConsoleDriver.Run(new TestLibrary());
}
} |
The next step will be adding a property for CLI flags in the |
Nice, I am looking the direction this is going, I will provide a more detailed review ASAP. |
No problem, I am working on the things we discussed too! Great progress so far. |
Ok I will stop pushing on this PR, until I get some feedback. |
@tritao Let me know when you are ready, I have another PR which: I am almost done working on another PR which cleans up |
Looks good, looking forward to the following PRs. |
@tritao Things will look great I am pretty confident about it. The codebase I've been working on is stable and extensively tested. |
commit b5ab95e Author: Joao Matos <[email protected]> Date: Thu Feb 1 11:39:24 2024 +0000 Update iOS64 ABI name to the more accurate AppleARM64. commit d1307a5 Author: Joao Matos <[email protected]> Date: Thu Feb 1 11:21:52 2024 +0000 Add support for AArch64 C++ ABI. commit 9071cd2 Author: deadlocklogic <[email protected]> Date: Sun Dec 17 17:03:24 2023 +0200 Implement ClassTemplatePartialSpecialization::Parameters (mono#1809) * Implement ClassTemplatePartialSpecialization::Parameters * Template.cs: Implement ClassTemplatePartialSpecialization.Parameters * GeneratorKind: fix bug introduced while migrating from enum to class * Implement native ClassTemplatePartialSpecialization.Parameters + ASTConverter * regenerated bindings (mono#1813) * regenerated bindings * regenerated bindings after rebase * Directory.Build.props: support C# 10.0 * Implement native ClassTemplatePartialSpecialization.Parameters + ASTConverter * Regenerated bindings * TestAST.cs: add TestASTClassTemplatePartialSpecialization commit 2ecd952 Author: deadlocklogic <[email protected]> Date: Sun Dec 17 13:08:34 2023 +0200 regenerated bindings (mono#1813) * regenerated bindings * regenerated bindings after rebase * Directory.Build.props: support C# 10.0 commit 24d1a84 Author: deadlocklogic <[email protected]> Date: Sun Dec 17 11:44:00 2023 +0200 Stdlib.CSharp.cs: remove buggy typemap (mono#1812) commit 1327971 Author: deadlocklogic <[email protected]> Date: Sat Dec 16 21:36:04 2023 +0200 GeneratorKind: patch bug caused by missing ToString (mono#1811) commit 519e97f Author: Joao Matos <[email protected]> Date: Tue Dec 12 15:30:14 2023 +0000 Remove 32-bit builds and non-debug symbols release builds from LLVM Windows CI. commit 1211272 Author: deadlocklogic <[email protected]> Date: Tue Dec 12 17:25:12 2023 +0200 Build llvm `Debug`/`Release` for `Windows`. (mono#1800) * Update llvm-win.yml * Update llvm-win.yml * Update llvm-win.yml commit 12c267d Author: zylalx1 <[email protected]> Date: Fri Dec 8 03:58:10 2023 +0800 Fixed a bug causing the header file to be included twice when Options.GenerateName is not null (mono#1803) commit e068f2a Author: deadlocklogic <[email protected]> Date: Thu Dec 7 16:35:02 2023 +0200 Typemap cleanup (mono#1802) * TypeMap: prepare refactoring into a modular design * TypeMap: refactor C++ backend into common methods * TypeMap: refactor CLI backend into common methods * CLI.Gen.cs: fix omitted typemap from previous commit * Common.Gen.cs: fixed silly modification while testing * GeneratorKind: add FindGeneratorKindByID method * TypeMapDatabase: heavy refactor: group typemaps by GeneratorKind * TypeMap: refactor CSharp backend into common methods + migration * TypeMap: cleanup patches from previous commits * TypeMapDatabase: fix passing GeneratorKind to FindTypeMap calls * Stdlib.CSharp.cs: move std::map typemap from Stdlib.CLI.cs * TypeMapDatabase: improve parameter name commit 8c2da6d Author: deadlocklogic <[email protected]> Date: Mon Nov 13 22:00:41 2023 +0200 Major refactor: TypePrinter: improve modular design + cleanup (mono#1796) commit 0edd48c Author: deadlocklogic <[email protected]> Date: Mon Nov 13 20:15:24 2023 +0200 Major refactoring: refactor GeneratorKind enum into a class (mono#1794) * Major refactoring: refactor GeneratorKind enum into a class * Minor fix: add readonly * Add Type property for GenerationKind + cleanup * GeneratorKind: add Name property + refactor hardcoded names * GeneratorKind: add CLIOptions property + refactor hardcoded options * CppSharp.CLI: minor fix: use generator.ToLower() * GeneratorKind: fix warning commit 40f3a09 Author: deadlocklogic <[email protected]> Date: Sat Nov 11 16:51:18 2023 +0200 Minor improvements (mono#1793) * CppSharp.Generators.Options: added pre/post TranslationUnitPass callback * CppSharp.Generators.Passes.Pass: added TranslationUnitPassGeneratorDependent commit b14038a Author: Stefan <[email protected]> Date: Mon Oct 23 14:23:51 2023 +0200 Value types may generate `Dispose` (mono#1787) commit 3b2a15d Author: João Matos <[email protected]> Date: Sat Oct 21 19:33:13 2023 +0100 Update README.md commit a5afda8 Author: Stefan <[email protected]> Date: Fri Oct 20 21:00:04 2023 +0200 Fix parameterless constructors not being generated for structs (mono#1783) * Fix parameterless constructors not being generated for structs * Fix implicit non-trivial default ctor * Adjust `Ignore` linked issue commit b16e809 Author: Stefan <[email protected]> Date: Fri Oct 20 18:54:58 2023 +0200 Introduce `GenerateFreeStandingFunctionsClassName` option (mono#1782) * Introduce `GenerateFreeStandingFunctionsClassName` option * Support CLI and fixes commit 03874e7 Author: Stefan <[email protected]> Date: Thu Oct 19 17:24:55 2023 +0200 Fix Value Type String Member Invalid Codegen (mono#1778) * Fix code generation * Generate exception on broken struct set op * Remove redundant usings commit adffc99 Author: Salvage <[email protected]> Date: Thu Oct 19 14:51:06 2023 +0200 Fix erroneous newline commit b4f261e Author: Salvage <[email protected]> Date: Thu Oct 19 14:26:00 2023 +0200 Simplify `IsTemplateParameterType` commit 28000a1 Author: Salvage <[email protected]> Date: Thu Oct 19 01:19:07 2023 +0200 Fix mono#1251 three parameter equality operator - Operators in generic classes do not attempt to generate as extension methods anymore - Empty `...Extensions` classes are no longer generated - `string` as a template argument is correctly cast - `MarshalCharAsManagedChar` option also generates correct casts - Suppress warning regarding returning struct field by ref - Eliminate some tabs that snuck into the test C++ header commit d7faf5f Author: Joao Matos <[email protected]> Date: Wed Oct 18 17:39:49 2023 +0100 Fix SDL_PollEvent generation in the SDL example. Fixes mono#978. Thanks to @Saalvage. commit 7f567b6 Author: Salvage <[email protected]> Date: Wed Oct 18 18:26:03 2023 +0200 Fix non-void returning functions with value-type out parameters Also fixes indentation commit 0c60384 Author: Salvage <[email protected]> Date: Wed Oct 18 16:49:41 2023 +0200 Additional bump commit 0534e33 Author: Salvage <[email protected]> Date: Wed Oct 18 16:35:10 2023 +0200 Bump GH actions versions to solve warnings commit a6ef9d9 Author: Salvage <[email protected]> Date: Wed Oct 18 16:19:42 2023 +0200 Fix source dir commit 7e6c492 Author: Salvage <[email protected]> Date: Wed Oct 18 16:08:51 2023 +0200 Test fix broken packages commit 2a351b7 Author: Joao Matos <[email protected]> Date: Wed Oct 18 16:03:36 2023 +0100 Update our version to 1.1. commit 20950c5 Author: Salvage <[email protected]> Date: Wed Oct 18 04:58:38 2023 +0200 More stringent test; Fix indentation (of the code itself, not in the generator) commit ebe6b8a Author: Salvage <[email protected]> Date: Wed Oct 18 04:47:13 2023 +0200 Fix value type out parameters
commit 1d1b21f Author: Conrad Kreyling <[email protected]> Date: Fri Feb 2 15:12:42 2024 -0500 Instruct generator to build ARM64 bindings commit 491248b Author: Conrad Kreyling <[email protected]> Date: Fri Feb 2 15:09:44 2024 -0500 Fix missing AArch64 entry in CLI CppAbi commit bbb0693 Author: Conrad Kreyling <[email protected]> Date: Fri Feb 2 13:35:11 2024 -0500 Enable ARM64 support on LLVM builds commit b5ab95e Author: Joao Matos <[email protected]> Date: Thu Feb 1 11:39:24 2024 +0000 Update iOS64 ABI name to the more accurate AppleARM64. commit d1307a5 Author: Joao Matos <[email protected]> Date: Thu Feb 1 11:21:52 2024 +0000 Add support for AArch64 C++ ABI. commit 9071cd2 Author: deadlocklogic <[email protected]> Date: Sun Dec 17 17:03:24 2023 +0200 Implement ClassTemplatePartialSpecialization::Parameters (mono#1809) * Implement ClassTemplatePartialSpecialization::Parameters * Template.cs: Implement ClassTemplatePartialSpecialization.Parameters * GeneratorKind: fix bug introduced while migrating from enum to class * Implement native ClassTemplatePartialSpecialization.Parameters + ASTConverter * regenerated bindings (mono#1813) * regenerated bindings * regenerated bindings after rebase * Directory.Build.props: support C# 10.0 * Implement native ClassTemplatePartialSpecialization.Parameters + ASTConverter * Regenerated bindings * TestAST.cs: add TestASTClassTemplatePartialSpecialization commit 2ecd952 Author: deadlocklogic <[email protected]> Date: Sun Dec 17 13:08:34 2023 +0200 regenerated bindings (mono#1813) * regenerated bindings * regenerated bindings after rebase * Directory.Build.props: support C# 10.0 commit 24d1a84 Author: deadlocklogic <[email protected]> Date: Sun Dec 17 11:44:00 2023 +0200 Stdlib.CSharp.cs: remove buggy typemap (mono#1812) commit 1327971 Author: deadlocklogic <[email protected]> Date: Sat Dec 16 21:36:04 2023 +0200 GeneratorKind: patch bug caused by missing ToString (mono#1811) commit 519e97f Author: Joao Matos <[email protected]> Date: Tue Dec 12 15:30:14 2023 +0000 Remove 32-bit builds and non-debug symbols release builds from LLVM Windows CI. commit 1211272 Author: deadlocklogic <[email protected]> Date: Tue Dec 12 17:25:12 2023 +0200 Build llvm `Debug`/`Release` for `Windows`. (mono#1800) * Update llvm-win.yml * Update llvm-win.yml * Update llvm-win.yml commit 12c267d Author: zylalx1 <[email protected]> Date: Fri Dec 8 03:58:10 2023 +0800 Fixed a bug causing the header file to be included twice when Options.GenerateName is not null (mono#1803) commit e068f2a Author: deadlocklogic <[email protected]> Date: Thu Dec 7 16:35:02 2023 +0200 Typemap cleanup (mono#1802) * TypeMap: prepare refactoring into a modular design * TypeMap: refactor C++ backend into common methods * TypeMap: refactor CLI backend into common methods * CLI.Gen.cs: fix omitted typemap from previous commit * Common.Gen.cs: fixed silly modification while testing * GeneratorKind: add FindGeneratorKindByID method * TypeMapDatabase: heavy refactor: group typemaps by GeneratorKind * TypeMap: refactor CSharp backend into common methods + migration * TypeMap: cleanup patches from previous commits * TypeMapDatabase: fix passing GeneratorKind to FindTypeMap calls * Stdlib.CSharp.cs: move std::map typemap from Stdlib.CLI.cs * TypeMapDatabase: improve parameter name commit 8c2da6d Author: deadlocklogic <[email protected]> Date: Mon Nov 13 22:00:41 2023 +0200 Major refactor: TypePrinter: improve modular design + cleanup (mono#1796) commit 0edd48c Author: deadlocklogic <[email protected]> Date: Mon Nov 13 20:15:24 2023 +0200 Major refactoring: refactor GeneratorKind enum into a class (mono#1794) * Major refactoring: refactor GeneratorKind enum into a class * Minor fix: add readonly * Add Type property for GenerationKind + cleanup * GeneratorKind: add Name property + refactor hardcoded names * GeneratorKind: add CLIOptions property + refactor hardcoded options * CppSharp.CLI: minor fix: use generator.ToLower() * GeneratorKind: fix warning commit 40f3a09 Author: deadlocklogic <[email protected]> Date: Sat Nov 11 16:51:18 2023 +0200 Minor improvements (mono#1793) * CppSharp.Generators.Options: added pre/post TranslationUnitPass callback * CppSharp.Generators.Passes.Pass: added TranslationUnitPassGeneratorDependent commit b14038a Author: Stefan <[email protected]> Date: Mon Oct 23 14:23:51 2023 +0200 Value types may generate `Dispose` (mono#1787) commit 3b2a15d Author: João Matos <[email protected]> Date: Sat Oct 21 19:33:13 2023 +0100 Update README.md commit a5afda8 Author: Stefan <[email protected]> Date: Fri Oct 20 21:00:04 2023 +0200 Fix parameterless constructors not being generated for structs (mono#1783) * Fix parameterless constructors not being generated for structs * Fix implicit non-trivial default ctor * Adjust `Ignore` linked issue commit b16e809 Author: Stefan <[email protected]> Date: Fri Oct 20 18:54:58 2023 +0200 Introduce `GenerateFreeStandingFunctionsClassName` option (mono#1782) * Introduce `GenerateFreeStandingFunctionsClassName` option * Support CLI and fixes commit 03874e7 Author: Stefan <[email protected]> Date: Thu Oct 19 17:24:55 2023 +0200 Fix Value Type String Member Invalid Codegen (mono#1778) * Fix code generation * Generate exception on broken struct set op * Remove redundant usings commit adffc99 Author: Salvage <[email protected]> Date: Thu Oct 19 14:51:06 2023 +0200 Fix erroneous newline commit b4f261e Author: Salvage <[email protected]> Date: Thu Oct 19 14:26:00 2023 +0200 Simplify `IsTemplateParameterType` commit 28000a1 Author: Salvage <[email protected]> Date: Thu Oct 19 01:19:07 2023 +0200 Fix mono#1251 three parameter equality operator - Operators in generic classes do not attempt to generate as extension methods anymore - Empty `...Extensions` classes are no longer generated - `string` as a template argument is correctly cast - `MarshalCharAsManagedChar` option also generates correct casts - Suppress warning regarding returning struct field by ref - Eliminate some tabs that snuck into the test C++ header commit d7faf5f Author: Joao Matos <[email protected]> Date: Wed Oct 18 17:39:49 2023 +0100 Fix SDL_PollEvent generation in the SDL example. Fixes mono#978. Thanks to @Saalvage. commit 7f567b6 Author: Salvage <[email protected]> Date: Wed Oct 18 18:26:03 2023 +0200 Fix non-void returning functions with value-type out parameters Also fixes indentation commit 0c60384 Author: Salvage <[email protected]> Date: Wed Oct 18 16:49:41 2023 +0200 Additional bump commit 0534e33 Author: Salvage <[email protected]> Date: Wed Oct 18 16:35:10 2023 +0200 Bump GH actions versions to solve warnings commit a6ef9d9 Author: Salvage <[email protected]> Date: Wed Oct 18 16:19:42 2023 +0200 Fix source dir commit 7e6c492 Author: Salvage <[email protected]> Date: Wed Oct 18 16:08:51 2023 +0200 Test fix broken packages commit 2a351b7 Author: Joao Matos <[email protected]> Date: Wed Oct 18 16:03:36 2023 +0100 Update our version to 1.1. commit 20950c5 Author: Salvage <[email protected]> Date: Wed Oct 18 04:58:38 2023 +0200 More stringent test; Fix indentation (of the code itself, not in the generator) commit ebe6b8a Author: Salvage <[email protected]> Date: Wed Oct 18 04:47:13 2023 +0200 Fix value type out parameters
commit 8bd3f45 Author: João Matos <[email protected]> Date: Tue Feb 6 18:30:12 2024 +0000 Update llvm.yml to install AArch64 cross compilers commit a81abd5 Author: Conrad Kreyling <[email protected]> Date: Tue Feb 6 11:29:07 2024 -0500 LLVM crosscompile x64 for ARM64 (mono#1826) * LLVM crosscompile x64 for ARM64 * Fix MacOS host platform test * Ensure options is persistent in cross compile paths commit 1d1b21f Author: Conrad Kreyling <[email protected]> Date: Fri Feb 2 15:12:42 2024 -0500 Instruct generator to build ARM64 bindings commit 491248b Author: Conrad Kreyling <[email protected]> Date: Fri Feb 2 15:09:44 2024 -0500 Fix missing AArch64 entry in CLI CppAbi commit bbb0693 Author: Conrad Kreyling <[email protected]> Date: Fri Feb 2 13:35:11 2024 -0500 Enable ARM64 support on LLVM builds commit b5ab95e Author: Joao Matos <[email protected]> Date: Thu Feb 1 11:39:24 2024 +0000 Update iOS64 ABI name to the more accurate AppleARM64. commit d1307a5 Author: Joao Matos <[email protected]> Date: Thu Feb 1 11:21:52 2024 +0000 Add support for AArch64 C++ ABI. commit 9071cd2 Author: deadlocklogic <[email protected]> Date: Sun Dec 17 17:03:24 2023 +0200 Implement ClassTemplatePartialSpecialization::Parameters (mono#1809) * Implement ClassTemplatePartialSpecialization::Parameters * Template.cs: Implement ClassTemplatePartialSpecialization.Parameters * GeneratorKind: fix bug introduced while migrating from enum to class * Implement native ClassTemplatePartialSpecialization.Parameters + ASTConverter * regenerated bindings (mono#1813) * regenerated bindings * regenerated bindings after rebase * Directory.Build.props: support C# 10.0 * Implement native ClassTemplatePartialSpecialization.Parameters + ASTConverter * Regenerated bindings * TestAST.cs: add TestASTClassTemplatePartialSpecialization commit 2ecd952 Author: deadlocklogic <[email protected]> Date: Sun Dec 17 13:08:34 2023 +0200 regenerated bindings (mono#1813) * regenerated bindings * regenerated bindings after rebase * Directory.Build.props: support C# 10.0 commit 24d1a84 Author: deadlocklogic <[email protected]> Date: Sun Dec 17 11:44:00 2023 +0200 Stdlib.CSharp.cs: remove buggy typemap (mono#1812) commit 1327971 Author: deadlocklogic <[email protected]> Date: Sat Dec 16 21:36:04 2023 +0200 GeneratorKind: patch bug caused by missing ToString (mono#1811) commit 519e97f Author: Joao Matos <[email protected]> Date: Tue Dec 12 15:30:14 2023 +0000 Remove 32-bit builds and non-debug symbols release builds from LLVM Windows CI. commit 1211272 Author: deadlocklogic <[email protected]> Date: Tue Dec 12 17:25:12 2023 +0200 Build llvm `Debug`/`Release` for `Windows`. (mono#1800) * Update llvm-win.yml * Update llvm-win.yml * Update llvm-win.yml commit 12c267d Author: zylalx1 <[email protected]> Date: Fri Dec 8 03:58:10 2023 +0800 Fixed a bug causing the header file to be included twice when Options.GenerateName is not null (mono#1803) commit e068f2a Author: deadlocklogic <[email protected]> Date: Thu Dec 7 16:35:02 2023 +0200 Typemap cleanup (mono#1802) * TypeMap: prepare refactoring into a modular design * TypeMap: refactor C++ backend into common methods * TypeMap: refactor CLI backend into common methods * CLI.Gen.cs: fix omitted typemap from previous commit * Common.Gen.cs: fixed silly modification while testing * GeneratorKind: add FindGeneratorKindByID method * TypeMapDatabase: heavy refactor: group typemaps by GeneratorKind * TypeMap: refactor CSharp backend into common methods + migration * TypeMap: cleanup patches from previous commits * TypeMapDatabase: fix passing GeneratorKind to FindTypeMap calls * Stdlib.CSharp.cs: move std::map typemap from Stdlib.CLI.cs * TypeMapDatabase: improve parameter name commit 8c2da6d Author: deadlocklogic <[email protected]> Date: Mon Nov 13 22:00:41 2023 +0200 Major refactor: TypePrinter: improve modular design + cleanup (mono#1796) commit 0edd48c Author: deadlocklogic <[email protected]> Date: Mon Nov 13 20:15:24 2023 +0200 Major refactoring: refactor GeneratorKind enum into a class (mono#1794) * Major refactoring: refactor GeneratorKind enum into a class * Minor fix: add readonly * Add Type property for GenerationKind + cleanup * GeneratorKind: add Name property + refactor hardcoded names * GeneratorKind: add CLIOptions property + refactor hardcoded options * CppSharp.CLI: minor fix: use generator.ToLower() * GeneratorKind: fix warning commit 40f3a09 Author: deadlocklogic <[email protected]> Date: Sat Nov 11 16:51:18 2023 +0200 Minor improvements (mono#1793) * CppSharp.Generators.Options: added pre/post TranslationUnitPass callback * CppSharp.Generators.Passes.Pass: added TranslationUnitPassGeneratorDependent commit b14038a Author: Stefan <[email protected]> Date: Mon Oct 23 14:23:51 2023 +0200 Value types may generate `Dispose` (mono#1787) commit 3b2a15d Author: João Matos <[email protected]> Date: Sat Oct 21 19:33:13 2023 +0100 Update README.md commit a5afda8 Author: Stefan <[email protected]> Date: Fri Oct 20 21:00:04 2023 +0200 Fix parameterless constructors not being generated for structs (mono#1783) * Fix parameterless constructors not being generated for structs * Fix implicit non-trivial default ctor * Adjust `Ignore` linked issue commit b16e809 Author: Stefan <[email protected]> Date: Fri Oct 20 18:54:58 2023 +0200 Introduce `GenerateFreeStandingFunctionsClassName` option (mono#1782) * Introduce `GenerateFreeStandingFunctionsClassName` option * Support CLI and fixes commit 03874e7 Author: Stefan <[email protected]> Date: Thu Oct 19 17:24:55 2023 +0200 Fix Value Type String Member Invalid Codegen (mono#1778) * Fix code generation * Generate exception on broken struct set op * Remove redundant usings commit adffc99 Author: Salvage <[email protected]> Date: Thu Oct 19 14:51:06 2023 +0200 Fix erroneous newline commit b4f261e Author: Salvage <[email protected]> Date: Thu Oct 19 14:26:00 2023 +0200 Simplify `IsTemplateParameterType` commit 28000a1 Author: Salvage <[email protected]> Date: Thu Oct 19 01:19:07 2023 +0200 Fix mono#1251 three parameter equality operator - Operators in generic classes do not attempt to generate as extension methods anymore - Empty `...Extensions` classes are no longer generated - `string` as a template argument is correctly cast - `MarshalCharAsManagedChar` option also generates correct casts - Suppress warning regarding returning struct field by ref - Eliminate some tabs that snuck into the test C++ header commit d7faf5f Author: Joao Matos <[email protected]> Date: Wed Oct 18 17:39:49 2023 +0100 Fix SDL_PollEvent generation in the SDL example. Fixes mono#978. Thanks to @Saalvage. commit 7f567b6 Author: Salvage <[email protected]> Date: Wed Oct 18 18:26:03 2023 +0200 Fix non-void returning functions with value-type out parameters Also fixes indentation commit 0c60384 Author: Salvage <[email protected]> Date: Wed Oct 18 16:49:41 2023 +0200 Additional bump commit 0534e33 Author: Salvage <[email protected]> Date: Wed Oct 18 16:35:10 2023 +0200 Bump GH actions versions to solve warnings commit a6ef9d9 Author: Salvage <[email protected]> Date: Wed Oct 18 16:19:42 2023 +0200 Fix source dir commit 7e6c492 Author: Salvage <[email protected]> Date: Wed Oct 18 16:08:51 2023 +0200 Test fix broken packages commit 2a351b7 Author: Joao Matos <[email protected]> Date: Wed Oct 18 16:03:36 2023 +0100 Update our version to 1.1. commit 20950c5 Author: Salvage <[email protected]> Date: Wed Oct 18 04:58:38 2023 +0200 More stringent test; Fix indentation (of the code itself, not in the generator) commit ebe6b8a Author: Salvage <[email protected]> Date: Wed Oct 18 04:47:13 2023 +0200 Fix value type out parameters
This PR is the first step towards a modular
Generator
creation/registration.The current model doesn't allow the user to create a custom generator unless he modifies the sources and accommodates for the custom generator changes, which is a disadvantage for users who like to use
nuget
and prefer modular designs.This PR just transforms the
GeneratorKind
enum into a class, and makes the needed changes.If approved the next step, would be widening this concept, and let the
GeneratorKind
take care of the generator model:1- providing the type of the generator and instantiating it
2- providing the type of generator options
3- resolving the name of the
GeneratorKind
etc...
This is one of first steps which will make the integration of this library easier and more natural.