Browse Source

Enabled dtor generation in basic_string (#864)

pull/780/head
Mohit Mohta 8 years ago committed by Dimitar Dobrev
parent
commit
4075ba7144
  1. 1
      src/CppParser/Bindings/CSharp/i686-apple-darwin12.4.0/Std-symbols.cpp
  2. 4
      src/CppParser/Bindings/CSharp/i686-apple-darwin12.4.0/Std.cs
  3. 1
      src/CppParser/Bindings/CSharp/i686-pc-win32-msvc/Std-symbols.cpp
  4. 4
      src/CppParser/Bindings/CSharp/i686-pc-win32-msvc/Std.cs
  5. 1
      src/CppParser/Bindings/CSharp/x86_64-apple-darwin12.4.0/Std-symbols.cpp
  6. 4
      src/CppParser/Bindings/CSharp/x86_64-apple-darwin12.4.0/Std.cs
  7. 1
      src/CppParser/Bindings/CSharp/x86_64-linux-gnu-cxx11abi/Std-symbols.cpp
  8. 4
      src/CppParser/Bindings/CSharp/x86_64-linux-gnu-cxx11abi/Std.cs
  9. 1
      src/CppParser/Bindings/CSharp/x86_64-linux-gnu/Std-symbols.cpp
  10. 4
      src/CppParser/Bindings/CSharp/x86_64-linux-gnu/Std.cs
  11. 1
      src/CppParser/Bindings/CSharp/x86_64-pc-win32-msvc/Std-symbols.cpp
  12. 4
      src/CppParser/Bindings/CSharp/x86_64-pc-win32-msvc/Std.cs
  13. 4
      src/Generator/Passes/IgnoreSystemDeclarationsPass.cs

1
src/CppParser/Bindings/CSharp/i686-apple-darwin12.4.0/Std-symbols.cpp

@ -2,4 +2,5 @@ @@ -2,4 +2,5 @@
template std::__1::allocator<char>::allocator() noexcept;
template std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>::basic_string(const std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>::value_type*, const std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>::allocator_type&);
template std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>::~basic_string();
template const std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>::value_type* std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>::c_str() const noexcept;

4
src/CppParser/Bindings/CSharp/i686-apple-darwin12.4.0/Std.cs

@ -1312,7 +1312,7 @@ namespace Std @@ -1312,7 +1312,7 @@ namespace Std
[SuppressUnmanagedCodeSecurity]
[DllImport("Std-symbols", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl,
EntryPoint="_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEED2Ev")]
internal static extern void dtorc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C(global::System.IntPtr instance);
internal static extern void dtorc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C_0(global::System.IntPtr instance);
[SuppressUnmanagedCodeSecurity]
[DllImport("Std-symbols", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl,
@ -1488,7 +1488,7 @@ namespace Std @@ -1488,7 +1488,7 @@ namespace Std
global::Std.__1.BasicString __dummy;
NativeToManagedMap.TryRemove(__Instance, out __dummy);
if (disposing)
global::Std.__1.BasicString.__Internal.dtorc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C((__Instance + __PointerAdjustment));
global::Std.__1.BasicString.__Internal.dtorc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C_0((__Instance + __PointerAdjustment));
if (__ownsNativeInstance)
Marshal.FreeHGlobal(__Instance);
__Instance = IntPtr.Zero;

1
src/CppParser/Bindings/CSharp/i686-pc-win32-msvc/Std-symbols.cpp

@ -2,4 +2,5 @@ @@ -2,4 +2,5 @@
template __declspec(dllexport) std::allocator<char>::allocator() noexcept;
template __declspec(dllexport) std::basic_string<char, std::char_traits<char>, std::allocator<char>>::basic_string(const char*, const std::allocator<char>&);
template __declspec(dllexport) std::basic_string<char, std::char_traits<char>, std::allocator<char>>::~basic_string() noexcept;
template __declspec(dllexport) const char* std::basic_string<char, std::char_traits<char>, std::allocator<char>>::c_str() const noexcept;

4
src/CppParser/Bindings/CSharp/i686-pc-win32-msvc/Std.cs

@ -559,7 +559,7 @@ namespace Std @@ -559,7 +559,7 @@ namespace Std
[SuppressUnmanagedCodeSecurity]
[DllImport("Std-symbols", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall,
EntryPoint="??1?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@XZ")]
internal static extern void dtorc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C(global::System.IntPtr instance, int delete);
internal static extern void dtorc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C_0(global::System.IntPtr instance, int delete);
[SuppressUnmanagedCodeSecurity]
[DllImport("Std-symbols", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall,
@ -618,7 +618,7 @@ namespace Std @@ -618,7 +618,7 @@ namespace Std
global::Std.BasicString __dummy;
NativeToManagedMap.TryRemove(__Instance, out __dummy);
if (disposing)
global::Std.BasicString.__Internal.dtorc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C((__Instance + __PointerAdjustment), 0);
global::Std.BasicString.__Internal.dtorc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C_0((__Instance + __PointerAdjustment), 0);
if (__ownsNativeInstance)
Marshal.FreeHGlobal(__Instance);
__Instance = IntPtr.Zero;

1
src/CppParser/Bindings/CSharp/x86_64-apple-darwin12.4.0/Std-symbols.cpp

@ -2,4 +2,5 @@ @@ -2,4 +2,5 @@
template std::__1::allocator<char>::allocator() noexcept;
template std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>::basic_string(const std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>::value_type*, const std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>::allocator_type&);
template std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>::~basic_string();
template const std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>::value_type* std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>::c_str() const noexcept;

4
src/CppParser/Bindings/CSharp/x86_64-apple-darwin12.4.0/Std.cs

@ -1312,7 +1312,7 @@ namespace Std @@ -1312,7 +1312,7 @@ namespace Std
[SuppressUnmanagedCodeSecurity]
[DllImport("Std-symbols", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl,
EntryPoint="_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEED2Ev")]
internal static extern void dtorc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C(global::System.IntPtr instance);
internal static extern void dtorc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C_0(global::System.IntPtr instance);
[SuppressUnmanagedCodeSecurity]
[DllImport("Std-symbols", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl,
@ -1488,7 +1488,7 @@ namespace Std @@ -1488,7 +1488,7 @@ namespace Std
global::Std.__1.BasicString __dummy;
NativeToManagedMap.TryRemove(__Instance, out __dummy);
if (disposing)
global::Std.__1.BasicString.__Internal.dtorc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C((__Instance + __PointerAdjustment));
global::Std.__1.BasicString.__Internal.dtorc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C_0((__Instance + __PointerAdjustment));
if (__ownsNativeInstance)
Marshal.FreeHGlobal(__Instance);
__Instance = IntPtr.Zero;

1
src/CppParser/Bindings/CSharp/x86_64-linux-gnu-cxx11abi/Std-symbols.cpp

@ -2,4 +2,5 @@ @@ -2,4 +2,5 @@
template std::allocator<char>::allocator();
template std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>::basic_string(const char*, const std::allocator<char>&);
template std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>::~basic_string();
template const char* std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>::c_str() const noexcept;

4
src/CppParser/Bindings/CSharp/x86_64-linux-gnu-cxx11abi/Std.cs

@ -648,7 +648,7 @@ namespace Std @@ -648,7 +648,7 @@ namespace Std
[SuppressUnmanagedCodeSecurity]
[DllImport("Std-symbols", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl,
EntryPoint="_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev")]
internal static extern void dtorc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C(global::System.IntPtr instance);
internal static extern void dtorc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C_0(global::System.IntPtr instance);
[SuppressUnmanagedCodeSecurity]
[DllImport("Std-symbols", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl,
@ -735,7 +735,7 @@ namespace Std @@ -735,7 +735,7 @@ namespace Std
global::Std.Cxx11.BasicString __dummy;
NativeToManagedMap.TryRemove(__Instance, out __dummy);
if (disposing)
global::Std.Cxx11.BasicString.__Internal.dtorc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C((__Instance + __PointerAdjustment));
global::Std.Cxx11.BasicString.__Internal.dtorc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C_0((__Instance + __PointerAdjustment));
if (__ownsNativeInstance)
Marshal.FreeHGlobal(__Instance);
__Instance = IntPtr.Zero;

1
src/CppParser/Bindings/CSharp/x86_64-linux-gnu/Std-symbols.cpp

@ -2,4 +2,5 @@ @@ -2,4 +2,5 @@
template std::allocator<char>::allocator();
template std::basic_string<char, std::char_traits<char>, std::allocator<char>>::basic_string(const char*, const std::allocator<char>&);
template std::basic_string<char, std::char_traits<char>, std::allocator<char>>::~basic_string() noexcept;
template const char* std::basic_string<char, std::char_traits<char>, std::allocator<char>>::c_str() const noexcept;

4
src/CppParser/Bindings/CSharp/x86_64-linux-gnu/Std.cs

@ -625,7 +625,7 @@ namespace Std @@ -625,7 +625,7 @@ namespace Std
[SuppressUnmanagedCodeSecurity]
[DllImport("Std-symbols", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl,
EntryPoint="_ZNSsD2Ev")]
internal static extern void dtorc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C(global::System.IntPtr instance);
internal static extern void dtorc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C_0(global::System.IntPtr instance);
[SuppressUnmanagedCodeSecurity]
[DllImport("Std-symbols", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl,
@ -726,7 +726,7 @@ namespace Std @@ -726,7 +726,7 @@ namespace Std
global::Std.BasicString __dummy;
NativeToManagedMap.TryRemove(__Instance, out __dummy);
if (disposing)
global::Std.BasicString.__Internal.dtorc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C((__Instance + __PointerAdjustment));
global::Std.BasicString.__Internal.dtorc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C_0((__Instance + __PointerAdjustment));
if (__ownsNativeInstance)
Marshal.FreeHGlobal(__Instance);
__Instance = IntPtr.Zero;

1
src/CppParser/Bindings/CSharp/x86_64-pc-win32-msvc/Std-symbols.cpp

@ -2,4 +2,5 @@ @@ -2,4 +2,5 @@
template __declspec(dllexport) std::allocator<char>::allocator() noexcept;
template __declspec(dllexport) std::basic_string<char, std::char_traits<char>, std::allocator<char>>::basic_string(const char*, const std::allocator<char>&);
template __declspec(dllexport) std::basic_string<char, std::char_traits<char>, std::allocator<char>>::~basic_string() noexcept;
template __declspec(dllexport) const char* std::basic_string<char, std::char_traits<char>, std::allocator<char>>::c_str() const noexcept;

4
src/CppParser/Bindings/CSharp/x86_64-pc-win32-msvc/Std.cs

@ -569,7 +569,7 @@ namespace Std @@ -569,7 +569,7 @@ namespace Std
[SuppressUnmanagedCodeSecurity]
[DllImport("Std-symbols", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl,
EntryPoint="??1?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEAA@XZ")]
internal static extern void dtorc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C(global::System.IntPtr instance, int delete);
internal static extern void dtorc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C_0(global::System.IntPtr instance, int delete);
[SuppressUnmanagedCodeSecurity]
[DllImport("Std-symbols", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl,
@ -628,7 +628,7 @@ namespace Std @@ -628,7 +628,7 @@ namespace Std
global::Std.BasicString __dummy;
NativeToManagedMap.TryRemove(__Instance, out __dummy);
if (disposing)
global::Std.BasicString.__Internal.dtorc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C((__Instance + __PointerAdjustment), 0);
global::Std.BasicString.__Internal.dtorc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C_0((__Instance + __PointerAdjustment), 0);
if (__ownsNativeInstance)
Marshal.FreeHGlobal(__Instance);
__Instance = IntPtr.Zero;

4
src/Generator/Passes/IgnoreSystemDeclarationsPass.cs

@ -51,11 +51,11 @@ namespace CppSharp.Passes @@ -51,11 +51,11 @@ namespace CppSharp.Passes
switch (@class.Name)
{
case "basic_string":
foreach (var method in @class.Methods.Where(m => m.OriginalName != "c_str"))
foreach (var method in @class.Methods.Where(m => !m.IsDestructor && m.OriginalName != "c_str"))
method.ExplicitlyIgnore();
foreach (var specialization in @class.Specializations.Where(s => !s.Ignore))
{
foreach (var method in specialization.Methods.Where(m => m.OriginalName != "c_str"))
foreach (var method in specialization.Methods.Where(m => !m.IsDestructor && m.OriginalName != "c_str"))
method.ExplicitlyIgnore();
var ctor = specialization.Methods.Single(m => m.IsConstructor && m.Parameters.Count == 2 &&
m.Parameters[0].Type.Desugar().IsPointerToPrimitiveType(PrimitiveType.Char) &&

Loading…
Cancel
Save