All Versions
Latest Version
Avg Release Cycle
62 days
Latest Release

Changelog History
Page 3

  • v0.8.16 Changes

    November 10, 2017
    • ๐Ÿ›  Fixed a crash when parsing unnamed declarations in name-spaces.
  • v0.8.15 Changes

    • ๐Ÿ– 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)

  • v0.8.14 Changes

    • โž• 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

    • 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.