Browse Source

Generated C# marshalling structures for classes nested in specialisations.

Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
pull/878/head
Dimitar Dobrev 8 years ago
parent
commit
e04afb8bd5
  1. 49
      src/CppParser/Bindings/CSharp/i686-apple-darwin12.4.0/Std.cs
  2. 19
      src/CppParser/Bindings/CSharp/i686-pc-win32-msvc/Std.cs
  3. 49
      src/CppParser/Bindings/CSharp/x86_64-apple-darwin12.4.0/Std.cs
  4. 48
      src/CppParser/Bindings/CSharp/x86_64-linux-gnu-cxx11abi/Std.cs
  5. 60
      src/CppParser/Bindings/CSharp/x86_64-linux-gnu/Std.cs
  6. 19
      src/CppParser/Bindings/CSharp/x86_64-pc-win32-msvc/Std.cs
  7. 3
      src/Generator/Generators/CSharp/CSharpSources.cs

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

@ -215,15 +215,6 @@ namespace Std @@ -215,15 +215,6 @@ namespace Std
}
}
public unsafe partial class Rebind
{
[StructLayout(LayoutKind.Explicit, Size = 0)]
public partial struct __Internal
{
}
}
namespace CompressedPair
{
[StructLayout(LayoutKind.Explicit, Size = 12)]
@ -1473,47 +1464,69 @@ namespace Std @@ -1473,47 +1464,69 @@ namespace Std
}
public unsafe partial class Long
public unsafe partial class Rep
{
[StructLayout(LayoutKind.Explicit, Size = 0)]
[StructLayout(LayoutKind.Explicit, Size = 12)]
public partial struct __Internal
{
[FieldOffset(0)]
internal global::Std.__1.BasicString.Rep._.__Internal _;
}
}
public unsafe partial class Short
public unsafe partial class Long
{
[StructLayout(LayoutKind.Explicit, Size = 0)]
[StructLayout(LayoutKind.Explicit, Size = 12)]
public partial struct __Internal
{
[FieldOffset(0)]
internal uint __cap_;
[FieldOffset(4)]
internal uint __size_;
[FieldOffset(8)]
internal global::System.IntPtr __data_;
}
}
public unsafe partial struct Ulx
public unsafe partial class Short
{
[StructLayout(LayoutKind.Explicit, Size = 0)]
[StructLayout(LayoutKind.Explicit, Size = 12)]
public partial struct __Internal
{
[FieldOffset(0)]
internal global::Std.__1.BasicString.Short._.__Internal _;
[FieldOffset(1)]
internal fixed sbyte __data_[11];
}
}
public unsafe partial class Raw
{
[StructLayout(LayoutKind.Explicit, Size = 0)]
[StructLayout(LayoutKind.Explicit, Size = 12)]
public partial struct __Internal
{
[FieldOffset(0)]
internal fixed uint __words[3];
}
}
public unsafe partial class Rep
public unsafe partial struct Ulx
{
[StructLayout(LayoutKind.Explicit, Size = 0)]
[StructLayout(LayoutKind.Explicit, Size = 12)]
public partial struct __Internal
{
[FieldOffset(0)]
internal global::Std.__1.BasicString.Long.__Internal __lx;
[FieldOffset(0)]
internal global::Std.__1.BasicString.Short.__Internal __lxx;
}
}
}

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

@ -469,15 +469,6 @@ namespace Std @@ -469,15 +469,6 @@ namespace Std
__Instance = IntPtr.Zero;
}
}
public unsafe partial class Rebind
{
[StructLayout(LayoutKind.Explicit, Size = 0)]
public partial struct __Internal
{
}
}
}
namespace Std
@ -603,9 +594,17 @@ namespace Std @@ -603,9 +594,17 @@ namespace Std
public unsafe partial struct Bxty
{
[StructLayout(LayoutKind.Explicit, Size = 0)]
[StructLayout(LayoutKind.Explicit, Size = 16)]
public partial struct __Internal
{
[FieldOffset(0)]
internal fixed sbyte _Buf[16];
[FieldOffset(0)]
internal global::System.IntPtr _Ptr;
[FieldOffset(0)]
internal fixed sbyte _Alias[16];
}
}
}

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

