From b8f54de73e4839c018c4f2cae4818ce22a0beacc Mon Sep 17 00:00:00 2001 From: Dimitar Dobrev Date: Sun, 29 Jan 2017 21:06:26 +0200 Subject: [PATCH] Parsed function bodies. --- src/AST/Function.cs | 2 +- src/CppParser/AST.cpp | 1 + src/CppParser/AST.h | 1 + src/CppParser/Bindings/CLI/AST.cpp | 14 + src/CppParser/Bindings/CLI/AST.h | 6 + .../CppSharp.CppParser.cs | 84 ++++-- .../CSharp/i686-apple-darwin12.4.0/Std.cs | 3 + .../i686-pc-win32-msvc/CppSharp.CppParser.cs | 246 ++++++++++-------- .../CppSharp.CppParser.cs | 84 ++++-- .../CSharp/x86_64-apple-darwin12.4.0/Std.cs | 3 + .../CppSharp.CppParser.cs | 84 ++++-- .../CSharp/x86_64-linux-gnu-cxx11abi/Std.cs | 13 + .../x86_64-linux-gnu/CppSharp.CppParser.cs | 84 ++++-- .../Bindings/CSharp/x86_64-linux-gnu/Std.cs | 13 + .../CppSharp.CppParser.cs | 246 ++++++++++-------- src/CppParser/Parser.cpp | 28 +- src/CppParser/Parser.h | 1 + src/Generator.Tests/AST/TestAST.cs | 3 +- src/Parser/ASTConverter.cs | 1 + 19 files changed, 583 insertions(+), 334 deletions(-) diff --git a/src/AST/Function.cs b/src/AST/Function.cs index 33b92062..b5ba1e35 100644 --- a/src/AST/Function.cs +++ b/src/AST/Function.cs @@ -226,8 +226,8 @@ namespace CppSharp.AST public Function OriginalFunction { get; set; } public string Mangled { get; set; } - public string Signature { get; set; } + public string Body { get; set; } /// /// Keeps an index that de-duplicates native names in the C# backend. diff --git a/src/CppParser/AST.cpp b/src/CppParser/AST.cpp index 99d04c57..596f828b 100644 --- a/src/CppParser/AST.cpp +++ b/src/CppParser/AST.cpp @@ -647,6 +647,7 @@ Function::~Function() {} DEF_STRING(Function, Mangled) DEF_STRING(Function, Signature) +DEF_STRING(Function, Body) DEF_VECTOR(Function, Parameter*, Parameters) Method::Method() diff --git a/src/CppParser/AST.h b/src/CppParser/AST.h index 611393e4..7785664b 100644 --- a/src/CppParser/AST.h +++ b/src/CppParser/AST.h @@ -731,6 +731,7 @@ public: CXXOperatorKind operatorKind; STRING(Mangled) STRING(Signature) + STRING(Body) CallingConvention callingConvention; VECTOR(Parameter*, Parameters) FunctionTemplateSpecialization* specializationInfo; diff --git a/src/CppParser/Bindings/CLI/AST.cpp b/src/CppParser/Bindings/CLI/AST.cpp index 4ada28d4..a417f06a 100644 --- a/src/CppParser/Bindings/CLI/AST.cpp +++ b/src/CppParser/Bindings/CLI/AST.cpp @@ -3154,6 +3154,20 @@ void CppSharp::Parser::AST::Function::Signature::set(System::String^ s) ((::CppSharp::CppParser::AST::Function*)NativePtr)->setSignature(__arg0); } +System::String^ CppSharp::Parser::AST::Function::Body::get() +{ + auto __ret = ((::CppSharp::CppParser::AST::Function*)NativePtr)->getBody(); + if (__ret == nullptr) return nullptr; + return (__ret == 0 ? nullptr : clix::marshalString(__ret)); +} + +void CppSharp::Parser::AST::Function::Body::set(System::String^ s) +{ + auto ___arg0 = clix::marshalString(s); + auto __arg0 = ___arg0.c_str(); + ((::CppSharp::CppParser::AST::Function*)NativePtr)->setBody(__arg0); +} + unsigned int CppSharp::Parser::AST::Function::ParametersCount::get() { auto __ret = ((::CppSharp::CppParser::AST::Function*)NativePtr)->getParametersCount(); diff --git a/src/CppParser/Bindings/CLI/AST.h b/src/CppParser/Bindings/CLI/AST.h index fa49e6e5..d01cf2b7 100644 --- a/src/CppParser/Bindings/CLI/AST.h +++ b/src/CppParser/Bindings/CLI/AST.h @@ -1961,6 +1961,12 @@ namespace CppSharp void set(System::String^); } + property System::String^ Body + { + System::String^ get(); + void set(System::String^); + } + property unsigned int ParametersCount { unsigned int get(); diff --git a/src/CppParser/Bindings/CSharp/i686-apple-darwin12.4.0/CppSharp.CppParser.cs b/src/CppParser/Bindings/CSharp/i686-apple-darwin12.4.0/CppSharp.CppParser.cs index 4c952f0c..0f51bc96 100644 --- a/src/CppParser/Bindings/CSharp/i686-apple-darwin12.4.0/CppSharp.CppParser.cs +++ b/src/CppParser/Bindings/CSharp/i686-apple-darwin12.4.0/CppSharp.CppParser.cs @@ -6757,7 +6757,7 @@ namespace CppSharp public unsafe partial class Function : global::CppSharp.Parser.AST.Declaration, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 172)] + [StructLayout(LayoutKind.Explicit, Size = 184)] public new partial struct __Internal { [FieldOffset(0)] @@ -6848,18 +6848,21 @@ namespace CppSharp public global::Std.__1.BasicString.__Internal Signature; [FieldOffset(140)] + public global::Std.__1.BasicString.__Internal Body; + + [FieldOffset(152)] public global::CppSharp.Parser.AST.CallingConvention callingConvention; - [FieldOffset(144)] + [FieldOffset(156)] internal global::Std.__1.Vector.__Internal Parameters; - [FieldOffset(156)] + [FieldOffset(168)] public global::System.IntPtr specializationInfo; - [FieldOffset(160)] + [FieldOffset(172)] public global::System.IntPtr instantiatedFrom; - [FieldOffset(164)] + [FieldOffset(176)] public global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; [SuppressUnmanagedCodeSecurity] @@ -6912,6 +6915,16 @@ namespace CppSharp EntryPoint="_ZN8CppSharp9CppParser3AST8Function12setSignatureEPKc")] internal static extern void SetSignature_0(global::System.IntPtr instance, [MarshalAs(UnmanagedType.LPStr)] string s); + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST8Function7getBodyEv")] + internal static extern global::System.IntPtr Body_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST8Function7setBodyEPKc")] + internal static extern void SetBody_0(global::System.IntPtr instance, [MarshalAs(UnmanagedType.LPStr)] string s); + [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, EntryPoint="_ZN8CppSharp9CppParser3AST8Function18getParametersCountEv")] @@ -6930,7 +6943,7 @@ namespace CppSharp private static void* __CopyValue(Function.__Internal native) { - var ret = Marshal.AllocHGlobal(172); + var ret = Marshal.AllocHGlobal(184); global::CppSharp.Parser.AST.Function.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } @@ -6954,7 +6967,7 @@ namespace CppSharp public Function() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(172); + __Instance = Marshal.AllocHGlobal(184); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor_0((__Instance + __PointerAdjustment)); @@ -6963,7 +6976,7 @@ namespace CppSharp public Function(global::CppSharp.Parser.AST.Function _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(172); + __Instance = Marshal.AllocHGlobal(184); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -7226,6 +7239,20 @@ namespace CppSharp } } + public string Body + { + get + { + var __ret = __Internal.Body_0((__Instance + __PointerAdjustment)); + return Marshal.PtrToStringAnsi(__ret); + } + + set + { + __Internal.SetBody_0((__Instance + __PointerAdjustment), value); + } + } + public uint ParametersCount { get @@ -7238,7 +7265,7 @@ namespace CppSharp public unsafe partial class Method : global::CppSharp.Parser.AST.Function, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 200)] + [StructLayout(LayoutKind.Explicit, Size = 212)] public new partial struct __Internal { [FieldOffset(0)] @@ -7329,51 +7356,54 @@ namespace CppSharp public global::Std.__1.BasicString.__Internal Signature; [FieldOffset(140)] + public global::Std.__1.BasicString.__Internal Body; + + [FieldOffset(152)] public global::CppSharp.Parser.AST.CallingConvention callingConvention; - [FieldOffset(144)] + [FieldOffset(156)] internal global::Std.__1.Vector.__Internal Parameters; - [FieldOffset(156)] + [FieldOffset(168)] public global::System.IntPtr specializationInfo; - [FieldOffset(160)] + [FieldOffset(172)] public global::System.IntPtr instantiatedFrom; - [FieldOffset(164)] + [FieldOffset(176)] public global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; - [FieldOffset(172)] + [FieldOffset(184)] public byte isVirtual; - [FieldOffset(173)] + [FieldOffset(185)] public byte isStatic; - [FieldOffset(174)] + [FieldOffset(186)] public byte isConst; - [FieldOffset(175)] + [FieldOffset(187)] public byte isExplicit; - [FieldOffset(176)] + [FieldOffset(188)] public byte isOverride; - [FieldOffset(180)] + [FieldOffset(192)] public global::CppSharp.Parser.AST.CXXMethodKind methodKind; - [FieldOffset(184)] + [FieldOffset(196)] public byte isDefaultConstructor; - [FieldOffset(185)] + [FieldOffset(197)] public byte isCopyConstructor; - [FieldOffset(186)] + [FieldOffset(198)] public byte isMoveConstructor; - [FieldOffset(188)] + [FieldOffset(200)] public global::CppSharp.Parser.AST.QualifiedType.__Internal conversionType; - [FieldOffset(196)] + [FieldOffset(208)] public global::CppSharp.Parser.AST.RefQualifierKind refQualifier; [SuppressUnmanagedCodeSecurity] @@ -7404,7 +7434,7 @@ namespace CppSharp private static void* __CopyValue(Method.__Internal native) { - var ret = Marshal.AllocHGlobal(200); + var ret = Marshal.AllocHGlobal(212); global::CppSharp.Parser.AST.Method.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } @@ -7428,7 +7458,7 @@ namespace CppSharp public Method() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(200); + __Instance = Marshal.AllocHGlobal(212); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor_0((__Instance + __PointerAdjustment)); @@ -7437,7 +7467,7 @@ namespace CppSharp public Method(global::CppSharp.Parser.AST.Method _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(200); + __Instance = Marshal.AllocHGlobal(212); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) diff --git a/src/CppParser/Bindings/CSharp/i686-apple-darwin12.4.0/Std.cs b/src/CppParser/Bindings/CSharp/i686-apple-darwin12.4.0/Std.cs index 1565fe3b..0e25c7af 100644 --- a/src/CppParser/Bindings/CSharp/i686-apple-darwin12.4.0/Std.cs +++ b/src/CppParser/Bindings/CSharp/i686-apple-darwin12.4.0/Std.cs @@ -120,6 +120,9 @@ namespace Std namespace Std { + namespace __1 + { + } } namespace Std diff --git a/src/CppParser/Bindings/CSharp/i686-pc-win32-msvc/CppSharp.CppParser.cs b/src/CppParser/Bindings/CSharp/i686-pc-win32-msvc/CppSharp.CppParser.cs index c6831d91..221a4024 100644 --- a/src/CppParser/Bindings/CSharp/i686-pc-win32-msvc/CppSharp.CppParser.cs +++ b/src/CppParser/Bindings/CSharp/i686-pc-win32-msvc/CppSharp.CppParser.cs @@ -691,7 +691,7 @@ namespace CppSharp [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, EntryPoint="??0TagType@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] - internal static extern global::System.IntPtr cctor_2(global::System.IntPtr instance, global::System.IntPtr _0); + internal static extern global::System.IntPtr cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); } internal static new TagType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) @@ -707,7 +707,7 @@ namespace CppSharp private static void* __CopyValue(TagType.__Internal native) { var ret = Marshal.AllocHGlobal(12); - global::CppSharp.Parser.AST.TagType.__Internal.cctor_2(ret, new global::System.IntPtr(&native)); + global::CppSharp.Parser.AST.TagType.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } @@ -745,7 +745,7 @@ namespace CppSharp if (ReferenceEquals(_0, null)) throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); var __arg0 = _0.__Instance; - __Internal.cctor_2((__Instance + __PointerAdjustment), __arg0); + __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0); } public global::CppSharp.Parser.AST.Declaration Declaration @@ -798,7 +798,7 @@ namespace CppSharp [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, EntryPoint="??0ArrayType@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] - internal static extern global::System.IntPtr cctor_2(global::System.IntPtr instance, global::System.IntPtr _0); + internal static extern global::System.IntPtr cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); } public enum ArraySize @@ -822,7 +822,7 @@ namespace CppSharp private static void* __CopyValue(ArrayType.__Internal native) { var ret = Marshal.AllocHGlobal(28); - global::CppSharp.Parser.AST.ArrayType.__Internal.cctor_2(ret, new global::System.IntPtr(&native)); + global::CppSharp.Parser.AST.ArrayType.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } @@ -860,7 +860,7 @@ namespace CppSharp if (ReferenceEquals(_0, null)) throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); var __arg0 = _0.__Instance; - __Internal.cctor_2((__Instance + __PointerAdjustment), __arg0); + __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0); } public global::CppSharp.Parser.AST.QualifiedType QualifiedType @@ -1137,7 +1137,7 @@ namespace CppSharp [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, EntryPoint="??0PointerType@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] - internal static extern global::System.IntPtr cctor_2(global::System.IntPtr instance, global::System.IntPtr _0); + internal static extern global::System.IntPtr cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); } public enum TypeModifier @@ -1161,7 +1161,7 @@ namespace CppSharp private static void* __CopyValue(PointerType.__Internal native) { var ret = Marshal.AllocHGlobal(20); - global::CppSharp.Parser.AST.PointerType.__Internal.cctor_2(ret, new global::System.IntPtr(&native)); + global::CppSharp.Parser.AST.PointerType.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } @@ -1199,7 +1199,7 @@ namespace CppSharp if (ReferenceEquals(_0, null)) throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); var __arg0 = _0.__Instance; - __Internal.cctor_2((__Instance + __PointerAdjustment), __arg0); + __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0); } public global::CppSharp.Parser.AST.QualifiedType QualifiedPointee @@ -1251,7 +1251,7 @@ namespace CppSharp [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, EntryPoint="??0MemberPointerType@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] - internal static extern global::System.IntPtr cctor_2(global::System.IntPtr instance, global::System.IntPtr _0); + internal static extern global::System.IntPtr cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); } internal static new MemberPointerType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) @@ -1267,7 +1267,7 @@ namespace CppSharp private static void* __CopyValue(MemberPointerType.__Internal native) { var ret = Marshal.AllocHGlobal(16); - global::CppSharp.Parser.AST.MemberPointerType.__Internal.cctor_2(ret, new global::System.IntPtr(&native)); + global::CppSharp.Parser.AST.MemberPointerType.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } @@ -1305,7 +1305,7 @@ namespace CppSharp if (ReferenceEquals(_0, null)) throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); var __arg0 = _0.__Instance; - __Internal.cctor_2((__Instance + __PointerAdjustment), __arg0); + __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0); } public global::CppSharp.Parser.AST.QualifiedType Pointee @@ -1344,7 +1344,7 @@ namespace CppSharp [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, EntryPoint="??0TypedefType@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] - internal static extern global::System.IntPtr cctor_2(global::System.IntPtr instance, global::System.IntPtr _0); + internal static extern global::System.IntPtr cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); } internal static new TypedefType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) @@ -1360,7 +1360,7 @@ namespace CppSharp private static void* __CopyValue(TypedefType.__Internal native) { var ret = Marshal.AllocHGlobal(12); - global::CppSharp.Parser.AST.TypedefType.__Internal.cctor_2(ret, new global::System.IntPtr(&native)); + global::CppSharp.Parser.AST.TypedefType.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } @@ -1398,7 +1398,7 @@ namespace CppSharp if (ReferenceEquals(_0, null)) throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); var __arg0 = _0.__Instance; - __Internal.cctor_2((__Instance + __PointerAdjustment), __arg0); + __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0); } public global::CppSharp.Parser.AST.TypedefNameDecl Declaration @@ -1445,7 +1445,7 @@ namespace CppSharp [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, EntryPoint="??0AttributedType@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] - internal static extern global::System.IntPtr cctor_2(global::System.IntPtr instance, global::System.IntPtr _0); + internal static extern global::System.IntPtr cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); } internal static new AttributedType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) @@ -1461,7 +1461,7 @@ namespace CppSharp private static void* __CopyValue(AttributedType.__Internal native) { var ret = Marshal.AllocHGlobal(24); - global::CppSharp.Parser.AST.AttributedType.__Internal.cctor_2(ret, new global::System.IntPtr(&native)); + global::CppSharp.Parser.AST.AttributedType.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } @@ -1499,7 +1499,7 @@ namespace CppSharp if (ReferenceEquals(_0, null)) throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); var __arg0 = _0.__Instance; - __Internal.cctor_2((__Instance + __PointerAdjustment), __arg0); + __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0); } public global::CppSharp.Parser.AST.QualifiedType Modified @@ -1557,7 +1557,7 @@ namespace CppSharp [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, EntryPoint="??0DecayedType@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] - internal static extern global::System.IntPtr cctor_2(global::System.IntPtr instance, global::System.IntPtr _0); + internal static extern global::System.IntPtr cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); } internal static new DecayedType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) @@ -1573,7 +1573,7 @@ namespace CppSharp private static void* __CopyValue(DecayedType.__Internal native) { var ret = Marshal.AllocHGlobal(32); - global::CppSharp.Parser.AST.DecayedType.__Internal.cctor_2(ret, new global::System.IntPtr(&native)); + global::CppSharp.Parser.AST.DecayedType.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } @@ -1611,7 +1611,7 @@ namespace CppSharp if (ReferenceEquals(_0, null)) throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); var __arg0 = _0.__Instance; - __Internal.cctor_2((__Instance + __PointerAdjustment), __arg0); + __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0); } public global::CppSharp.Parser.AST.QualifiedType Decayed @@ -2347,7 +2347,7 @@ namespace CppSharp [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, EntryPoint="??0TemplateParameterSubstitutionType@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] - internal static extern global::System.IntPtr cctor_2(global::System.IntPtr instance, global::System.IntPtr _0); + internal static extern global::System.IntPtr cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); } internal static new TemplateParameterSubstitutionType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) @@ -2363,7 +2363,7 @@ namespace CppSharp private static void* __CopyValue(TemplateParameterSubstitutionType.__Internal native) { var ret = Marshal.AllocHGlobal(20); - global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal.cctor_2(ret, new global::System.IntPtr(&native)); + global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } @@ -2401,7 +2401,7 @@ namespace CppSharp if (ReferenceEquals(_0, null)) throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); var __arg0 = _0.__Instance; - __Internal.cctor_2((__Instance + __PointerAdjustment), __arg0); + __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0); } public global::CppSharp.Parser.AST.QualifiedType Replacement @@ -2461,7 +2461,7 @@ namespace CppSharp [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, EntryPoint="??0InjectedClassNameType@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] - internal static extern global::System.IntPtr cctor_2(global::System.IntPtr instance, global::System.IntPtr _0); + internal static extern global::System.IntPtr cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); } internal static new InjectedClassNameType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) @@ -2477,7 +2477,7 @@ namespace CppSharp private static void* __CopyValue(InjectedClassNameType.__Internal native) { var ret = Marshal.AllocHGlobal(20); - global::CppSharp.Parser.AST.InjectedClassNameType.__Internal.cctor_2(ret, new global::System.IntPtr(&native)); + global::CppSharp.Parser.AST.InjectedClassNameType.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } @@ -2515,7 +2515,7 @@ namespace CppSharp if (ReferenceEquals(_0, null)) throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); var __arg0 = _0.__Instance; - __Internal.cctor_2((__Instance + __PointerAdjustment), __arg0); + __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0); } public global::CppSharp.Parser.AST.QualifiedType InjectedSpecializationType @@ -2572,7 +2572,7 @@ namespace CppSharp [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, EntryPoint="??0DependentNameType@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] - internal static extern global::System.IntPtr cctor_2(global::System.IntPtr instance, global::System.IntPtr _0); + internal static extern global::System.IntPtr cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); } internal static new DependentNameType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) @@ -2588,7 +2588,7 @@ namespace CppSharp private static void* __CopyValue(DependentNameType.__Internal native) { var ret = Marshal.AllocHGlobal(16); - global::CppSharp.Parser.AST.DependentNameType.__Internal.cctor_2(ret, new global::System.IntPtr(&native)); + global::CppSharp.Parser.AST.DependentNameType.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } @@ -2626,7 +2626,7 @@ namespace CppSharp if (ReferenceEquals(_0, null)) throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); var __arg0 = _0.__Instance; - __Internal.cctor_2((__Instance + __PointerAdjustment), __arg0); + __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0); } public global::CppSharp.Parser.AST.QualifiedType Desugared @@ -2662,7 +2662,7 @@ namespace CppSharp [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, EntryPoint="??0PackExpansionType@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] - internal static extern global::System.IntPtr cctor_2(global::System.IntPtr instance, global::System.IntPtr _0); + internal static extern global::System.IntPtr cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); } internal static new PackExpansionType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) @@ -2678,7 +2678,7 @@ namespace CppSharp private static void* __CopyValue(PackExpansionType.__Internal native) { var ret = Marshal.AllocHGlobal(8); - global::CppSharp.Parser.AST.PackExpansionType.__Internal.cctor_2(ret, new global::System.IntPtr(&native)); + global::CppSharp.Parser.AST.PackExpansionType.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } @@ -2716,7 +2716,7 @@ namespace CppSharp if (ReferenceEquals(_0, null)) throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); var __arg0 = _0.__Instance; - __Internal.cctor_2((__Instance + __PointerAdjustment), __arg0); + __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0); } } @@ -2745,7 +2745,7 @@ namespace CppSharp [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, EntryPoint="??0UnaryTransformType@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] - internal static extern global::System.IntPtr cctor_2(global::System.IntPtr instance, global::System.IntPtr _0); + internal static extern global::System.IntPtr cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); } internal static new UnaryTransformType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) @@ -2761,7 +2761,7 @@ namespace CppSharp private static void* __CopyValue(UnaryTransformType.__Internal native) { var ret = Marshal.AllocHGlobal(24); - global::CppSharp.Parser.AST.UnaryTransformType.__Internal.cctor_2(ret, new global::System.IntPtr(&native)); + global::CppSharp.Parser.AST.UnaryTransformType.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } @@ -2799,7 +2799,7 @@ namespace CppSharp if (ReferenceEquals(_0, null)) throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); var __arg0 = _0.__Instance; - __Internal.cctor_2((__Instance + __PointerAdjustment), __arg0); + __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0); } public global::CppSharp.Parser.AST.QualifiedType Desugared @@ -2854,7 +2854,7 @@ namespace CppSharp [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, EntryPoint="??0VectorType@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] - internal static extern global::System.IntPtr cctor_2(global::System.IntPtr instance, global::System.IntPtr _0); + internal static extern global::System.IntPtr cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); } internal static new VectorType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) @@ -2870,7 +2870,7 @@ namespace CppSharp private static void* __CopyValue(VectorType.__Internal native) { var ret = Marshal.AllocHGlobal(20); - global::CppSharp.Parser.AST.VectorType.__Internal.cctor_2(ret, new global::System.IntPtr(&native)); + global::CppSharp.Parser.AST.VectorType.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } @@ -2908,7 +2908,7 @@ namespace CppSharp if (ReferenceEquals(_0, null)) throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); var __arg0 = _0.__Instance; - __Internal.cctor_2((__Instance + __PointerAdjustment), __arg0); + __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0); } public global::CppSharp.Parser.AST.QualifiedType ElementType @@ -2960,7 +2960,7 @@ namespace CppSharp [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, EntryPoint="??0BuiltinType@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] - internal static extern global::System.IntPtr cctor_2(global::System.IntPtr instance, global::System.IntPtr _0); + internal static extern global::System.IntPtr cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); } internal static new BuiltinType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) @@ -2976,7 +2976,7 @@ namespace CppSharp private static void* __CopyValue(BuiltinType.__Internal native) { var ret = Marshal.AllocHGlobal(12); - global::CppSharp.Parser.AST.BuiltinType.__Internal.cctor_2(ret, new global::System.IntPtr(&native)); + global::CppSharp.Parser.AST.BuiltinType.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } @@ -3014,7 +3014,7 @@ namespace CppSharp if (ReferenceEquals(_0, null)) throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); var __arg0 = _0.__Instance; - __Internal.cctor_2((__Instance + __PointerAdjustment), __arg0); + __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0); } public global::CppSharp.Parser.AST.PrimitiveType Type @@ -3820,7 +3820,7 @@ namespace CppSharp [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, EntryPoint="??0ClassLayout@AST@CppParser@CppSharp@@QAE@ABU0123@@Z")] - internal static extern global::System.IntPtr cctor_2(global::System.IntPtr instance, global::System.IntPtr _0); + internal static extern global::System.IntPtr cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, @@ -3909,7 +3909,7 @@ namespace CppSharp private static void* __CopyValue(ClassLayout.__Internal native) { var ret = Marshal.AllocHGlobal(72); - global::CppSharp.Parser.AST.ClassLayout.__Internal.cctor_2(ret, new global::System.IntPtr(&native)); + global::CppSharp.Parser.AST.ClassLayout.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } @@ -3943,7 +3943,7 @@ namespace CppSharp if (ReferenceEquals(_0, null)) throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); var __arg0 = _0.__Instance; - __Internal.cctor_2((__Instance + __PointerAdjustment), __arg0); + __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0); } public void Dispose() @@ -4697,7 +4697,7 @@ namespace CppSharp [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, EntryPoint="??0DeclarationContext@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] - internal static extern global::System.IntPtr cctor_2(global::System.IntPtr instance, global::System.IntPtr _0); + internal static extern global::System.IntPtr cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, @@ -4898,7 +4898,7 @@ namespace CppSharp private static void* __CopyValue(DeclarationContext.__Internal native) { var ret = Marshal.AllocHGlobal(248); - global::CppSharp.Parser.AST.DeclarationContext.__Internal.cctor_2(ret, new global::System.IntPtr(&native)); + global::CppSharp.Parser.AST.DeclarationContext.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } @@ -4936,7 +4936,7 @@ namespace CppSharp if (ReferenceEquals(_0, null)) throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); var __arg0 = _0.__Instance; - __Internal.cctor_2((__Instance + __PointerAdjustment), __arg0); + __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0); } public override void Dispose(bool disposing) @@ -5899,7 +5899,7 @@ namespace CppSharp [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, EntryPoint="??0Statement@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] - internal static extern global::System.IntPtr cctor_2(global::System.IntPtr instance, global::System.IntPtr _0); + internal static extern global::System.IntPtr cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, @@ -5938,7 +5938,7 @@ namespace CppSharp private static void* __CopyValue(Statement.__Internal native) { var ret = Marshal.AllocHGlobal(32); - global::CppSharp.Parser.AST.Statement.__Internal.cctor_2(ret, new global::System.IntPtr(&native)); + global::CppSharp.Parser.AST.Statement.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } @@ -5964,7 +5964,7 @@ namespace CppSharp if (ReferenceEquals(_0, null)) throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); var __arg0 = _0.__Instance; - __Internal.cctor_2((__Instance + __PointerAdjustment), __arg0); + __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0); } public void Dispose() @@ -6757,7 +6757,7 @@ namespace CppSharp public unsafe partial class Function : global::CppSharp.Parser.AST.Declaration, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 232)] + [StructLayout(LayoutKind.Explicit, Size = 256)] public new partial struct __Internal { [FieldOffset(0)] @@ -6848,18 +6848,21 @@ namespace CppSharp public global::Std.BasicString.__Internal Signature; [FieldOffset(200)] + public global::Std.BasicString.__Internal Body; + + [FieldOffset(224)] public global::CppSharp.Parser.AST.CallingConvention callingConvention; - [FieldOffset(204)] + [FieldOffset(228)] internal global::Std.Vector.__Internal Parameters; - [FieldOffset(216)] + [FieldOffset(240)] public global::System.IntPtr specializationInfo; - [FieldOffset(220)] + [FieldOffset(244)] public global::System.IntPtr instantiatedFrom; - [FieldOffset(224)] + [FieldOffset(248)] public global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; [SuppressUnmanagedCodeSecurity] @@ -6912,6 +6915,16 @@ namespace CppSharp EntryPoint="?setSignature@Function@AST@CppParser@CppSharp@@QAEXPBD@Z")] internal static extern void SetSignature_0(global::System.IntPtr instance, [MarshalAs(UnmanagedType.LPStr)] string s); + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="?getBody@Function@AST@CppParser@CppSharp@@QAEPBDXZ")] + internal static extern global::System.IntPtr Body_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="?setBody@Function@AST@CppParser@CppSharp@@QAEXPBD@Z")] + internal static extern void SetBody_0(global::System.IntPtr instance, [MarshalAs(UnmanagedType.LPStr)] string s); + [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, EntryPoint="?getParametersCount@Function@AST@CppParser@CppSharp@@QAEIXZ")] @@ -6930,7 +6943,7 @@ namespace CppSharp private static void* __CopyValue(Function.__Internal native) { - var ret = Marshal.AllocHGlobal(232); + var ret = Marshal.AllocHGlobal(256); global::CppSharp.Parser.AST.Function.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } @@ -6954,7 +6967,7 @@ namespace CppSharp public Function() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(232); + __Instance = Marshal.AllocHGlobal(256); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor_0((__Instance + __PointerAdjustment)); @@ -6963,7 +6976,7 @@ namespace CppSharp public Function(global::CppSharp.Parser.AST.Function _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(232); + __Instance = Marshal.AllocHGlobal(256); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -7226,6 +7239,20 @@ namespace CppSharp } } + public string Body + { + get + { + var __ret = __Internal.Body_0((__Instance + __PointerAdjustment)); + return Marshal.PtrToStringAnsi(__ret); + } + + set + { + __Internal.SetBody_0((__Instance + __PointerAdjustment), value); + } + } + public uint ParametersCount { get @@ -7238,7 +7265,7 @@ namespace CppSharp public unsafe partial class Method : global::CppSharp.Parser.AST.Function, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 260)] + [StructLayout(LayoutKind.Explicit, Size = 284)] public new partial struct __Internal { [FieldOffset(0)] @@ -7329,51 +7356,54 @@ namespace CppSharp public global::Std.BasicString.__Internal Signature; [FieldOffset(200)] + public global::Std.BasicString.__Internal Body; + + [FieldOffset(224)] public global::CppSharp.Parser.AST.CallingConvention callingConvention; - [FieldOffset(204)] + [FieldOffset(228)] internal global::Std.Vector.__Internal Parameters; - [FieldOffset(216)] + [FieldOffset(240)] public global::System.IntPtr specializationInfo; - [FieldOffset(220)] + [FieldOffset(244)] public global::System.IntPtr instantiatedFrom; - [FieldOffset(224)] + [FieldOffset(248)] public global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; - [FieldOffset(232)] + [FieldOffset(256)] public byte isVirtual; - [FieldOffset(233)] + [FieldOffset(257)] public byte isStatic; - [FieldOffset(234)] + [FieldOffset(258)] public byte isConst; - [FieldOffset(235)] + [FieldOffset(259)] public byte isExplicit; - [FieldOffset(236)] + [FieldOffset(260)] public byte isOverride; - [FieldOffset(240)] + [FieldOffset(264)] public global::CppSharp.Parser.AST.CXXMethodKind methodKind; - [FieldOffset(244)] + [FieldOffset(268)] public byte isDefaultConstructor; - [FieldOffset(245)] + [FieldOffset(269)] public byte isCopyConstructor; - [FieldOffset(246)] + [FieldOffset(270)] public byte isMoveConstructor; - [FieldOffset(248)] + [FieldOffset(272)] public global::CppSharp.Parser.AST.QualifiedType.__Internal conversionType; - [FieldOffset(256)] + [FieldOffset(280)] public global::CppSharp.Parser.AST.RefQualifierKind refQualifier; [SuppressUnmanagedCodeSecurity] @@ -7404,7 +7434,7 @@ namespace CppSharp private static void* __CopyValue(Method.__Internal native) { - var ret = Marshal.AllocHGlobal(260); + var ret = Marshal.AllocHGlobal(284); global::CppSharp.Parser.AST.Method.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } @@ -7428,7 +7458,7 @@ namespace CppSharp public Method() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(260); + __Instance = Marshal.AllocHGlobal(284); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor_0((__Instance + __PointerAdjustment)); @@ -7437,7 +7467,7 @@ namespace CppSharp public Method(global::CppSharp.Parser.AST.Method _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(260); + __Instance = Marshal.AllocHGlobal(284); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -9383,7 +9413,7 @@ namespace CppSharp [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, EntryPoint="??0Template@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] - internal static extern global::System.IntPtr cctor_3(global::System.IntPtr instance, global::System.IntPtr _0); + internal static extern global::System.IntPtr cctor_2(global::System.IntPtr instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, @@ -9424,7 +9454,7 @@ namespace CppSharp private static void* __CopyValue(Template.__Internal native) { var ret = Marshal.AllocHGlobal(144); - global::CppSharp.Parser.AST.Template.__Internal.cctor_3(ret, new global::System.IntPtr(&native)); + global::CppSharp.Parser.AST.Template.__Internal.cctor_2(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } @@ -9471,7 +9501,7 @@ namespace CppSharp if (ReferenceEquals(_0, null)) throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); var __arg0 = _0.__Instance; - __Internal.cctor_3((__Instance + __PointerAdjustment), __arg0); + __Internal.cctor_2((__Instance + __PointerAdjustment), __arg0); } public override void Dispose(bool disposing) @@ -14435,7 +14465,7 @@ namespace CppSharp [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, EntryPoint="??0ParamCommandComment@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] - internal static extern global::System.IntPtr cctor_2(global::System.IntPtr instance, global::System.IntPtr _0); + internal static extern global::System.IntPtr cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, @@ -14463,7 +14493,7 @@ namespace CppSharp private static void* __CopyValue(ParamCommandComment.__Internal native) { var ret = Marshal.AllocHGlobal(32); - global::CppSharp.Parser.AST.ParamCommandComment.__Internal.cctor_2(ret, new global::System.IntPtr(&native)); + global::CppSharp.Parser.AST.ParamCommandComment.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } @@ -14501,7 +14531,7 @@ namespace CppSharp if (ReferenceEquals(_0, null)) throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); var __arg0 = _0.__Instance; - __Internal.cctor_2((__Instance + __PointerAdjustment), __arg0); + __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0); } public override void Dispose(bool disposing) @@ -14569,7 +14599,7 @@ namespace CppSharp [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, EntryPoint="??0TParamCommandComment@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] - internal static extern global::System.IntPtr cctor_2(global::System.IntPtr instance, global::System.IntPtr _0); + internal static extern global::System.IntPtr cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, @@ -14610,7 +14640,7 @@ namespace CppSharp private static void* __CopyValue(TParamCommandComment.__Internal native) { var ret = Marshal.AllocHGlobal(36); - global::CppSharp.Parser.AST.TParamCommandComment.__Internal.cctor_2(ret, new global::System.IntPtr(&native)); + global::CppSharp.Parser.AST.TParamCommandComment.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } @@ -14648,7 +14678,7 @@ namespace CppSharp if (ReferenceEquals(_0, null)) throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); var __arg0 = _0.__Instance; - __Internal.cctor_2((__Instance + __PointerAdjustment), __arg0); + __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0); } public override void Dispose(bool disposing) @@ -14710,7 +14740,7 @@ namespace CppSharp [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, EntryPoint="??0VerbatimBlockLineComment@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] - internal static extern global::System.IntPtr cctor_2(global::System.IntPtr instance, global::System.IntPtr _0); + internal static extern global::System.IntPtr cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, @@ -14741,7 +14771,7 @@ namespace CppSharp private static void* __CopyValue(VerbatimBlockLineComment.__Internal native) { var ret = Marshal.AllocHGlobal(28); - global::CppSharp.Parser.AST.VerbatimBlockLineComment.__Internal.cctor_2(ret, new global::System.IntPtr(&native)); + global::CppSharp.Parser.AST.VerbatimBlockLineComment.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } @@ -14779,7 +14809,7 @@ namespace CppSharp if (ReferenceEquals(_0, null)) throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); var __arg0 = _0.__Instance; - __Internal.cctor_2((__Instance + __PointerAdjustment), __arg0); + __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0); } public override void Dispose(bool disposing) @@ -14989,7 +15019,7 @@ namespace CppSharp [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, EntryPoint="??0VerbatimLineComment@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] - internal static extern global::System.IntPtr cctor_2(global::System.IntPtr instance, global::System.IntPtr _0); + internal static extern global::System.IntPtr cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, @@ -15020,7 +15050,7 @@ namespace CppSharp private static void* __CopyValue(VerbatimLineComment.__Internal native) { var ret = Marshal.AllocHGlobal(48); - global::CppSharp.Parser.AST.VerbatimLineComment.__Internal.cctor_2(ret, new global::System.IntPtr(&native)); + global::CppSharp.Parser.AST.VerbatimLineComment.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } @@ -15058,7 +15088,7 @@ namespace CppSharp if (ReferenceEquals(_0, null)) throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); var __arg0 = _0.__Instance; - __Internal.cctor_2((__Instance + __PointerAdjustment), __arg0); + __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0); } public override void Dispose(bool disposing) @@ -15114,7 +15144,7 @@ namespace CppSharp [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, EntryPoint="??0InlineCommandComment@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] - internal static extern global::System.IntPtr cctor_2(global::System.IntPtr instance, global::System.IntPtr _0); + internal static extern global::System.IntPtr cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, @@ -15285,7 +15315,7 @@ namespace CppSharp private static void* __CopyValue(InlineCommandComment.__Internal native) { var ret = Marshal.AllocHGlobal(28); - global::CppSharp.Parser.AST.InlineCommandComment.__Internal.cctor_2(ret, new global::System.IntPtr(&native)); + global::CppSharp.Parser.AST.InlineCommandComment.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } @@ -15323,7 +15353,7 @@ namespace CppSharp if (ReferenceEquals(_0, null)) throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); var __arg0 = _0.__Instance; - __Internal.cctor_2((__Instance + __PointerAdjustment), __arg0); + __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0); } public override void Dispose(bool disposing) @@ -15510,7 +15540,7 @@ namespace CppSharp [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, EntryPoint="??0HTMLStartTagComment@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] - internal static extern global::System.IntPtr cctor_2(global::System.IntPtr instance, global::System.IntPtr _0); + internal static extern global::System.IntPtr cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, @@ -15710,7 +15740,7 @@ namespace CppSharp private static void* __CopyValue(HTMLStartTagComment.__Internal native) { var ret = Marshal.AllocHGlobal(44); - global::CppSharp.Parser.AST.HTMLStartTagComment.__Internal.cctor_2(ret, new global::System.IntPtr(&native)); + global::CppSharp.Parser.AST.HTMLStartTagComment.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } @@ -15748,7 +15778,7 @@ namespace CppSharp if (ReferenceEquals(_0, null)) throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); var __arg0 = _0.__Instance; - __Internal.cctor_2((__Instance + __PointerAdjustment), __arg0); + __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0); } public override void Dispose(bool disposing) @@ -15827,7 +15857,7 @@ namespace CppSharp [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, EntryPoint="??0HTMLEndTagComment@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] - internal static extern global::System.IntPtr cctor_2(global::System.IntPtr instance, global::System.IntPtr _0); + internal static extern global::System.IntPtr cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, @@ -15858,7 +15888,7 @@ namespace CppSharp private static void* __CopyValue(HTMLEndTagComment.__Internal native) { var ret = Marshal.AllocHGlobal(32); - global::CppSharp.Parser.AST.HTMLEndTagComment.__Internal.cctor_2(ret, new global::System.IntPtr(&native)); + global::CppSharp.Parser.AST.HTMLEndTagComment.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } @@ -15896,7 +15926,7 @@ namespace CppSharp if (ReferenceEquals(_0, null)) throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); var __arg0 = _0.__Instance; - __Internal.cctor_2((__Instance + __PointerAdjustment), __arg0); + __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0); } public override void Dispose(bool disposing) @@ -15946,7 +15976,7 @@ namespace CppSharp [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, EntryPoint="??0TextComment@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] - internal static extern global::System.IntPtr cctor_2(global::System.IntPtr instance, global::System.IntPtr _0); + internal static extern global::System.IntPtr cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, @@ -15977,7 +16007,7 @@ namespace CppSharp private static void* __CopyValue(TextComment.__Internal native) { var ret = Marshal.AllocHGlobal(32); - global::CppSharp.Parser.AST.TextComment.__Internal.cctor_2(ret, new global::System.IntPtr(&native)); + global::CppSharp.Parser.AST.TextComment.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } @@ -16015,7 +16045,7 @@ namespace CppSharp if (ReferenceEquals(_0, null)) throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); var __arg0 = _0.__Instance; - __Internal.cctor_2((__Instance + __PointerAdjustment), __arg0); + __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0); } public override void Dispose(bool disposing) @@ -17188,7 +17218,7 @@ namespace CppSharp [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, EntryPoint="??0CppParserOptions@CppParser@CppSharp@@QAE@ABU012@@Z")] - internal static extern global::System.IntPtr cctor_2(global::System.IntPtr instance, global::System.IntPtr _0); + internal static extern global::System.IntPtr cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, @@ -17377,7 +17407,7 @@ namespace CppSharp private static void* __CopyValue(CppParserOptions.__Internal native) { var ret = Marshal.AllocHGlobal(156); - global::CppSharp.Parser.CppParserOptions.__Internal.cctor_2(ret, new global::System.IntPtr(&native)); + global::CppSharp.Parser.CppParserOptions.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } @@ -17411,7 +17441,7 @@ namespace CppSharp if (ReferenceEquals(_0, null)) throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); var __arg0 = _0.__Instance; - __Internal.cctor_2((__Instance + __PointerAdjustment), __arg0); + __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0); } public void Dispose() diff --git a/src/CppParser/Bindings/CSharp/x86_64-apple-darwin12.4.0/CppSharp.CppParser.cs b/src/CppParser/Bindings/CSharp/x86_64-apple-darwin12.4.0/CppSharp.CppParser.cs index 965bc021..bcb75a41 100644 --- a/src/CppParser/Bindings/CSharp/x86_64-apple-darwin12.4.0/CppSharp.CppParser.cs +++ b/src/CppParser/Bindings/CSharp/x86_64-apple-darwin12.4.0/CppSharp.CppParser.cs @@ -6756,7 +6756,7 @@ namespace CppSharp public unsafe partial class Function : global::CppSharp.Parser.AST.Declaration, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 312)] + [StructLayout(LayoutKind.Explicit, Size = 336)] public new partial struct __Internal { [FieldOffset(0)] @@ -6847,18 +6847,21 @@ namespace CppSharp public global::Std.__1.BasicString.__Internal Signature; [FieldOffset(248)] + public global::Std.__1.BasicString.__Internal Body; + + [FieldOffset(272)] public global::CppSharp.Parser.AST.CallingConvention callingConvention; - [FieldOffset(256)] + [FieldOffset(280)] internal global::Std.__1.Vector.__Internal Parameters; - [FieldOffset(280)] + [FieldOffset(304)] public global::System.IntPtr specializationInfo; - [FieldOffset(288)] + [FieldOffset(312)] public global::System.IntPtr instantiatedFrom; - [FieldOffset(296)] + [FieldOffset(320)] public global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; [SuppressUnmanagedCodeSecurity] @@ -6911,6 +6914,16 @@ namespace CppSharp EntryPoint="_ZN8CppSharp9CppParser3AST8Function12setSignatureEPKc")] internal static extern void SetSignature_0(global::System.IntPtr instance, [MarshalAs(UnmanagedType.LPStr)] string s); + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST8Function7getBodyEv")] + internal static extern global::System.IntPtr Body_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST8Function7setBodyEPKc")] + internal static extern void SetBody_0(global::System.IntPtr instance, [MarshalAs(UnmanagedType.LPStr)] string s); + [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, EntryPoint="_ZN8CppSharp9CppParser3AST8Function18getParametersCountEv")] @@ -6929,7 +6942,7 @@ namespace CppSharp private static void* __CopyValue(Function.__Internal native) { - var ret = Marshal.AllocHGlobal(312); + var ret = Marshal.AllocHGlobal(336); global::CppSharp.Parser.AST.Function.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } @@ -6953,7 +6966,7 @@ namespace CppSharp public Function() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(312); + __Instance = Marshal.AllocHGlobal(336); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor_0((__Instance + __PointerAdjustment)); @@ -6962,7 +6975,7 @@ namespace CppSharp public Function(global::CppSharp.Parser.AST.Function _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(312); + __Instance = Marshal.AllocHGlobal(336); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -7225,6 +7238,20 @@ namespace CppSharp } } + public string Body + { + get + { + var __ret = __Internal.Body_0((__Instance + __PointerAdjustment)); + return Marshal.PtrToStringAnsi(__ret); + } + + set + { + __Internal.SetBody_0((__Instance + __PointerAdjustment), value); + } + } + public uint ParametersCount { get @@ -7237,7 +7264,7 @@ namespace CppSharp public unsafe partial class Method : global::CppSharp.Parser.AST.Function, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 352)] + [StructLayout(LayoutKind.Explicit, Size = 376)] public new partial struct __Internal { [FieldOffset(0)] @@ -7328,51 +7355,54 @@ namespace CppSharp public global::Std.__1.BasicString.__Internal Signature; [FieldOffset(248)] + public global::Std.__1.BasicString.__Internal Body; + + [FieldOffset(272)] public global::CppSharp.Parser.AST.CallingConvention callingConvention; - [FieldOffset(256)] + [FieldOffset(280)] internal global::Std.__1.Vector.__Internal Parameters; - [FieldOffset(280)] + [FieldOffset(304)] public global::System.IntPtr specializationInfo; - [FieldOffset(288)] + [FieldOffset(312)] public global::System.IntPtr instantiatedFrom; - [FieldOffset(296)] + [FieldOffset(320)] public global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; - [FieldOffset(312)] + [FieldOffset(336)] public byte isVirtual; - [FieldOffset(313)] + [FieldOffset(337)] public byte isStatic; - [FieldOffset(314)] + [FieldOffset(338)] public byte isConst; - [FieldOffset(315)] + [FieldOffset(339)] public byte isExplicit; - [FieldOffset(316)] + [FieldOffset(340)] public byte isOverride; - [FieldOffset(320)] + [FieldOffset(344)] public global::CppSharp.Parser.AST.CXXMethodKind methodKind; - [FieldOffset(324)] + [FieldOffset(348)] public byte isDefaultConstructor; - [FieldOffset(325)] + [FieldOffset(349)] public byte isCopyConstructor; - [FieldOffset(326)] + [FieldOffset(350)] public byte isMoveConstructor; - [FieldOffset(328)] + [FieldOffset(352)] public global::CppSharp.Parser.AST.QualifiedType.__Internal conversionType; - [FieldOffset(344)] + [FieldOffset(368)] public global::CppSharp.Parser.AST.RefQualifierKind refQualifier; [SuppressUnmanagedCodeSecurity] @@ -7403,7 +7433,7 @@ namespace CppSharp private static void* __CopyValue(Method.__Internal native) { - var ret = Marshal.AllocHGlobal(352); + var ret = Marshal.AllocHGlobal(376); global::CppSharp.Parser.AST.Method.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } @@ -7427,7 +7457,7 @@ namespace CppSharp public Method() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(352); + __Instance = Marshal.AllocHGlobal(376); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor_0((__Instance + __PointerAdjustment)); @@ -7436,7 +7466,7 @@ namespace CppSharp public Method(global::CppSharp.Parser.AST.Method _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(352); + __Instance = Marshal.AllocHGlobal(376); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) diff --git a/src/CppParser/Bindings/CSharp/x86_64-apple-darwin12.4.0/Std.cs b/src/CppParser/Bindings/CSharp/x86_64-apple-darwin12.4.0/Std.cs index ebe53505..1980cdcd 100644 --- a/src/CppParser/Bindings/CSharp/x86_64-apple-darwin12.4.0/Std.cs +++ b/src/CppParser/Bindings/CSharp/x86_64-apple-darwin12.4.0/Std.cs @@ -120,6 +120,9 @@ namespace Std namespace Std { + namespace __1 + { + } } namespace Std diff --git a/src/CppParser/Bindings/CSharp/x86_64-linux-gnu-cxx11abi/CppSharp.CppParser.cs b/src/CppParser/Bindings/CSharp/x86_64-linux-gnu-cxx11abi/CppSharp.CppParser.cs index db819292..21924d80 100644 --- a/src/CppParser/Bindings/CSharp/x86_64-linux-gnu-cxx11abi/CppSharp.CppParser.cs +++ b/src/CppParser/Bindings/CSharp/x86_64-linux-gnu-cxx11abi/CppSharp.CppParser.cs @@ -6756,7 +6756,7 @@ namespace CppSharp public unsafe partial class Function : global::CppSharp.Parser.AST.Declaration, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 352)] + [StructLayout(LayoutKind.Explicit, Size = 384)] public new partial struct __Internal { [FieldOffset(0)] @@ -6847,18 +6847,21 @@ namespace CppSharp public global::Std.Cxx11.BasicString.__Internal Signature; [FieldOffset(288)] + public global::Std.Cxx11.BasicString.__Internal Body; + + [FieldOffset(320)] public global::CppSharp.Parser.AST.CallingConvention callingConvention; - [FieldOffset(296)] + [FieldOffset(328)] internal global::Std.Vector.__Internal Parameters; - [FieldOffset(320)] + [FieldOffset(352)] public global::System.IntPtr specializationInfo; - [FieldOffset(328)] + [FieldOffset(360)] public global::System.IntPtr instantiatedFrom; - [FieldOffset(336)] + [FieldOffset(368)] public global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; [SuppressUnmanagedCodeSecurity] @@ -6911,6 +6914,16 @@ namespace CppSharp EntryPoint="_ZN8CppSharp9CppParser3AST8Function12setSignatureEPKc")] internal static extern void SetSignature_0(global::System.IntPtr instance, [MarshalAs(UnmanagedType.LPStr)] string s); + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST8Function7getBodyEv")] + internal static extern global::System.IntPtr Body_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST8Function7setBodyEPKc")] + internal static extern void SetBody_0(global::System.IntPtr instance, [MarshalAs(UnmanagedType.LPStr)] string s); + [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, EntryPoint="_ZN8CppSharp9CppParser3AST8Function18getParametersCountEv")] @@ -6929,7 +6942,7 @@ namespace CppSharp private static void* __CopyValue(Function.__Internal native) { - var ret = Marshal.AllocHGlobal(352); + var ret = Marshal.AllocHGlobal(384); global::CppSharp.Parser.AST.Function.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } @@ -6953,7 +6966,7 @@ namespace CppSharp public Function() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(352); + __Instance = Marshal.AllocHGlobal(384); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor_0((__Instance + __PointerAdjustment)); @@ -6962,7 +6975,7 @@ namespace CppSharp public Function(global::CppSharp.Parser.AST.Function _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(352); + __Instance = Marshal.AllocHGlobal(384); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -7225,6 +7238,20 @@ namespace CppSharp } } + public string Body + { + get + { + var __ret = __Internal.Body_0((__Instance + __PointerAdjustment)); + return Marshal.PtrToStringAnsi(__ret); + } + + set + { + __Internal.SetBody_0((__Instance + __PointerAdjustment), value); + } + } + public uint ParametersCount { get @@ -7237,7 +7264,7 @@ namespace CppSharp public unsafe partial class Method : global::CppSharp.Parser.AST.Function, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 392)] + [StructLayout(LayoutKind.Explicit, Size = 424)] public new partial struct __Internal { [FieldOffset(0)] @@ -7328,51 +7355,54 @@ namespace CppSharp public global::Std.Cxx11.BasicString.__Internal Signature; [FieldOffset(288)] + public global::Std.Cxx11.BasicString.__Internal Body; + + [FieldOffset(320)] public global::CppSharp.Parser.AST.CallingConvention callingConvention; - [FieldOffset(296)] + [FieldOffset(328)] internal global::Std.Vector.__Internal Parameters; - [FieldOffset(320)] + [FieldOffset(352)] public global::System.IntPtr specializationInfo; - [FieldOffset(328)] + [FieldOffset(360)] public global::System.IntPtr instantiatedFrom; - [FieldOffset(336)] + [FieldOffset(368)] public global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; - [FieldOffset(352)] + [FieldOffset(384)] public byte isVirtual; - [FieldOffset(353)] + [FieldOffset(385)] public byte isStatic; - [FieldOffset(354)] + [FieldOffset(386)] public byte isConst; - [FieldOffset(355)] + [FieldOffset(387)] public byte isExplicit; - [FieldOffset(356)] + [FieldOffset(388)] public byte isOverride; - [FieldOffset(360)] + [FieldOffset(392)] public global::CppSharp.Parser.AST.CXXMethodKind methodKind; - [FieldOffset(364)] + [FieldOffset(396)] public byte isDefaultConstructor; - [FieldOffset(365)] + [FieldOffset(397)] public byte isCopyConstructor; - [FieldOffset(366)] + [FieldOffset(398)] public byte isMoveConstructor; - [FieldOffset(368)] + [FieldOffset(400)] public global::CppSharp.Parser.AST.QualifiedType.__Internal conversionType; - [FieldOffset(384)] + [FieldOffset(416)] public global::CppSharp.Parser.AST.RefQualifierKind refQualifier; [SuppressUnmanagedCodeSecurity] @@ -7403,7 +7433,7 @@ namespace CppSharp private static void* __CopyValue(Method.__Internal native) { - var ret = Marshal.AllocHGlobal(392); + var ret = Marshal.AllocHGlobal(424); global::CppSharp.Parser.AST.Method.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } @@ -7427,7 +7457,7 @@ namespace CppSharp public Method() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(392); + __Instance = Marshal.AllocHGlobal(424); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor_0((__Instance + __PointerAdjustment)); @@ -7436,7 +7466,7 @@ namespace CppSharp public Method(global::CppSharp.Parser.AST.Method _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(392); + __Instance = Marshal.AllocHGlobal(424); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) diff --git a/src/CppParser/Bindings/CSharp/x86_64-linux-gnu-cxx11abi/Std.cs b/src/CppParser/Bindings/CSharp/x86_64-linux-gnu-cxx11abi/Std.cs index 367692d0..fcb4110b 100644 --- a/src/CppParser/Bindings/CSharp/x86_64-linux-gnu-cxx11abi/Std.cs +++ b/src/CppParser/Bindings/CSharp/x86_64-linux-gnu-cxx11abi/Std.cs @@ -174,6 +174,19 @@ namespace Std public uint _M_offset; } } + + public unsafe partial class BitConstIterator + { + [StructLayout(LayoutKind.Explicit, Size = 16)] + public partial struct __Internal + { + [FieldOffset(0)] + public global::System.IntPtr _M_p; + + [FieldOffset(8)] + public uint _M_offset; + } + } } namespace Std diff --git a/src/CppParser/Bindings/CSharp/x86_64-linux-gnu/CppSharp.CppParser.cs b/src/CppParser/Bindings/CSharp/x86_64-linux-gnu/CppSharp.CppParser.cs index 573c3702..d52de780 100644 --- a/src/CppParser/Bindings/CSharp/x86_64-linux-gnu/CppSharp.CppParser.cs +++ b/src/CppParser/Bindings/CSharp/x86_64-linux-gnu/CppSharp.CppParser.cs @@ -6756,7 +6756,7 @@ namespace CppSharp public unsafe partial class Function : global::CppSharp.Parser.AST.Declaration, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 232)] + [StructLayout(LayoutKind.Explicit, Size = 240)] public new partial struct __Internal { [FieldOffset(0)] @@ -6847,18 +6847,21 @@ namespace CppSharp public global::Std.BasicString.__Internal Signature; [FieldOffset(168)] - public global::CppSharp.Parser.AST.CallingConvention callingConvention; + public global::Std.BasicString.__Internal Body; [FieldOffset(176)] + public global::CppSharp.Parser.AST.CallingConvention callingConvention; + + [FieldOffset(184)] internal global::Std.Vector.__Internal Parameters; - [FieldOffset(200)] + [FieldOffset(208)] public global::System.IntPtr specializationInfo; - [FieldOffset(208)] + [FieldOffset(216)] public global::System.IntPtr instantiatedFrom; - [FieldOffset(216)] + [FieldOffset(224)] public global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; [SuppressUnmanagedCodeSecurity] @@ -6911,6 +6914,16 @@ namespace CppSharp EntryPoint="_ZN8CppSharp9CppParser3AST8Function12setSignatureEPKc")] internal static extern void SetSignature_0(global::System.IntPtr instance, [MarshalAs(UnmanagedType.LPStr)] string s); + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST8Function7getBodyEv")] + internal static extern global::System.IntPtr Body_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST8Function7setBodyEPKc")] + internal static extern void SetBody_0(global::System.IntPtr instance, [MarshalAs(UnmanagedType.LPStr)] string s); + [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, EntryPoint="_ZN8CppSharp9CppParser3AST8Function18getParametersCountEv")] @@ -6929,7 +6942,7 @@ namespace CppSharp private static void* __CopyValue(Function.__Internal native) { - var ret = Marshal.AllocHGlobal(232); + var ret = Marshal.AllocHGlobal(240); global::CppSharp.Parser.AST.Function.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } @@ -6953,7 +6966,7 @@ namespace CppSharp public Function() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(232); + __Instance = Marshal.AllocHGlobal(240); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor_0((__Instance + __PointerAdjustment)); @@ -6962,7 +6975,7 @@ namespace CppSharp public Function(global::CppSharp.Parser.AST.Function _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(232); + __Instance = Marshal.AllocHGlobal(240); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -7225,6 +7238,20 @@ namespace CppSharp } } + public string Body + { + get + { + var __ret = __Internal.Body_0((__Instance + __PointerAdjustment)); + return Marshal.PtrToStringAnsi(__ret); + } + + set + { + __Internal.SetBody_0((__Instance + __PointerAdjustment), value); + } + } + public uint ParametersCount { get @@ -7237,7 +7264,7 @@ namespace CppSharp public unsafe partial class Method : global::CppSharp.Parser.AST.Function, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 272)] + [StructLayout(LayoutKind.Explicit, Size = 280)] public new partial struct __Internal { [FieldOffset(0)] @@ -7328,51 +7355,54 @@ namespace CppSharp public global::Std.BasicString.__Internal Signature; [FieldOffset(168)] - public global::CppSharp.Parser.AST.CallingConvention callingConvention; + public global::Std.BasicString.__Internal Body; [FieldOffset(176)] + public global::CppSharp.Parser.AST.CallingConvention callingConvention; + + [FieldOffset(184)] internal global::Std.Vector.__Internal Parameters; - [FieldOffset(200)] + [FieldOffset(208)] public global::System.IntPtr specializationInfo; - [FieldOffset(208)] + [FieldOffset(216)] public global::System.IntPtr instantiatedFrom; - [FieldOffset(216)] + [FieldOffset(224)] public global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; - [FieldOffset(232)] + [FieldOffset(240)] public byte isVirtual; - [FieldOffset(233)] + [FieldOffset(241)] public byte isStatic; - [FieldOffset(234)] + [FieldOffset(242)] public byte isConst; - [FieldOffset(235)] + [FieldOffset(243)] public byte isExplicit; - [FieldOffset(236)] + [FieldOffset(244)] public byte isOverride; - [FieldOffset(240)] + [FieldOffset(248)] public global::CppSharp.Parser.AST.CXXMethodKind methodKind; - [FieldOffset(244)] + [FieldOffset(252)] public byte isDefaultConstructor; - [FieldOffset(245)] + [FieldOffset(253)] public byte isCopyConstructor; - [FieldOffset(246)] + [FieldOffset(254)] public byte isMoveConstructor; - [FieldOffset(248)] + [FieldOffset(256)] public global::CppSharp.Parser.AST.QualifiedType.__Internal conversionType; - [FieldOffset(264)] + [FieldOffset(272)] public global::CppSharp.Parser.AST.RefQualifierKind refQualifier; [SuppressUnmanagedCodeSecurity] @@ -7403,7 +7433,7 @@ namespace CppSharp private static void* __CopyValue(Method.__Internal native) { - var ret = Marshal.AllocHGlobal(272); + var ret = Marshal.AllocHGlobal(280); global::CppSharp.Parser.AST.Method.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } @@ -7427,7 +7457,7 @@ namespace CppSharp public Method() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(272); + __Instance = Marshal.AllocHGlobal(280); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor_0((__Instance + __PointerAdjustment)); @@ -7436,7 +7466,7 @@ namespace CppSharp public Method(global::CppSharp.Parser.AST.Method _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(272); + __Instance = Marshal.AllocHGlobal(280); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) diff --git a/src/CppParser/Bindings/CSharp/x86_64-linux-gnu/Std.cs b/src/CppParser/Bindings/CSharp/x86_64-linux-gnu/Std.cs index b5ba6595..c63e481c 100644 --- a/src/CppParser/Bindings/CSharp/x86_64-linux-gnu/Std.cs +++ b/src/CppParser/Bindings/CSharp/x86_64-linux-gnu/Std.cs @@ -174,6 +174,19 @@ namespace Std public uint _M_offset; } } + + public unsafe partial class BitConstIterator + { + [StructLayout(LayoutKind.Explicit, Size = 16)] + public partial struct __Internal + { + [FieldOffset(0)] + public global::System.IntPtr _M_p; + + [FieldOffset(8)] + public uint _M_offset; + } + } } namespace Std diff --git a/src/CppParser/Bindings/CSharp/x86_64-pc-win32-msvc/CppSharp.CppParser.cs b/src/CppParser/Bindings/CSharp/x86_64-pc-win32-msvc/CppSharp.CppParser.cs index 9f309eda..df374c7c 100644 --- a/src/CppParser/Bindings/CSharp/x86_64-pc-win32-msvc/CppSharp.CppParser.cs +++ b/src/CppParser/Bindings/CSharp/x86_64-pc-win32-msvc/CppSharp.CppParser.cs @@ -691,7 +691,7 @@ namespace CppSharp [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, EntryPoint="??0TagType@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] - internal static extern global::System.IntPtr cctor_2(global::System.IntPtr instance, global::System.IntPtr _0); + internal static extern global::System.IntPtr cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); } internal static new TagType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) @@ -707,7 +707,7 @@ namespace CppSharp private static void* __CopyValue(TagType.__Internal native) { var ret = Marshal.AllocHGlobal(16); - global::CppSharp.Parser.AST.TagType.__Internal.cctor_2(ret, new global::System.IntPtr(&native)); + global::CppSharp.Parser.AST.TagType.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } @@ -745,7 +745,7 @@ namespace CppSharp if (ReferenceEquals(_0, null)) throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); var __arg0 = _0.__Instance; - __Internal.cctor_2((__Instance + __PointerAdjustment), __arg0); + __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0); } public global::CppSharp.Parser.AST.Declaration Declaration @@ -798,7 +798,7 @@ namespace CppSharp [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, EntryPoint="??0ArrayType@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] - internal static extern global::System.IntPtr cctor_2(global::System.IntPtr instance, global::System.IntPtr _0); + internal static extern global::System.IntPtr cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); } public enum ArraySize @@ -822,7 +822,7 @@ namespace CppSharp private static void* __CopyValue(ArrayType.__Internal native) { var ret = Marshal.AllocHGlobal(40); - global::CppSharp.Parser.AST.ArrayType.__Internal.cctor_2(ret, new global::System.IntPtr(&native)); + global::CppSharp.Parser.AST.ArrayType.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } @@ -860,7 +860,7 @@ namespace CppSharp if (ReferenceEquals(_0, null)) throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); var __arg0 = _0.__Instance; - __Internal.cctor_2((__Instance + __PointerAdjustment), __arg0); + __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0); } public global::CppSharp.Parser.AST.QualifiedType QualifiedType @@ -1137,7 +1137,7 @@ namespace CppSharp [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, EntryPoint="??0PointerType@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] - internal static extern global::System.IntPtr cctor_2(global::System.IntPtr instance, global::System.IntPtr _0); + internal static extern global::System.IntPtr cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); } public enum TypeModifier @@ -1161,7 +1161,7 @@ namespace CppSharp private static void* __CopyValue(PointerType.__Internal native) { var ret = Marshal.AllocHGlobal(32); - global::CppSharp.Parser.AST.PointerType.__Internal.cctor_2(ret, new global::System.IntPtr(&native)); + global::CppSharp.Parser.AST.PointerType.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } @@ -1199,7 +1199,7 @@ namespace CppSharp if (ReferenceEquals(_0, null)) throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); var __arg0 = _0.__Instance; - __Internal.cctor_2((__Instance + __PointerAdjustment), __arg0); + __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0); } public global::CppSharp.Parser.AST.QualifiedType QualifiedPointee @@ -1251,7 +1251,7 @@ namespace CppSharp [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, EntryPoint="??0MemberPointerType@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] - internal static extern global::System.IntPtr cctor_2(global::System.IntPtr instance, global::System.IntPtr _0); + internal static extern global::System.IntPtr cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); } internal static new MemberPointerType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) @@ -1267,7 +1267,7 @@ namespace CppSharp private static void* __CopyValue(MemberPointerType.__Internal native) { var ret = Marshal.AllocHGlobal(24); - global::CppSharp.Parser.AST.MemberPointerType.__Internal.cctor_2(ret, new global::System.IntPtr(&native)); + global::CppSharp.Parser.AST.MemberPointerType.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } @@ -1305,7 +1305,7 @@ namespace CppSharp if (ReferenceEquals(_0, null)) throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); var __arg0 = _0.__Instance; - __Internal.cctor_2((__Instance + __PointerAdjustment), __arg0); + __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0); } public global::CppSharp.Parser.AST.QualifiedType Pointee @@ -1344,7 +1344,7 @@ namespace CppSharp [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, EntryPoint="??0TypedefType@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] - internal static extern global::System.IntPtr cctor_2(global::System.IntPtr instance, global::System.IntPtr _0); + internal static extern global::System.IntPtr cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); } internal static new TypedefType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) @@ -1360,7 +1360,7 @@ namespace CppSharp private static void* __CopyValue(TypedefType.__Internal native) { var ret = Marshal.AllocHGlobal(16); - global::CppSharp.Parser.AST.TypedefType.__Internal.cctor_2(ret, new global::System.IntPtr(&native)); + global::CppSharp.Parser.AST.TypedefType.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } @@ -1398,7 +1398,7 @@ namespace CppSharp if (ReferenceEquals(_0, null)) throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); var __arg0 = _0.__Instance; - __Internal.cctor_2((__Instance + __PointerAdjustment), __arg0); + __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0); } public global::CppSharp.Parser.AST.TypedefNameDecl Declaration @@ -1445,7 +1445,7 @@ namespace CppSharp [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, EntryPoint="??0AttributedType@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] - internal static extern global::System.IntPtr cctor_2(global::System.IntPtr instance, global::System.IntPtr _0); + internal static extern global::System.IntPtr cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); } internal static new AttributedType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) @@ -1461,7 +1461,7 @@ namespace CppSharp private static void* __CopyValue(AttributedType.__Internal native) { var ret = Marshal.AllocHGlobal(40); - global::CppSharp.Parser.AST.AttributedType.__Internal.cctor_2(ret, new global::System.IntPtr(&native)); + global::CppSharp.Parser.AST.AttributedType.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } @@ -1499,7 +1499,7 @@ namespace CppSharp if (ReferenceEquals(_0, null)) throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); var __arg0 = _0.__Instance; - __Internal.cctor_2((__Instance + __PointerAdjustment), __arg0); + __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0); } public global::CppSharp.Parser.AST.QualifiedType Modified @@ -1557,7 +1557,7 @@ namespace CppSharp [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, EntryPoint="??0DecayedType@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] - internal static extern global::System.IntPtr cctor_2(global::System.IntPtr instance, global::System.IntPtr _0); + internal static extern global::System.IntPtr cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); } internal static new DecayedType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) @@ -1573,7 +1573,7 @@ namespace CppSharp private static void* __CopyValue(DecayedType.__Internal native) { var ret = Marshal.AllocHGlobal(56); - global::CppSharp.Parser.AST.DecayedType.__Internal.cctor_2(ret, new global::System.IntPtr(&native)); + global::CppSharp.Parser.AST.DecayedType.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } @@ -1611,7 +1611,7 @@ namespace CppSharp if (ReferenceEquals(_0, null)) throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); var __arg0 = _0.__Instance; - __Internal.cctor_2((__Instance + __PointerAdjustment), __arg0); + __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0); } public global::CppSharp.Parser.AST.QualifiedType Decayed @@ -2347,7 +2347,7 @@ namespace CppSharp [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, EntryPoint="??0TemplateParameterSubstitutionType@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] - internal static extern global::System.IntPtr cctor_2(global::System.IntPtr instance, global::System.IntPtr _0); + internal static extern global::System.IntPtr cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); } internal static new TemplateParameterSubstitutionType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) @@ -2363,7 +2363,7 @@ namespace CppSharp private static void* __CopyValue(TemplateParameterSubstitutionType.__Internal native) { var ret = Marshal.AllocHGlobal(32); - global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal.cctor_2(ret, new global::System.IntPtr(&native)); + global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } @@ -2401,7 +2401,7 @@ namespace CppSharp if (ReferenceEquals(_0, null)) throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); var __arg0 = _0.__Instance; - __Internal.cctor_2((__Instance + __PointerAdjustment), __arg0); + __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0); } public global::CppSharp.Parser.AST.QualifiedType Replacement @@ -2461,7 +2461,7 @@ namespace CppSharp [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, EntryPoint="??0InjectedClassNameType@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] - internal static extern global::System.IntPtr cctor_2(global::System.IntPtr instance, global::System.IntPtr _0); + internal static extern global::System.IntPtr cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); } internal static new InjectedClassNameType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) @@ -2477,7 +2477,7 @@ namespace CppSharp private static void* __CopyValue(InjectedClassNameType.__Internal native) { var ret = Marshal.AllocHGlobal(32); - global::CppSharp.Parser.AST.InjectedClassNameType.__Internal.cctor_2(ret, new global::System.IntPtr(&native)); + global::CppSharp.Parser.AST.InjectedClassNameType.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } @@ -2515,7 +2515,7 @@ namespace CppSharp if (ReferenceEquals(_0, null)) throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); var __arg0 = _0.__Instance; - __Internal.cctor_2((__Instance + __PointerAdjustment), __arg0); + __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0); } public global::CppSharp.Parser.AST.QualifiedType InjectedSpecializationType @@ -2572,7 +2572,7 @@ namespace CppSharp [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, EntryPoint="??0DependentNameType@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] - internal static extern global::System.IntPtr cctor_2(global::System.IntPtr instance, global::System.IntPtr _0); + internal static extern global::System.IntPtr cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); } internal static new DependentNameType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) @@ -2588,7 +2588,7 @@ namespace CppSharp private static void* __CopyValue(DependentNameType.__Internal native) { var ret = Marshal.AllocHGlobal(24); - global::CppSharp.Parser.AST.DependentNameType.__Internal.cctor_2(ret, new global::System.IntPtr(&native)); + global::CppSharp.Parser.AST.DependentNameType.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } @@ -2626,7 +2626,7 @@ namespace CppSharp if (ReferenceEquals(_0, null)) throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); var __arg0 = _0.__Instance; - __Internal.cctor_2((__Instance + __PointerAdjustment), __arg0); + __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0); } public global::CppSharp.Parser.AST.QualifiedType Desugared @@ -2662,7 +2662,7 @@ namespace CppSharp [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, EntryPoint="??0PackExpansionType@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] - internal static extern global::System.IntPtr cctor_2(global::System.IntPtr instance, global::System.IntPtr _0); + internal static extern global::System.IntPtr cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); } internal static new PackExpansionType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) @@ -2678,7 +2678,7 @@ namespace CppSharp private static void* __CopyValue(PackExpansionType.__Internal native) { var ret = Marshal.AllocHGlobal(8); - global::CppSharp.Parser.AST.PackExpansionType.__Internal.cctor_2(ret, new global::System.IntPtr(&native)); + global::CppSharp.Parser.AST.PackExpansionType.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } @@ -2716,7 +2716,7 @@ namespace CppSharp if (ReferenceEquals(_0, null)) throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); var __arg0 = _0.__Instance; - __Internal.cctor_2((__Instance + __PointerAdjustment), __arg0); + __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0); } } @@ -2745,7 +2745,7 @@ namespace CppSharp [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, EntryPoint="??0UnaryTransformType@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] - internal static extern global::System.IntPtr cctor_2(global::System.IntPtr instance, global::System.IntPtr _0); + internal static extern global::System.IntPtr cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); } internal static new UnaryTransformType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) @@ -2761,7 +2761,7 @@ namespace CppSharp private static void* __CopyValue(UnaryTransformType.__Internal native) { var ret = Marshal.AllocHGlobal(40); - global::CppSharp.Parser.AST.UnaryTransformType.__Internal.cctor_2(ret, new global::System.IntPtr(&native)); + global::CppSharp.Parser.AST.UnaryTransformType.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } @@ -2799,7 +2799,7 @@ namespace CppSharp if (ReferenceEquals(_0, null)) throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); var __arg0 = _0.__Instance; - __Internal.cctor_2((__Instance + __PointerAdjustment), __arg0); + __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0); } public global::CppSharp.Parser.AST.QualifiedType Desugared @@ -2854,7 +2854,7 @@ namespace CppSharp [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, EntryPoint="??0VectorType@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] - internal static extern global::System.IntPtr cctor_2(global::System.IntPtr instance, global::System.IntPtr _0); + internal static extern global::System.IntPtr cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); } internal static new VectorType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) @@ -2870,7 +2870,7 @@ namespace CppSharp private static void* __CopyValue(VectorType.__Internal native) { var ret = Marshal.AllocHGlobal(32); - global::CppSharp.Parser.AST.VectorType.__Internal.cctor_2(ret, new global::System.IntPtr(&native)); + global::CppSharp.Parser.AST.VectorType.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } @@ -2908,7 +2908,7 @@ namespace CppSharp if (ReferenceEquals(_0, null)) throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); var __arg0 = _0.__Instance; - __Internal.cctor_2((__Instance + __PointerAdjustment), __arg0); + __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0); } public global::CppSharp.Parser.AST.QualifiedType ElementType @@ -2960,7 +2960,7 @@ namespace CppSharp [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, EntryPoint="??0BuiltinType@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] - internal static extern global::System.IntPtr cctor_2(global::System.IntPtr instance, global::System.IntPtr _0); + internal static extern global::System.IntPtr cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); } internal static new BuiltinType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) @@ -2976,7 +2976,7 @@ namespace CppSharp private static void* __CopyValue(BuiltinType.__Internal native) { var ret = Marshal.AllocHGlobal(12); - global::CppSharp.Parser.AST.BuiltinType.__Internal.cctor_2(ret, new global::System.IntPtr(&native)); + global::CppSharp.Parser.AST.BuiltinType.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } @@ -3014,7 +3014,7 @@ namespace CppSharp if (ReferenceEquals(_0, null)) throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); var __arg0 = _0.__Instance; - __Internal.cctor_2((__Instance + __PointerAdjustment), __arg0); + __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0); } public global::CppSharp.Parser.AST.PrimitiveType Type @@ -3820,7 +3820,7 @@ namespace CppSharp [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, EntryPoint="??0ClassLayout@AST@CppParser@CppSharp@@QEAA@AEBU0123@@Z")] - internal static extern global::System.IntPtr cctor_2(global::System.IntPtr instance, global::System.IntPtr _0); + internal static extern global::System.IntPtr cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, @@ -3909,7 +3909,7 @@ namespace CppSharp private static void* __CopyValue(ClassLayout.__Internal native) { var ret = Marshal.AllocHGlobal(128); - global::CppSharp.Parser.AST.ClassLayout.__Internal.cctor_2(ret, new global::System.IntPtr(&native)); + global::CppSharp.Parser.AST.ClassLayout.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } @@ -3943,7 +3943,7 @@ namespace CppSharp if (ReferenceEquals(_0, null)) throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); var __arg0 = _0.__Instance; - __Internal.cctor_2((__Instance + __PointerAdjustment), __arg0); + __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0); } public void Dispose() @@ -4697,7 +4697,7 @@ namespace CppSharp [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, EntryPoint="??0DeclarationContext@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] - internal static extern global::System.IntPtr cctor_2(global::System.IntPtr instance, global::System.IntPtr _0); + internal static extern global::System.IntPtr cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, @@ -4898,7 +4898,7 @@ namespace CppSharp private static void* __CopyValue(DeclarationContext.__Internal native) { var ret = Marshal.AllocHGlobal(432); - global::CppSharp.Parser.AST.DeclarationContext.__Internal.cctor_2(ret, new global::System.IntPtr(&native)); + global::CppSharp.Parser.AST.DeclarationContext.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } @@ -4936,7 +4936,7 @@ namespace CppSharp if (ReferenceEquals(_0, null)) throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); var __arg0 = _0.__Instance; - __Internal.cctor_2((__Instance + __PointerAdjustment), __arg0); + __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0); } public override void Dispose(bool disposing) @@ -5899,7 +5899,7 @@ namespace CppSharp [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, EntryPoint="??0Statement@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] - internal static extern global::System.IntPtr cctor_2(global::System.IntPtr instance, global::System.IntPtr _0); + internal static extern global::System.IntPtr cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, @@ -5938,7 +5938,7 @@ namespace CppSharp private static void* __CopyValue(Statement.__Internal native) { var ret = Marshal.AllocHGlobal(48); - global::CppSharp.Parser.AST.Statement.__Internal.cctor_2(ret, new global::System.IntPtr(&native)); + global::CppSharp.Parser.AST.Statement.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } @@ -5964,7 +5964,7 @@ namespace CppSharp if (ReferenceEquals(_0, null)) throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); var __arg0 = _0.__Instance; - __Internal.cctor_2((__Instance + __PointerAdjustment), __arg0); + __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0); } public void Dispose() @@ -6757,7 +6757,7 @@ namespace CppSharp public unsafe partial class Function : global::CppSharp.Parser.AST.Declaration, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 352)] + [StructLayout(LayoutKind.Explicit, Size = 384)] public new partial struct __Internal { [FieldOffset(0)] @@ -6848,18 +6848,21 @@ namespace CppSharp public global::Std.BasicString.__Internal Signature; [FieldOffset(288)] + public global::Std.BasicString.__Internal Body; + + [FieldOffset(320)] public global::CppSharp.Parser.AST.CallingConvention callingConvention; - [FieldOffset(296)] + [FieldOffset(328)] internal global::Std.Vector.__Internal Parameters; - [FieldOffset(320)] + [FieldOffset(352)] public global::System.IntPtr specializationInfo; - [FieldOffset(328)] + [FieldOffset(360)] public global::System.IntPtr instantiatedFrom; - [FieldOffset(336)] + [FieldOffset(368)] public global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; [SuppressUnmanagedCodeSecurity] @@ -6912,6 +6915,16 @@ namespace CppSharp EntryPoint="?setSignature@Function@AST@CppParser@CppSharp@@QEAAXPEBD@Z")] internal static extern void SetSignature_0(global::System.IntPtr instance, [MarshalAs(UnmanagedType.LPStr)] string s); + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="?getBody@Function@AST@CppParser@CppSharp@@QEAAPEBDXZ")] + internal static extern global::System.IntPtr Body_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="?setBody@Function@AST@CppParser@CppSharp@@QEAAXPEBD@Z")] + internal static extern void SetBody_0(global::System.IntPtr instance, [MarshalAs(UnmanagedType.LPStr)] string s); + [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, EntryPoint="?getParametersCount@Function@AST@CppParser@CppSharp@@QEAAIXZ")] @@ -6930,7 +6943,7 @@ namespace CppSharp private static void* __CopyValue(Function.__Internal native) { - var ret = Marshal.AllocHGlobal(352); + var ret = Marshal.AllocHGlobal(384); global::CppSharp.Parser.AST.Function.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } @@ -6954,7 +6967,7 @@ namespace CppSharp public Function() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(352); + __Instance = Marshal.AllocHGlobal(384); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor_0((__Instance + __PointerAdjustment)); @@ -6963,7 +6976,7 @@ namespace CppSharp public Function(global::CppSharp.Parser.AST.Function _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(352); + __Instance = Marshal.AllocHGlobal(384); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -7226,6 +7239,20 @@ namespace CppSharp } } + public string Body + { + get + { + var __ret = __Internal.Body_0((__Instance + __PointerAdjustment)); + return Marshal.PtrToStringAnsi(__ret); + } + + set + { + __Internal.SetBody_0((__Instance + __PointerAdjustment), value); + } + } + public uint ParametersCount { get @@ -7238,7 +7265,7 @@ namespace CppSharp public unsafe partial class Method : global::CppSharp.Parser.AST.Function, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 392)] + [StructLayout(LayoutKind.Explicit, Size = 424)] public new partial struct __Internal { [FieldOffset(0)] @@ -7329,51 +7356,54 @@ namespace CppSharp public global::Std.BasicString.__Internal Signature; [FieldOffset(288)] + public global::Std.BasicString.__Internal Body; + + [FieldOffset(320)] public global::CppSharp.Parser.AST.CallingConvention callingConvention; - [FieldOffset(296)] + [FieldOffset(328)] internal global::Std.Vector.__Internal Parameters; - [FieldOffset(320)] + [FieldOffset(352)] public global::System.IntPtr specializationInfo; - [FieldOffset(328)] + [FieldOffset(360)] public global::System.IntPtr instantiatedFrom; - [FieldOffset(336)] + [FieldOffset(368)] public global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; - [FieldOffset(352)] + [FieldOffset(384)] public byte isVirtual; - [FieldOffset(353)] + [FieldOffset(385)] public byte isStatic; - [FieldOffset(354)] + [FieldOffset(386)] public byte isConst; - [FieldOffset(355)] + [FieldOffset(387)] public byte isExplicit; - [FieldOffset(356)] + [FieldOffset(388)] public byte isOverride; - [FieldOffset(360)] + [FieldOffset(392)] public global::CppSharp.Parser.AST.CXXMethodKind methodKind; - [FieldOffset(364)] + [FieldOffset(396)] public byte isDefaultConstructor; - [FieldOffset(365)] + [FieldOffset(397)] public byte isCopyConstructor; - [FieldOffset(366)] + [FieldOffset(398)] public byte isMoveConstructor; - [FieldOffset(368)] + [FieldOffset(400)] public global::CppSharp.Parser.AST.QualifiedType.__Internal conversionType; - [FieldOffset(384)] + [FieldOffset(416)] public global::CppSharp.Parser.AST.RefQualifierKind refQualifier; [SuppressUnmanagedCodeSecurity] @@ -7404,7 +7434,7 @@ namespace CppSharp private static void* __CopyValue(Method.__Internal native) { - var ret = Marshal.AllocHGlobal(392); + var ret = Marshal.AllocHGlobal(424); global::CppSharp.Parser.AST.Method.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } @@ -7428,7 +7458,7 @@ namespace CppSharp public Method() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(392); + __Instance = Marshal.AllocHGlobal(424); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor_0((__Instance + __PointerAdjustment)); @@ -7437,7 +7467,7 @@ namespace CppSharp public Method(global::CppSharp.Parser.AST.Method _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(392); + __Instance = Marshal.AllocHGlobal(424); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -9383,7 +9413,7 @@ namespace CppSharp [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, EntryPoint="??0Template@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] - internal static extern global::System.IntPtr cctor_3(global::System.IntPtr instance, global::System.IntPtr _0); + internal static extern global::System.IntPtr cctor_2(global::System.IntPtr instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, @@ -9424,7 +9454,7 @@ namespace CppSharp private static void* __CopyValue(Template.__Internal native) { var ret = Marshal.AllocHGlobal(224); - global::CppSharp.Parser.AST.Template.__Internal.cctor_3(ret, new global::System.IntPtr(&native)); + global::CppSharp.Parser.AST.Template.__Internal.cctor_2(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } @@ -9471,7 +9501,7 @@ namespace CppSharp if (ReferenceEquals(_0, null)) throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); var __arg0 = _0.__Instance; - __Internal.cctor_3((__Instance + __PointerAdjustment), __arg0); + __Internal.cctor_2((__Instance + __PointerAdjustment), __arg0); } public override void Dispose(bool disposing) @@ -14435,7 +14465,7 @@ namespace CppSharp [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, EntryPoint="??0ParamCommandComment@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] - internal static extern global::System.IntPtr cctor_2(global::System.IntPtr instance, global::System.IntPtr _0); + internal static extern global::System.IntPtr cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, @@ -14463,7 +14493,7 @@ namespace CppSharp private static void* __CopyValue(ParamCommandComment.__Internal native) { var ret = Marshal.AllocHGlobal(48); - global::CppSharp.Parser.AST.ParamCommandComment.__Internal.cctor_2(ret, new global::System.IntPtr(&native)); + global::CppSharp.Parser.AST.ParamCommandComment.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } @@ -14501,7 +14531,7 @@ namespace CppSharp if (ReferenceEquals(_0, null)) throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); var __arg0 = _0.__Instance; - __Internal.cctor_2((__Instance + __PointerAdjustment), __arg0); + __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0); } public override void Dispose(bool disposing) @@ -14569,7 +14599,7 @@ namespace CppSharp [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, EntryPoint="??0TParamCommandComment@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] - internal static extern global::System.IntPtr cctor_2(global::System.IntPtr instance, global::System.IntPtr _0); + internal static extern global::System.IntPtr cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, @@ -14610,7 +14640,7 @@ namespace CppSharp private static void* __CopyValue(TParamCommandComment.__Internal native) { var ret = Marshal.AllocHGlobal(64); - global::CppSharp.Parser.AST.TParamCommandComment.__Internal.cctor_2(ret, new global::System.IntPtr(&native)); + global::CppSharp.Parser.AST.TParamCommandComment.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } @@ -14648,7 +14678,7 @@ namespace CppSharp if (ReferenceEquals(_0, null)) throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); var __arg0 = _0.__Instance; - __Internal.cctor_2((__Instance + __PointerAdjustment), __arg0); + __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0); } public override void Dispose(bool disposing) @@ -14710,7 +14740,7 @@ namespace CppSharp [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, EntryPoint="??0VerbatimBlockLineComment@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] - internal static extern global::System.IntPtr cctor_2(global::System.IntPtr instance, global::System.IntPtr _0); + internal static extern global::System.IntPtr cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, @@ -14741,7 +14771,7 @@ namespace CppSharp private static void* __CopyValue(VerbatimBlockLineComment.__Internal native) { var ret = Marshal.AllocHGlobal(40); - global::CppSharp.Parser.AST.VerbatimBlockLineComment.__Internal.cctor_2(ret, new global::System.IntPtr(&native)); + global::CppSharp.Parser.AST.VerbatimBlockLineComment.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } @@ -14779,7 +14809,7 @@ namespace CppSharp if (ReferenceEquals(_0, null)) throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); var __arg0 = _0.__Instance; - __Internal.cctor_2((__Instance + __PointerAdjustment), __arg0); + __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0); } public override void Dispose(bool disposing) @@ -14989,7 +15019,7 @@ namespace CppSharp [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, EntryPoint="??0VerbatimLineComment@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] - internal static extern global::System.IntPtr cctor_2(global::System.IntPtr instance, global::System.IntPtr _0); + internal static extern global::System.IntPtr cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, @@ -15020,7 +15050,7 @@ namespace CppSharp private static void* __CopyValue(VerbatimLineComment.__Internal native) { var ret = Marshal.AllocHGlobal(72); - global::CppSharp.Parser.AST.VerbatimLineComment.__Internal.cctor_2(ret, new global::System.IntPtr(&native)); + global::CppSharp.Parser.AST.VerbatimLineComment.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } @@ -15058,7 +15088,7 @@ namespace CppSharp if (ReferenceEquals(_0, null)) throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); var __arg0 = _0.__Instance; - __Internal.cctor_2((__Instance + __PointerAdjustment), __arg0); + __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0); } public override void Dispose(bool disposing) @@ -15114,7 +15144,7 @@ namespace CppSharp [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, EntryPoint="??0InlineCommandComment@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] - internal static extern global::System.IntPtr cctor_2(global::System.IntPtr instance, global::System.IntPtr _0); + internal static extern global::System.IntPtr cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, @@ -15285,7 +15315,7 @@ namespace CppSharp private static void* __CopyValue(InlineCommandComment.__Internal native) { var ret = Marshal.AllocHGlobal(40); - global::CppSharp.Parser.AST.InlineCommandComment.__Internal.cctor_2(ret, new global::System.IntPtr(&native)); + global::CppSharp.Parser.AST.InlineCommandComment.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } @@ -15323,7 +15353,7 @@ namespace CppSharp if (ReferenceEquals(_0, null)) throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); var __arg0 = _0.__Instance; - __Internal.cctor_2((__Instance + __PointerAdjustment), __arg0); + __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0); } public override void Dispose(bool disposing) @@ -15510,7 +15540,7 @@ namespace CppSharp [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, EntryPoint="??0HTMLStartTagComment@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] - internal static extern global::System.IntPtr cctor_2(global::System.IntPtr instance, global::System.IntPtr _0); + internal static extern global::System.IntPtr cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, @@ -15710,7 +15740,7 @@ namespace CppSharp private static void* __CopyValue(HTMLStartTagComment.__Internal native) { var ret = Marshal.AllocHGlobal(64); - global::CppSharp.Parser.AST.HTMLStartTagComment.__Internal.cctor_2(ret, new global::System.IntPtr(&native)); + global::CppSharp.Parser.AST.HTMLStartTagComment.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } @@ -15748,7 +15778,7 @@ namespace CppSharp if (ReferenceEquals(_0, null)) throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); var __arg0 = _0.__Instance; - __Internal.cctor_2((__Instance + __PointerAdjustment), __arg0); + __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0); } public override void Dispose(bool disposing) @@ -15827,7 +15857,7 @@ namespace CppSharp [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, EntryPoint="??0HTMLEndTagComment@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] - internal static extern global::System.IntPtr cctor_2(global::System.IntPtr instance, global::System.IntPtr _0); + internal static extern global::System.IntPtr cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, @@ -15858,7 +15888,7 @@ namespace CppSharp private static void* __CopyValue(HTMLEndTagComment.__Internal native) { var ret = Marshal.AllocHGlobal(40); - global::CppSharp.Parser.AST.HTMLEndTagComment.__Internal.cctor_2(ret, new global::System.IntPtr(&native)); + global::CppSharp.Parser.AST.HTMLEndTagComment.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } @@ -15896,7 +15926,7 @@ namespace CppSharp if (ReferenceEquals(_0, null)) throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); var __arg0 = _0.__Instance; - __Internal.cctor_2((__Instance + __PointerAdjustment), __arg0); + __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0); } public override void Dispose(bool disposing) @@ -15946,7 +15976,7 @@ namespace CppSharp [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, EntryPoint="??0TextComment@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] - internal static extern global::System.IntPtr cctor_2(global::System.IntPtr instance, global::System.IntPtr _0); + internal static extern global::System.IntPtr cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, @@ -15977,7 +16007,7 @@ namespace CppSharp private static void* __CopyValue(TextComment.__Internal native) { var ret = Marshal.AllocHGlobal(40); - global::CppSharp.Parser.AST.TextComment.__Internal.cctor_2(ret, new global::System.IntPtr(&native)); + global::CppSharp.Parser.AST.TextComment.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } @@ -16015,7 +16045,7 @@ namespace CppSharp if (ReferenceEquals(_0, null)) throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); var __arg0 = _0.__Instance; - __Internal.cctor_2((__Instance + __PointerAdjustment), __arg0); + __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0); } public override void Dispose(bool disposing) @@ -17188,7 +17218,7 @@ namespace CppSharp [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, EntryPoint="??0CppParserOptions@CppParser@CppSharp@@QEAA@AEBU012@@Z")] - internal static extern global::System.IntPtr cctor_2(global::System.IntPtr instance, global::System.IntPtr _0); + internal static extern global::System.IntPtr cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, @@ -17377,7 +17407,7 @@ namespace CppSharp private static void* __CopyValue(CppParserOptions.__Internal native) { var ret = Marshal.AllocHGlobal(272); - global::CppSharp.Parser.CppParserOptions.__Internal.cctor_2(ret, new global::System.IntPtr(&native)); + global::CppSharp.Parser.CppParserOptions.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } @@ -17411,7 +17441,7 @@ namespace CppSharp if (ReferenceEquals(_0, null)) throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); var __arg0 = _0.__Instance; - __Internal.cctor_2((__Instance + __PointerAdjustment), __arg0); + __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0); } public void Dispose() diff --git a/src/CppParser/Parser.cpp b/src/CppParser/Parser.cpp index f42e0b4f..daee1113 100644 --- a/src/CppParser/Parser.cpp +++ b/src/CppParser/Parser.cpp @@ -690,10 +690,9 @@ VTableLayout Parser::WalkVTableLayout(const clang::VTableLayout& VTLayout) { auto Layout = VTableLayout(); - for (auto I = VTLayout.vtable_component_begin(), - E = VTLayout.vtable_component_end(); I != E; ++I) + for (const auto& VTC : VTLayout.vtable_components()) { - auto VTComponent = WalkVTableComponent(*I); + auto VTComponent = WalkVTableComponent(VTC); Layout.Components.push_back(VTComponent); } @@ -717,11 +716,9 @@ void Parser::WalkVTable(const clang::CXXRecordDecl* RD, Class* C) C->layout->ABI = CppAbi::Microsoft; MicrosoftVTableContext VTContext(*AST); - auto VFPtrs = VTContext.getVFPtrOffsets(RD); - for (auto I = VFPtrs.begin(), E = VFPtrs.end(); I != E; ++I) + const auto& VFPtrs = VTContext.getVFPtrOffsets(RD); + for (const auto& VFPtrInfo : VFPtrs) { - auto& VFPtrInfo = *I; - VFTableInfo Info; Info.VFPtrOffset = VFPtrInfo->NonVirtualOffset.getQuantity(); Info.VFPtrFullOffset = VFPtrInfo->FullOffsetInMDC.getQuantity(); @@ -2902,6 +2899,9 @@ void Parser::WalkFunction(const clang::FunctionDecl* FD, Function* F, const auto& Mangled = GetDeclMangledName(FD); F->Mangled = Mangled; + const auto& Body = GetFunctionBody(FD); + F->Body = Body; + clang::SourceLocation ParamStartLoc = FD->getLocStart(); clang::SourceLocation ResultLoc; @@ -3350,6 +3350,18 @@ std::string Parser::GetStringFromStatement(const clang::Stmt* Statement) return as.str(); } +std::string Parser::GetFunctionBody(const clang::FunctionDecl* FD) +{ + if (!FD->getBody()) + return ""; + + clang::PrintingPolicy Policy(c->getLangOpts()); + std::string s; + llvm::raw_string_ostream as(s); + FD->getBody()->printPretty(as, 0, Policy); + return as.str(); +} + void Parser::HandlePreprocessedEntities(Declaration* Decl, clang::SourceRange sourceRange, MacroLocation macroLocation) @@ -3900,7 +3912,7 @@ ParserResult* Parser::ParseHeader(const std::vector& SourceFiles, P clang::DiagnosticConsumer* client = c->getDiagnostics().getClient(); client->BeginSourceFile(c->getLangOpts(), &c->getPreprocessor()); - ParseAST(c->getSema(), /*PrintStats=*/false, /*SkipFunctionBodies=*/true); + ParseAST(c->getSema()); client->EndSourceFile(); diff --git a/src/CppParser/Parser.h b/src/CppParser/Parser.h index 85427931..0192e681 100644 --- a/src/CppParser/Parser.h +++ b/src/CppParser/Parser.h @@ -112,6 +112,7 @@ private: clang::PreprocessedEntity* PPEntity); AST::Expression* WalkExpression(const clang::Expr* Expression); std::string GetStringFromStatement(const clang::Stmt* Statement); + std::string GetFunctionBody(const clang::FunctionDecl* FD); // Clang helpers SourceLocationKind GetLocationKind(const clang::SourceLocation& Loc); diff --git a/src/Generator.Tests/AST/TestAST.cs b/src/Generator.Tests/AST/TestAST.cs index b9729c19..2c98c814 100644 --- a/src/Generator.Tests/AST/TestAST.cs +++ b/src/Generator.Tests/AST/TestAST.cs @@ -302,7 +302,8 @@ namespace CppSharp.Generator.Tests.AST public void TestSignature() { Assert.AreEqual("void testSignature()", AstContext.FindFunction("testSignature").Single().Signature); - Assert.AreEqual("void testImpl()", AstContext.FindFunction("testImpl").Single().Signature); + Assert.AreEqual($"void testImpl(){Environment.NewLine}{{{Environment.NewLine}}}", + AstContext.FindFunction("testImpl").Single().Signature); Assert.AreEqual("void testConstSignature() const", AstContext.FindClass("HasConstFunction").Single().FindMethod("testConstSignature").Signature); Assert.AreEqual("void testConstSignatureWithTrailingMacro() const", diff --git a/src/Parser/ASTConverter.cs b/src/Parser/ASTConverter.cs index 5b806c34..5e6388a0 100644 --- a/src/Parser/ASTConverter.cs +++ b/src/Parser/ASTConverter.cs @@ -1163,6 +1163,7 @@ namespace CppSharp _function.OperatorKind = VisitCXXOperatorKind(function.OperatorKind); _function.Mangled = function.Mangled; _function.Signature = function.Signature; + _function.Body = function.Body; _function.CallingConvention = VisitCallingConvention(function.CallingConvention); if (function.InstantiatedFrom != null) _function.InstantiatedFrom = (AST.Function) Visit(function.InstantiatedFrom);