* Rewrite property detection logic to be more configurable.
* Add new property modes to the CLI driver.
* Refactor property handling in GetterSetterToProperty.
* Fixes to QuickJS marshaling.
* Handle more primitive types in `GetInfo`.
* Fix generator kind CLI option matching.
* Alias QuickJS generator kind to `quickjs`.
* General CLI code cleanups.
* Default to x64 platform over x86 for the CLI.
* Implement new Lua bindings file and commands for CLI tool.
* Fix QuickJS primitive type marshaling to take target sizes into account.
* Minor code cleanup.
* Avoid generating includes to units when generating the QuickJS module.
* Update file generation naming pattern for QuickJS files.
* Update QuickJS JS_GetOpaque and JS_GetAnyOpaque references to work with latest upstream.
* Update QuickJS runtime and support code to work with latest upstream.
* Avoid generating properties when generating QuickJS register code.
* Update QuickJS test suite to bootstrap its own QuickJS runtime.
* Update QuickJS test suite to use a Lua bindings definition file.
* Minor fixes to test header files.
* Fix C++ warning about return values for event invokes.
* Disable some non working tests for QuickJS.
* Enable QuickJS testing on CI.
* Fix shell color attributes for test scripts when under CI.
* WIP CI fixes.
* Fix warnings in QuickJS support runtime code.
* Use C99 designated initializers for all QuickJS class def members.
* Disable QuickJS CI steps on Windows.
* Clean up error handling for `JS_ToBool`.
* More QuickJS support code fixes.
* Rename Signal.cpp to QuickJS nomenclature.
* Fix QuickJS JS_ToBigUint call.
* Remove QuickJS test script verbosity.
* More CI fixes.
* Verbose build.
* Extension fix.
I do not know I'm first to encounter this, however, loop that removes module without translation units, could not have worked.
In C# Enumerator prohibs editing the collection so you cannot remove modules from `options.Module` while iterating `options.Mobule`.
Chose `RemoveAll` for its simplicity. Not necessary optimal solution although it might be.
Co-authored-by: HenrikVDestia <henrik.valve@destia.fi>
* 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
* 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
- 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