@ -215,15 +215,6 @@ namespace Std @@ -215,15 +215,6 @@ namespace Std
}
}
public unsafe partial class Rebind
{
[StructLayout(LayoutKind.Explicit, Size = 0)]
public partial struct __Internal
{
}
}
namespace CompressedPair
{
[StructLayout(LayoutKind.Explicit, Size = 24)]
@ -1473,47 +1464,69 @@ namespace Std @@ -1473,47 +1464,69 @@ namespace Std
}
public unsafe partial class Long
public unsafe partial class Rep
{
[StructLayout(LayoutKind.Explicit, Size = 0)]
[StructLayout(LayoutKind.Explicit, Size = 24)]
public partial struct __Internal
{
[FieldOffset(0)]
internal global::Std.__1.BasicString.Rep._.__Internal _;
}
}
public unsafe partial class Short
public unsafe partial class Long
{
[StructLayout(LayoutKind.Explicit, Size = 0)]
[StructLayout(LayoutKind.Explicit, Size = 24)]
public partial struct __Internal
{
[FieldOffset(0)]
internal ulong __cap_;
[FieldOffset(8)]
internal ulong __size_;
[FieldOffset(16)]
internal global::System.IntPtr __data_;
}
}
public unsafe partial struct Ulx
public unsafe partial class Short
{
[StructLayout(LayoutKind.Explicit, Size = 0)]
[StructLayout(LayoutKind.Explicit, Size = 24)]
public partial struct __Internal
{
[FieldOffset(0)]
internal global::Std.__1.BasicString.Short._.__Internal _;
[FieldOffset(1)]
internal fixed sbyte __data_[23];
}
}
public unsafe partial class Raw
{
[StructLayout(LayoutKind.Explicit, Size = 0)]
[StructLayout(LayoutKind.Explicit, Size = 24)]
public partial struct __Internal
{
[FieldOffset(0)]
internal fixed ulong __words[3];
}
}
public unsafe partial class Rep
public unsafe partial struct Ulx
{
[StructLayout(LayoutKind.Explicit, Size = 0)]
[StructLayout(LayoutKind.Explicit, Size = 24)]
public partial struct __Internal
{
[FieldOffset(0)]
internal global::Std.__1.BasicString.Long.__Internal __lx;
[FieldOffset(0)]
internal global::Std.__1.BasicString.Short.__Internal __lxx;
}
}
}

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

@ -120,15 +120,6 @@ namespace Std @@ -120,15 +120,6 @@ namespace Std
__Instance = IntPtr.Zero;
}
}
public unsafe partial class Rebind
{
[StructLayout(LayoutKind.Explicit, Size = 0)]
public partial struct __Internal
{
}
}
}
namespace Std
@ -145,9 +136,17 @@ namespace Std @@ -145,9 +136,17 @@ namespace Std
public unsafe partial class VectorImpl
{
[StructLayout(LayoutKind.Explicit, Size = 0)]
[StructLayout(LayoutKind.Explicit, Size = 24)]
public partial struct __Internal
{
[FieldOffset(0)]
internal global::System.IntPtr _M_start;
[FieldOffset(8)]
internal global::System.IntPtr _M_finish;
[FieldOffset(16)]
internal global::System.IntPtr _M_end_of_storage;
}
}
}
@ -221,16 +220,24 @@ namespace Std @@ -221,16 +220,24 @@ namespace Std
}
public unsafe partial class ReuseOrAllocNode
public unsafe partial class RbTreeImpl
{
[StructLayout(LayoutKind.Explicit, Size = 0)]
public partial struct __Internal
[StructLayout(LayoutKind.Explicit, Size = 48)]
public unsafe partial struct __Internal
{
[FieldOffset(0)]
internal global::Std.Less.__Internal _M_key_compare;
[FieldOffset(8)]
internal global::Std.RbTreeNodeBase.__Internal _M_header;
[FieldOffset(40)]
internal ulong _M_node_count;
}
}
public unsafe partial class AllocNode
public unsafe partial class ReuseOrAllocNode
{
[StructLayout(LayoutKind.Explicit, Size = 0)]
public partial struct __Internal
@ -239,7 +246,7 @@ namespace Std @@ -239,7 +246,7 @@ namespace Std
}
public unsafe partial class RbTreeImpl
public unsafe partial class AllocNode
{
[StructLayout(LayoutKind.Explicit, Size = 0)]
public partial struct __Internal
@ -705,18 +712,25 @@ namespace Std @@ -705,18 +712,25 @@ namespace Std
public unsafe partial class AllocHider
{
[StructLayout(LayoutKind.Explicit, Size = 0)]
[StructLayout(LayoutKind.Explicit, Size = 8)]
public partial struct __Internal
{
[FieldOffset(0)]
internal global::System.IntPtr _M_p;
}
}
public unsafe partial struct _
{
[StructLayout(LayoutKind.Explicit, Size = 0)]
[StructLayout(LayoutKind.Explicit, Size = 16)]
public partial struct __Internal
{
[FieldOffset(0)]
internal fixed sbyte _M_local_buf[16];
[FieldOffset(0)]
internal ulong _M_allocated_capacity;
}
}
}

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

