04. CodePorting.Native Cs2Cpp 19.4

Last modified by Muhammad Rizwan on 2019/10/11 13:17

Major Features

  1. Product name was changed from 'csPorter for C++' to 'CodePorting.Native Cs2Cpp'. Old product name was used for releases from 18.9 to 19.3. The new one is being used from 19.4 release onwards.
  2. Support for CppSkipTest attribute was added allowing it to skip tests in gtest by placing attribute.
  3. Autoproperties initialization in constructor was fixed for the case when no setter is provided.
  4. Regex implementation was switched from boost::regex to PCRE2 library causing performance increase. Some previously unsupported syntaxes were supported.
  5. boost library used was upgraded to 1.69.
  6. Size of Skia library being used was optimized.

Minor fixes

  1. Include directive for enums used in class implementation was moved from .h files to .cpp files.
  2. Types conversion genration was fixed for '==' and '!=' operators when they are defined for translated class.
  3. Implicit type conversion operators were supported by porter.
  4. gtest version used was updated to actual master branch.
  5. 'CppSkipEntity' and 'Ignore' attributes are now taken into account when adding baseclass'es tests into current class.
  6. NUnit.Framework.Assert.Warn() method translation was supported.
  7. C4715 warnings were suppressed for translation of try-finally statement with finally_statement_as_lambda option enabled.
  8. Collections comparison in tests translation was improved.

Please consult respective sections of our wiki for more information.

Full List of Issues Covering all Changes in this Release

WORDSCPP-758Add support for skipping tests with GTEST_SKIP()New Feature
CSPORTCPP-2626Fix project name in the packagesEnhancement
CSPORTCPP-2584Change product name in license checkingEnhancement
WORDSCPP-767force_include_enum=true shouldn't include private enumsEnhancement
PDFCPP-932Fix CsToCppPorter - types convertion in equality/inequality operatorsEnhancement
PDFCPP-933CsToCppPorter - implicit conversion to base typeEnhancement
PDFCPP-939Port Aspose.Font.Tests project: FormatterConverterEnhancement
PDFCPP-940CsToCppPorter - fix AddBaseClassTestsEnhancement
PDFCPP-937Port Aspose.Font.Tests projectEnhancement
CSPORTCPP-2020Fix Regex issuesEnhancement
EMAILCPP-188Prepearing Aspose.Email for C++ release 19.01Enhancement
BARCODECPP-395Support Aspose.BarCode for C++Enhancement
CSPORTCPP-2606Switch asposecpplib to compact Skia build with is_official_build flagEnhancement
WORDSCPP-766Disable C4715 warnings for code with try-finally statementsEnhancement
WORDSCPP-760Incorrect porting of autoproperties initialization in ctorBug
WORDSCPP-764Implement AsposeAssert.AreCollectionsEqual assertionBug

Public API and Backward Incompatible Changes

  1. Stubs to GetFileName(), GetFileLineNumber() and GetFileColumnNumber() methods of System::Diagnostics::StackFrame class were added.
  2. Boolean-parameterized System::Diagnostics::StackTrace constructor was implemented.
  3. System::Reflection::MethodBase::get_ReflectedType() method was implemented.
  4. Implementation of Regex-related classes was changed. Some internally used methods may have been added and/or removed.
  5. Stubs for System::Runtime::Serialization::FormatterConverter class were added.
Created by Farooq Sheikh on 2019/05/28 08:36