Browse Source

Generated C# marshalling structures for classes nested in specialisations.

Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
pull/878/head
Dimitar Dobrev 9 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
} }
} }
public unsafe partial class Rebind
{
[StructLayout(LayoutKind.Explicit, Size = 0)]
public partial struct __Internal
{
}
}
namespace CompressedPair namespace CompressedPair
{ {
[StructLayout(LayoutKind.Explicit, Size = 12)] [StructLayout(LayoutKind.Explicit, Size = 12)]
@ -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 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 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 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 public unsafe partial class Raw
{ {
[StructLayout(LayoutKind.Explicit, Size = 0)] [StructLayout(LayoutKind.Explicit, Size = 12)]
public partial struct __Internal 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 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
__Instance = IntPtr.Zero; __Instance = IntPtr.Zero;
} }
} }
public unsafe partial class Rebind
{
[StructLayout(LayoutKind.Explicit, Size = 0)]
public partial struct __Internal
{
}
}
} }
namespace Std namespace Std
@ -603,9 +594,17 @@ namespace Std
public unsafe partial struct Bxty public unsafe partial struct Bxty
{ {
[StructLayout(LayoutKind.Explicit, Size = 0)] [StructLayout(LayoutKind.Explicit, Size = 16)]
public partial struct __Internal 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
} }
} }
public unsafe partial class Rebind
{
[StructLayout(LayoutKind.Explicit, Size = 0)]
public partial struct __Internal
{
}
}
namespace CompressedPair namespace CompressedPair
{ {
[StructLayout(LayoutKind.Explicit, Size = 24)] [StructLayout(LayoutKind.Explicit, Size = 24)]
@ -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 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 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 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 public unsafe partial class Raw
{ {
[StructLayout(LayoutKind.Explicit, Size = 0)] [StructLayout(LayoutKind.Explicit, Size = 24)]
public partial struct __Internal 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 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
__Instance = IntPtr.Zero; __Instance = IntPtr.Zero;
} }
} }
public unsafe partial class Rebind
{
[StructLayout(LayoutKind.Explicit, Size = 0)]
public partial struct __Internal
{
}
}
} }
namespace Std namespace Std
@ -145,9 +136,17 @@ namespace Std
public unsafe partial class VectorImpl public unsafe partial class VectorImpl
{ {
[StructLayout(LayoutKind.Explicit, Size = 0)] [StructLayout(LayoutKind.Explicit, Size = 24)]
public partial struct __Internal 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
} }
public unsafe partial class ReuseOrAllocNode public unsafe partial class RbTreeImpl
{ {
[StructLayout(LayoutKind.Explicit, Size = 0)] [StructLayout(LayoutKind.Explicit, Size = 48)]
public partial struct __Internal 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)] [StructLayout(LayoutKind.Explicit, Size = 0)]
public partial struct __Internal public partial struct __Internal
@ -239,7 +246,7 @@ namespace Std
} }
public unsafe partial class RbTreeImpl public unsafe partial class AllocNode
{ {
[StructLayout(LayoutKind.Explicit, Size = 0)] [StructLayout(LayoutKind.Explicit, Size = 0)]
public partial struct __Internal public partial struct __Internal
@ -705,18 +712,25 @@ namespace Std
public unsafe partial class AllocHider public unsafe partial class AllocHider
{ {
[StructLayout(LayoutKind.Explicit, Size = 0)] [StructLayout(LayoutKind.Explicit, Size = 8)]
public partial struct __Internal public partial struct __Internal
{ {
[FieldOffset(0)]
internal global::System.IntPtr _M_p;
} }
} }
public unsafe partial struct _ public unsafe partial struct _
{ {
[StructLayout(LayoutKind.Explicit, Size = 0)] [StructLayout(LayoutKind.Explicit, Size = 16)]
public partial struct __Internal 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
public unsafe partial class Rebind public unsafe partial class Rebind
{ {
[StructLayout(LayoutKind.Explicit, Size = 0)] [StructLayout(LayoutKind.Explicit, Size = 0)]
public partial struct __Internal public unsafe partial struct __Internal
{ {
} }
} }
@ -145,9 +145,17 @@ namespace Std
public unsafe partial class VectorImpl public unsafe partial class VectorImpl
{ {
[StructLayout(LayoutKind.Explicit, Size = 0)] [StructLayout(LayoutKind.Explicit, Size = 24)]
public partial struct __Internal 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
} }
public unsafe partial class ReuseOrAllocNode public unsafe partial class RbTreeImpl
{ {
[StructLayout(LayoutKind.Explicit, Size = 0)] [StructLayout(LayoutKind.Explicit, Size = 48)]
public partial struct __Internal 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)] [StructLayout(LayoutKind.Explicit, Size = 0)]
public partial struct __Internal public partial struct __Internal
@ -239,7 +255,7 @@ namespace Std
} }
public unsafe partial class RbTreeImpl public unsafe partial class AllocNode
{ {
[StructLayout(LayoutKind.Explicit, Size = 0)] [StructLayout(LayoutKind.Explicit, Size = 0)]
public partial struct __Internal public partial struct __Internal
@ -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 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 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 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
__Instance = IntPtr.Zero; __Instance = IntPtr.Zero;
} }
} }
public unsafe partial class Rebind
{
[StructLayout(LayoutKind.Explicit, Size = 0)]
public partial struct __Internal
{
}
}
} }
public unsafe partial class SETJMP_FLOAT128 public unsafe partial class SETJMP_FLOAT128
@ -613,9 +604,17 @@ namespace Std
public unsafe partial struct Bxty public unsafe partial struct Bxty
{ {
[StructLayout(LayoutKind.Explicit, Size = 0)] [StructLayout(LayoutKind.Explicit, Size = 16)]
public partial struct __Internal 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
specialization.Visit(this); 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(); NewLine();
GenerateClassSpecifier(nestedClass); GenerateClassSpecifier(nestedClass);

Loading…
Cancel
Save