@ -125,7 +125,7 @@ namespace Std @@ -125,7 +125,7 @@ namespace Std
public unsafe partial class Rebind
{
[StructLayout(LayoutKind.Explicit, Size = 0)]
public partial struct __Internal
public unsafe partial struct __Internal
{
}
}
@ -145,9 +145,17 @@ namespace Std @@ -145,9 +145,17 @@ namespace Std
public unsafe partial class VectorImpl
{
[StructLayout(LayoutKind.Explicit, Size = 0)]
[StructLayout(LayoutKind.Explicit, Size = 24)]
public partial struct __Internal
{
[FieldOffset(0)]
internal global::System.IntPtr _M_start;
[FieldOffset(8)]
internal global::System.IntPtr _M_finish;
[FieldOffset(16)]
internal global::System.IntPtr _M_end_of_storage;
}
}
}
@ -221,16 +229,24 @@ namespace Std @@ -221,16 +229,24 @@ namespace Std
}
public unsafe partial class ReuseOrAllocNode
public unsafe partial class RbTreeImpl
{
[StructLayout(LayoutKind.Explicit, Size = 0)]
public partial struct __Internal
[StructLayout(LayoutKind.Explicit, Size = 48)]
public unsafe partial struct __Internal
{
[FieldOffset(0)]
internal global::Std.Less.__Internal _M_key_compare;
[FieldOffset(8)]
internal global::Std.RbTreeNodeBase.__Internal _M_header;
[FieldOffset(40)]
internal ulong _M_node_count;
}
}
public unsafe partial class AllocNode
public unsafe partial class ReuseOrAllocNode
{
[StructLayout(LayoutKind.Explicit, Size = 0)]
public partial struct __Internal
@ -239,7 +255,7 @@ namespace Std @@ -239,7 +255,7 @@ namespace Std
}
public unsafe partial class RbTreeImpl
public unsafe partial class AllocNode
{
[StructLayout(LayoutKind.Explicit, Size = 0)]
public partial struct __Internal
@ -694,29 +710,47 @@ namespace Std @@ -694,29 +710,47 @@ namespace Std
}
public unsafe partial class RepBase
public unsafe partial class AllocHider
{
[StructLayout(LayoutKind.Explicit, Size = 0)]
[StructLayout(LayoutKind.Explicit, Size = 8)]
public partial struct __Internal
{
[FieldOffset(0)]
internal global::System.IntPtr _M_p;
}
}
public unsafe partial class Rep
public unsafe partial class RepBase
{
[StructLayout(LayoutKind.Explicit, Size = 0)]
[StructLayout(LayoutKind.Explicit, Size = 24)]
public partial struct __Internal
{
[FieldOffset(0)]
internal ulong _M_length;
[FieldOffset(8)]
internal ulong _M_capacity;
[FieldOffset(16)]
internal int _M_refcount;
}
}
public unsafe partial class AllocHider
public unsafe partial class Rep
{
[StructLayout(LayoutKind.Explicit, Size = 0)]
[StructLayout(LayoutKind.Explicit, Size = 24)]
public partial struct __Internal
{
[FieldOffset(0)]
internal ulong _M_length;
[FieldOffset(8)]
internal ulong _M_capacity;
[FieldOffset(16)]
internal int _M_refcount;
}
}
}

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

@ -469,15 +469,6 @@ namespace Std @@ -469,15 +469,6 @@ namespace Std
__Instance = IntPtr.Zero;
}
}
public unsafe partial class Rebind
{
[StructLayout(LayoutKind.Explicit, Size = 0)]
public partial struct __Internal
{
}
}
}
public unsafe partial class SETJMP_FLOAT128
@ -613,9 +604,17 @@ namespace Std @@ -613,9 +604,17 @@ namespace Std
public unsafe partial struct Bxty
{
[StructLayout(LayoutKind.Explicit, Size = 0)]
[StructLayout(LayoutKind.Explicit, Size = 16)]
public partial struct __Internal
{
[FieldOffset(0)]
internal fixed sbyte _Buf[16];
[FieldOffset(0)]
internal global::System.IntPtr _Ptr;
[FieldOffset(0)]
internal fixed sbyte _Alias[16];
}
}
}

3
src/Generator/Generators/CSharp/CSharpSources.cs

@ -228,7 +228,8 @@ namespace CppSharp.Generators.CSharp @@ -228,7 +228,8 @@ namespace CppSharp.Generators.CSharp
specialization.Visit(this);
}
foreach (var nestedClass in classTemplate.Classes)
foreach (var nestedClass in classTemplate.Classes.Where(c => !c.IsDependent).Union(
specializations[0].Classes.Where(c => !c.IsDependent)))
{
NewLine();
GenerateClassSpecifier(nestedClass);

Loading…
Cancel
Save