CppSharp v0.10.2 Release Notes

Release Date: 2020-03-27 // over 2 years ago
    • Associate getter/setter methods with their associated property in GetterSetterToProperty pass

    • โž• Added optional getter/setter pair creation for fields in FieldToProperty pass

    • ๐Ÿ”จ Refactor CLI handling of enums to be based on generic C generator

    • 0๏ธโƒฃ Default to .h file extension in C code generator

    • โž• Add helper methods to ignore and generate specific translation units

    • Guard a few more language-specific passes in the driver

    • ๐Ÿ›  Fix generation of multiple interfaces in C# for some edge cases

    • ๐Ÿ›  Fix templates to be abstract if any specialization is abstract

    • ๐Ÿ›  Fix TranslationUnit.FileRelativePath for invalid units

    • ๐Ÿ–จ Re-use common C++ declaration type printing code in CLITypePrinter

    • ๐Ÿ‘ Allow changing the default TypePrinterContextKind when creating a type printer

    • โœ‚ Remove needless pointer offsets from generated C#

    • ๐Ÿ›  Fix a crash for secondary bases with secondary bases

    • ๐Ÿ›  Fix bug related to processing of potential property methods

    • Ensure generated symbols can use placement new

    • ๐Ÿ›  Fix Mono not being found on the PATH on recent macOS versions

    • ๐Ÿ‘ป Instantiate exception specifications before reading

    • โšก๏ธ Update LLVM to the latest version

    • ๐Ÿ›  Fix a syntax error in CMake listing Clang modules

    • ๐Ÿ— Enable building lld as part of LLVM

    • โช Restore modules needed for compiling with Clang

    • ๐Ÿ‘Œ Support Visual Studio 2019 for building Clang

    • โšก๏ธ Update Travis to Ubuntu Xenial 18.04

    • โšก๏ธ Simplify and optimize the printing of pointers in C++

    • ๐Ÿ›  Fix printing of function pointers in C++

    • Don't export symbols for explicit specializations

    • โœ… Avoid invalid template specializations in tests

    • โšก๏ธ Update the printing of comments to the new Clang

    • โ†ช Work around MSVC 32 crashing reading of exported symbols in Mach-O

    • ๐Ÿ‘Œ Improve Xcode toolchain lookup to be more robust

    • Implement logic for -fgnuc-version= argument required by LLVM

    • โšก๏ธ Update LLVM to the latest version

    • ๐Ÿ”จ Refactor Clang builtins directory logic and move it to the managed side

    • Escape C# strings correctly

    • ๐Ÿ‘Œ Improve CS_INTERNAL so it now applies to all declarations

    • ๐Ÿ–จ Print the parser target triple in verbose mode

    • ๐Ÿ— Always re-create the Clang resource directory when building

    • Cleanup Clang resource directory lookup logic

    • โœ‚ Remove old workaround for testing issue that does not seem necessary anymore

    • Git ignore .vscode directory

    • ๐Ÿ— Workaround Premake issue when copying the resource include directories at build time

    • ๐Ÿ›  Fix warning about #pragma once in source file

    • โšก๏ธ Update bootstrap tool to run against latest LLVM

    • โšก๏ธ Update bootstrap tool to find LLVM build directory

    • โž• Add options to disable tests and examples from the build

    • ๐Ÿ‘Œ Improve the ignoring of dependent name types

    • Implement UnresolvedUsingType and UnresolvedUsingTypename

    • ๐Ÿ›  Fix the tests for exception types

    • Switch to Xcode 11 in Travis CI

    • ๐Ÿ–จ Extend printing and reading of exception types

    • ๐Ÿ›  Fix the check to ignore dependent name types

    • Ignore unused destructors when generating symbols

    • ๐Ÿ›  Fix the printing of "noexcept" in C++

    • โœ… Make destructors virtual in abstract classes for tests

    • Avoid generating abstract implementations for template classes

    • ๐Ÿ›  Fix template type checking in CovariantTypeComparer

    • Git ignore nested temporary obj folders

    • ๐ŸŽ Workaround System.TypeLoad exception when running test-suite on macOS

    • ๐Ÿ›  Fix enum with zeros for hex literals

    • ๐Ÿ›  Fix the moving of free functions to classes to match by module too

    • ๐Ÿ‘ Generate valid C# when an external module has an unsupported operator

    • ๐Ÿ›  Fix a possible overflown stack when ignoring

    • ๐Ÿ‘ฎ Force compilation of all functions of specializations

    • Fill in missed values when cloning functions

    • โšก๏ธ Optimize the moving of functions to classes

    • โœ‚ Delete a custom pass added as standard

    • ๐Ÿ›  Fix the C++ printing of function pointers in parameters

    • Eliminate generated symbols for ignored functions

    • ๐Ÿ›  Fix printing of type defs in C++

    • โœ‚ Remove the internal C# functions for virtual destructors

    • Give unique names to exported inlined functions

    • Generate symbols for methods of specializations

    • โšก๏ธ Optimize all passes which visited useless items

    • ๐Ÿ‘‰ Make the pass for properties more extendable

    • Simplify overrides of overrides of secondary bases

    • โšก๏ธ Optimize calls to base getters in properties

    • ๐Ÿ›  Fix comparison of char and const char* in overloading

    • โšก๏ธ Optimize the pass for properties

    • Clarify limitations around exceptions and RTTI

    • Destroy returned by value std::strings

    • โฌ†๏ธ Upgrade ANSI marshalling to UTF-8 marshalling

    • Generate valid C# when a renamed override causes conflicts

    • Ensure protected nested types are accessible with multiple inheritance

    • ๐Ÿ›  Fix the regressed indentation of printed comments

    • Generate projects for .NET 4.7 to use new features

    • Simplify the generated C# for marshalling strings