- 🛠 Fixed a crash when parsing unnamed declarations in name-spaces.
🖐 Handled any level of nesting when generating internals for specialisations in C#.
🛠 Fixed the generation of internals for template specialisations.
Ensured symbols for nested template specialisations.
🛠 Fixed the generated C++ for external template specialisations.
Completed just class template specialisations used in functions.
🛠 Fixed a regression of generating templates in C# with the option off.
🌐 Optimised the parser by skipping the system translation units.
Reused parameters between functions and their types (as Clang does).
➕ Added an option for specifying STD types to bind.
⬇️ Reduced time and memory during generation by skipping methods of most STD classes.
👌 Improved the check for a layout on a record.
🛠 Fixed a crash when trying to get a source location for an implicit declaration.
🛠 Fixed the generated C# for a fixed array of pointers.
✂ Removed unused STD enumerations from generation.
🛠 Fixed a crash when a comment contains regular text wrapped in <>.
Made only really used classes internal.
🛠 Fixed a typing error in the name of a function.
0️⃣ Ignored return parameters when fixing default arguments of overrides.
Ensured no overflown stack in the AST converter.
🛠 Fixed code generation for using template types.
👌 Improved debugging display for Type type.
🛠 Fixed incorrectly generated bindings for class with non-type template arguments.
🛠 Fixed the generated C# for templates derived from regular dynamic classes.
Ensured all non-system template specialisations are complete.
🛠 Fixed a problem when walking the managed AST because friend templated classes were seen as declared multiple times and resulted into a crash.
👌 Improved type notation in the manual.
Documented string marshaling behavior.
🛠 Fixed implicit class record walking in the parser.
➕ Added a new verbose flag to the CLI tool and improved verbose handling.
🛠 Fixed duplicate generation of forward declared class.
Small cleanup and minor optimizations in ResolveIncompleteDeclsPass.
👌 Improved the fix for handling non-type params in template specialisation types.
🛠 Fixed template parsing issue with processing of type locs.
🛠 Fixed a parser bug when dealing with DependentTemplateSpecializationTypeLoc.
🛠 Fixed an erroneous usage of LLVM cast with a regular C++ type. Only found with debug-mode LLVM build.
🛠 Fixed VS2017 system includes search error #957 (#958)
➕ Added experimental support for templates.
🛠 Fixed the generated C# when a virtual function takes a fixed array.
🛠 Fixed the generated C# for fixed arrays in types of parameters.
🛠 Fixed the generated C# for virtuals taking arrays of objects.
🏁 Lookup Mono SDK path on Windows registry.
🛠 Fixed the generated C# when a virtual function takes an array.
🛠 Fixed the generated C# with 4+ modules and repetitive delegates.
➕ Added C# marshalling of parameters of type array of const char* const.
➕ Added C# marshalling of parameters of type array of const char*.
🛠 Fixed null arrays in C# to be passed as such to C/C++.
➕ Added C# marshalling of parameters of type array of objects.
➕ Added C# marshalling of parameters of type array of primitives.
➕ Added marshalling of parameters of type array of pointers.
🛠 Fixed the generated C# for two anonymous types nested in another anonymous type.
✂ Removed unused internals from the generated C#.
➕ Added an example for the parser API-s.
➕ Add C++17 to the parser options
Compile.sh script now has improved error handling.
🐧 Linux toolchain can be supplied in the same spirit in path probing on Mac.
Enabled empty arrays of non-primitives only when not using MSVC.
Ignore zero-sized constant C array types.
0️⃣ The compilation platform is now nullable by default and validated by the host platforms.
➕ Added LLVM target initialization and supporting libraries for parsing inline assembly.
🛠 Fixed a crash when trying to use a VS version missing from the system.
🛠 Fixed the binding of multiple identical function pointers with a calling convention.
Got rid of anonymous names for delegates.
🛠 Fixed the calling conventions of delegates.
Ensures that if a delegate is used for a virtual as well as something else, it finally ends up as public.
🛠 Fixed the code generation when the return type of a method is a function pointer that has been used somewhere else as well.
➕ Added Access and Calling convention to the delegate definition.
Generated properties from setters returning Booleans.
➕ Added some aliases to options in the CLI tool.
[generator] Improved processing for C++ inline namespaces.
🛠 Fixed initial output messages in the CLI.
Generated properties from get()/void get() pairs.
⏪ Restored the option for generating one C# file per unit.
🛠 Fixed the sorting of modules to also work with manually added dependencies.
Do not generated unformatted code if debug mode is enabled.
➕ Added an option to the CLI for enabling debug mode for generated output.
👌 Improved the directory setup in the CLI in case the path is not a file path.
➕ Adds a new option to the CLI for automatic compilation of generated code.
➕ Adds a new dedicated "-exceptions" flag to enable C++ exceptions in the CLI.
➕ Added a new -A option to the CLI to pass compiler arguments to Clang parser.
🛠 Fixed the name of an option in the CLI.
✂ Removed the showing of help for the CLI if we have output an error previously.
👌 Improved error messages in the CLI.
👌 Improve platform detection in the CLI so the current platform is set by default.
🛠 Fixed a directory check in the CLI that was throwing exceptions in Mono.
🛠 Fixed the generated C# indexers for specialisations of pointers.
🛠 Fixed the generated C# for increment and decrement operators.
✂ Removed leftovers in the comments from unsupported custom xml tags.
🛠 Fixed the generation of symbols to check all base classes up the chain.
🖨 Printed the text from unsupported comment tags.
🛠 Fixed the generated C# for a case of a typedef of a function pointer.
Typedefs of function pointers can be written in two ways:
typedef void (*typedefedFuncPtr)();
int f(typedefedFuncPtr fptr);
typedef void (typedefedFuncPtr)();
int f(typedefedFuncPtr* fptr);
Up until now we only supported the former.
🛠 Fixed the C# generation for functions with typedefed function pointers as params
Set the name-space of a parameter to its function.
Included the comments plain text to the remarks block.
🛠 Fix the typo in LLVM.lua
Prevented projects from being generated using GenerateProjects.bat
🛠 Fixed the generated C# for setters with a reference to a primitive type.
📚 Ensured a single element for remarks in the generated XML documentation comments.
🛠 Fixed the renaming of methods in forwarded types from secondary bases in dependencies.
➕ Added to a method a list of its overridden methods.
Generated internals of external specialisations only if the template has template fields.
Equalised the access of overrides and their base methods.
🛠 Fixed the code generation for indexers returning a void pointer.
🛠 Fixed the generated C# when a protected constructor has a parameter with a protected type.
🛠 Fixed the generated C# when an external specialisation with a dependent field is used as a field.
Made Function a DeclarationContext to match the Clang AST.
Made the C/C++ language switches adjustable in managed code.
➕ Added an option to enable or disable RTTI.
🛠 Fixed the generation of inlines to handle types in classes in name-spaces.