Skip to content

Commit 33bc64a

Browse files
committed
Reused the parsing of headers to get the target info as well.
Signed-off-by: Dimitar Dobrev <[email protected]>
1 parent 3abe0e5 commit 33bc64a

File tree

15 files changed

+171
-169
lines changed

15 files changed

+171
-169
lines changed

src/CppParser/Bindings/CLI/CppParser.cpp

Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -723,6 +723,16 @@ void CppSharp::Parser::ParserResult::Library::set(CppSharp::Parser::AST::NativeL
723723
((::CppSharp::CppParser::ParserResult*)NativePtr)->library = (::CppSharp::CppParser::AST::NativeLibrary*)value->NativePtr;
724724
}
725725

726+
CppSharp::Parser::ParserTargetInfo^ CppSharp::Parser::ParserResult::TargetInfo::get()
727+
{
728+
return (((::CppSharp::CppParser::ParserResult*)NativePtr)->targetInfo == nullptr) ? nullptr : gcnew CppSharp::Parser::ParserTargetInfo((::CppSharp::CppParser::ParserTargetInfo*)((::CppSharp::CppParser::ParserResult*)NativePtr)->targetInfo);
729+
}
730+
731+
void CppSharp::Parser::ParserResult::TargetInfo::set(CppSharp::Parser::ParserTargetInfo^ value)
732+
{
733+
((::CppSharp::CppParser::ParserResult*)NativePtr)->targetInfo = (::CppSharp::CppParser::ParserTargetInfo*)value->NativePtr;
734+
}
735+
726736
unsigned int CppSharp::Parser::ParserResult::DiagnosticsCount::get()
727737
{
728738
auto __ret = ((::CppSharp::CppParser::ParserResult*)NativePtr)->getDiagnosticsCount();
@@ -761,14 +771,6 @@ CppSharp::Parser::ParserResult^ CppSharp::Parser::ClangParser::ParseLibrary(CppS
761771
return (__ret == nullptr) ? nullptr : gcnew CppSharp::Parser::ParserResult((::CppSharp::CppParser::ParserResult*)__ret);
762772
}
763773

764-
CppSharp::Parser::ParserTargetInfo^ CppSharp::Parser::ClangParser::GetTargetInfo(CppSharp::Parser::CppParserOptions^ Opts)
765-
{
766-
auto __arg0 = (::CppSharp::CppParser::CppParserOptions*)Opts->NativePtr;
767-
auto __ret = ::CppSharp::CppParser::ClangParser::GetTargetInfo(__arg0);
768-
if (__ret == nullptr) return nullptr;
769-
return (__ret == nullptr) ? nullptr : gcnew CppSharp::Parser::ParserTargetInfo((::CppSharp::CppParser::ParserTargetInfo*)__ret);
770-
}
771-
772774
CppSharp::Parser::ClangParser::ClangParser()
773775
{
774776
__ownsNativeInstance = true;

src/CppParser/Bindings/CLI/CppParser.h

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -368,6 +368,12 @@ namespace CppSharp
368368
void set(CppSharp::Parser::AST::NativeLibrary^);
369369
}
370370

371+
property CppSharp::Parser::ParserTargetInfo^ TargetInfo
372+
{
373+
CppSharp::Parser::ParserTargetInfo^ get();
374+
void set(CppSharp::Parser::ParserTargetInfo^);
375+
}
376+
371377
property unsigned int DiagnosticsCount
372378
{
373379
unsigned int get();
@@ -406,8 +412,6 @@ namespace CppSharp
406412

407413
static CppSharp::Parser::ParserResult^ ParseLibrary(CppSharp::Parser::CppParserOptions^ Opts);
408414

409-
static CppSharp::Parser::ParserTargetInfo^ GetTargetInfo(CppSharp::Parser::CppParserOptions^ Opts);
410-
411415
protected:
412416
bool __ownsNativeInstance;
413417
};

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

Lines changed: 22 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -18751,7 +18751,7 @@ public int ColumnNumber
1875118751

1875218752
public unsafe partial class ParserResult : IDisposable
1875318753
{
18754-
[StructLayout(LayoutKind.Explicit, Size = 20)]
18754+
[StructLayout(LayoutKind.Explicit, Size = 24)]
1875518755
public partial struct __Internal
1875618756
{
1875718757
[FieldOffset(0)]
@@ -18763,6 +18763,9 @@ public partial struct __Internal
1876318763
[FieldOffset(16)]
1876418764
internal global::System.IntPtr library;
1876518765

18766+
[FieldOffset(20)]
18767+
internal global::System.IntPtr targetInfo;
18768+
1876618769
[SuppressUnmanagedCodeSecurity]
1876718770
[DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl,
1876818771
EntryPoint="_ZN8CppSharp9CppParser12ParserResultC2Ev")]
@@ -18926,6 +18929,24 @@ public void ClearDiagnostics()
1892618929
}
1892718930
}
1892818931

18932+
public global::CppSharp.Parser.ParserTargetInfo TargetInfo
18933+
{
18934+
get
18935+
{
18936+
global::CppSharp.Parser.ParserTargetInfo __result0;
18937+
if (((global::CppSharp.Parser.ParserResult.__Internal*) __Instance)->targetInfo == IntPtr.Zero) __result0 = null;
18938+
else if (global::CppSharp.Parser.ParserTargetInfo.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.ParserResult.__Internal*) __Instance)->targetInfo))
18939+
__result0 = (global::CppSharp.Parser.ParserTargetInfo) global::CppSharp.Parser.ParserTargetInfo.NativeToManagedMap[((global::CppSharp.Parser.ParserResult.__Internal*) __Instance)->targetInfo];
18940+
else __result0 = global::CppSharp.Parser.ParserTargetInfo.__CreateInstance(((global::CppSharp.Parser.ParserResult.__Internal*) __Instance)->targetInfo);
18941+
return __result0;
18942+
}
18943+
18944+
set
18945+
{
18946+
((global::CppSharp.Parser.ParserResult.__Internal*) __Instance)->targetInfo = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
18947+
}
18948+
}
18949+
1892918950
public uint DiagnosticsCount
1893018951
{
1893118952
get
@@ -18955,11 +18976,6 @@ public partial struct __Internal
1895518976
[DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl,
1895618977
EntryPoint="_ZN8CppSharp9CppParser11ClangParser12ParseLibraryEPNS0_16CppParserOptionsE")]
1895718978
internal static extern global::System.IntPtr ParseLibrary(global::System.IntPtr Opts);
18958-
18959-
[SuppressUnmanagedCodeSecurity]
18960-
[DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl,
18961-
EntryPoint="_ZN8CppSharp9CppParser11ClangParser13GetTargetInfoEPNS0_16CppParserOptionsE")]
18962-
internal static extern global::System.IntPtr GetTargetInfo(global::System.IntPtr Opts);
1896318979
}
1896418980

1896518981
public global::System.IntPtr __Instance { get; protected set; }
@@ -19055,18 +19071,6 @@ public virtual void Dispose(bool disposing)
1905519071
else __result0 = global::CppSharp.Parser.ParserResult.__CreateInstance(__ret);
1905619072
return __result0;
1905719073
}
19058-
19059-
public static global::CppSharp.Parser.ParserTargetInfo GetTargetInfo(global::CppSharp.Parser.CppParserOptions Opts)
19060-
{
19061-
var __arg0 = ReferenceEquals(Opts, null) ? global::System.IntPtr.Zero : Opts.__Instance;
19062-
var __ret = __Internal.GetTargetInfo(__arg0);
19063-
global::CppSharp.Parser.ParserTargetInfo __result0;
19064-
if (__ret == IntPtr.Zero) __result0 = null;
19065-
else if (global::CppSharp.Parser.ParserTargetInfo.NativeToManagedMap.ContainsKey(__ret))
19066-
__result0 = (global::CppSharp.Parser.ParserTargetInfo) global::CppSharp.Parser.ParserTargetInfo.NativeToManagedMap[__ret];
19067-
else __result0 = global::CppSharp.Parser.ParserTargetInfo.__CreateInstance(__ret);
19068-
return __result0;
19069-
}
1907019074
}
1907119075
}
1907219076
}

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

Lines changed: 22 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -18751,7 +18751,7 @@ public int ColumnNumber
1875118751

1875218752
public unsafe partial class ParserResult : IDisposable
1875318753
{
18754-
[StructLayout(LayoutKind.Explicit, Size = 20)]
18754+
[StructLayout(LayoutKind.Explicit, Size = 24)]
1875518755
public partial struct __Internal
1875618756
{
1875718757
[FieldOffset(0)]
@@ -18763,6 +18763,9 @@ public partial struct __Internal
1876318763
[FieldOffset(16)]
1876418764
internal global::System.IntPtr library;
1876518765

18766+
[FieldOffset(20)]
18767+
internal global::System.IntPtr targetInfo;
18768+
1876618769
[SuppressUnmanagedCodeSecurity]
1876718770
[DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall,
1876818771
EntryPoint="??0ParserResult@CppParser@CppSharp@@QAE@XZ")]
@@ -18926,6 +18929,24 @@ public void ClearDiagnostics()
1892618929
}
1892718930
}
1892818931

18932+
public global::CppSharp.Parser.ParserTargetInfo TargetInfo
18933+
{
18934+
get
18935+
{
18936+
global::CppSharp.Parser.ParserTargetInfo __result0;
18937+
if (((global::CppSharp.Parser.ParserResult.__Internal*) __Instance)->targetInfo == IntPtr.Zero) __result0 = null;
18938+
else if (global::CppSharp.Parser.ParserTargetInfo.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.ParserResult.__Internal*) __Instance)->targetInfo))
18939+
__result0 = (global::CppSharp.Parser.ParserTargetInfo) global::CppSharp.Parser.ParserTargetInfo.NativeToManagedMap[((global::CppSharp.Parser.ParserResult.__Internal*) __Instance)->targetInfo];
18940+
else __result0 = global::CppSharp.Parser.ParserTargetInfo.__CreateInstance(((global::CppSharp.Parser.ParserResult.__Internal*) __Instance)->targetInfo);
18941+
return __result0;
18942+
}
18943+
18944+
set
18945+
{
18946+
((global::CppSharp.Parser.ParserResult.__Internal*) __Instance)->targetInfo = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
18947+
}
18948+
}
18949+
1892918950
public uint DiagnosticsCount
1893018951
{
1893118952
get
@@ -18955,11 +18976,6 @@ public partial struct __Internal
1895518976
[DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl,
1895618977
EntryPoint="?ParseLibrary@ClangParser@CppParser@CppSharp@@SAPAUParserResult@23@PAUCppParserOptions@23@@Z")]
1895718978
internal static extern global::System.IntPtr ParseLibrary(global::System.IntPtr Opts);
18958-
18959-
[SuppressUnmanagedCodeSecurity]
18960-
[DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl,
18961-
EntryPoint="?GetTargetInfo@ClangParser@CppParser@CppSharp@@SAPAUParserTargetInfo@23@PAUCppParserOptions@23@@Z")]
18962-
internal static extern global::System.IntPtr GetTargetInfo(global::System.IntPtr Opts);
1896318979
}
1896418980

1896518981
public global::System.IntPtr __Instance { get; protected set; }
@@ -19055,18 +19071,6 @@ public virtual void Dispose(bool disposing)
1905519071
else __result0 = global::CppSharp.Parser.ParserResult.__CreateInstance(__ret);
1905619072
return __result0;
1905719073
}
19058-
19059-
public static global::CppSharp.Parser.ParserTargetInfo GetTargetInfo(global::CppSharp.Parser.CppParserOptions Opts)
19060-
{
19061-
var __arg0 = ReferenceEquals(Opts, null) ? global::System.IntPtr.Zero : Opts.__Instance;
19062-
var __ret = __Internal.GetTargetInfo(__arg0);
19063-
global::CppSharp.Parser.ParserTargetInfo __result0;
19064-
if (__ret == IntPtr.Zero) __result0 = null;
19065-
else if (global::CppSharp.Parser.ParserTargetInfo.NativeToManagedMap.ContainsKey(__ret))
19066-
__result0 = (global::CppSharp.Parser.ParserTargetInfo) global::CppSharp.Parser.ParserTargetInfo.NativeToManagedMap[__ret];
19067-
else __result0 = global::CppSharp.Parser.ParserTargetInfo.__CreateInstance(__ret);
19068-
return __result0;
19069-
}
1907019074
}
1907119075
}
1907219076
}

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

Lines changed: 22 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -18750,7 +18750,7 @@ public int ColumnNumber
1875018750

1875118751
public unsafe partial class ParserResult : IDisposable
1875218752
{
18753-
[StructLayout(LayoutKind.Explicit, Size = 40)]
18753+
[StructLayout(LayoutKind.Explicit, Size = 48)]
1875418754
public partial struct __Internal
1875518755
{
1875618756
[FieldOffset(0)]
@@ -18762,6 +18762,9 @@ public partial struct __Internal
1876218762
[FieldOffset(32)]
1876318763
internal global::System.IntPtr library;
1876418764

18765+
[FieldOffset(40)]
18766+
internal global::System.IntPtr targetInfo;
18767+
1876518768
[SuppressUnmanagedCodeSecurity]
1876618769
[DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl,
1876718770
EntryPoint="_ZN8CppSharp9CppParser12ParserResultC2Ev")]
@@ -18925,6 +18928,24 @@ public void ClearDiagnostics()
1892518928
}
1892618929
}
1892718930

18931+
public global::CppSharp.Parser.ParserTargetInfo TargetInfo
18932+
{
18933+
get
18934+
{
18935+
global::CppSharp.Parser.ParserTargetInfo __result0;
18936+
if (((global::CppSharp.Parser.ParserResult.__Internal*) __Instance)->targetInfo == IntPtr.Zero) __result0 = null;
18937+
else if (global::CppSharp.Parser.ParserTargetInfo.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.ParserResult.__Internal*) __Instance)->targetInfo))
18938+
__result0 = (global::CppSharp.Parser.ParserTargetInfo) global::CppSharp.Parser.ParserTargetInfo.NativeToManagedMap[((global::CppSharp.Parser.ParserResult.__Internal*) __Instance)->targetInfo];
18939+
else __result0 = global::CppSharp.Parser.ParserTargetInfo.__CreateInstance(((global::CppSharp.Parser.ParserResult.__Internal*) __Instance)->targetInfo);
18940+
return __result0;
18941+
}
18942+
18943+
set
18944+
{
18945+
((global::CppSharp.Parser.ParserResult.__Internal*) __Instance)->targetInfo = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
18946+
}
18947+
}
18948+
1892818949
public uint DiagnosticsCount
1892918950
{
1893018951
get
@@ -18954,11 +18975,6 @@ public partial struct __Internal
1895418975
[DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl,
1895518976
EntryPoint="_ZN8CppSharp9CppParser11ClangParser12ParseLibraryEPNS0_16CppParserOptionsE")]
1895618977
internal static extern global::System.IntPtr ParseLibrary(global::System.IntPtr Opts);
18957-
18958-
[SuppressUnmanagedCodeSecurity]
18959-
[DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl,
18960-
EntryPoint="_ZN8CppSharp9CppParser11ClangParser13GetTargetInfoEPNS0_16CppParserOptionsE")]
18961-
internal static extern global::System.IntPtr GetTargetInfo(global::System.IntPtr Opts);
1896218978
}
1896318979

1896418980
public global::System.IntPtr __Instance { get; protected set; }
@@ -19054,18 +19070,6 @@ public virtual void Dispose(bool disposing)
1905419070
else __result0 = global::CppSharp.Parser.ParserResult.__CreateInstance(__ret);
1905519071
return __result0;
1905619072
}
19057-
19058-
public static global::CppSharp.Parser.ParserTargetInfo GetTargetInfo(global::CppSharp.Parser.CppParserOptions Opts)
19059-
{
19060-
var __arg0 = ReferenceEquals(Opts, null) ? global::System.IntPtr.Zero : Opts.__Instance;
19061-
var __ret = __Internal.GetTargetInfo(__arg0);
19062-
global::CppSharp.Parser.ParserTargetInfo __result0;
19063-
if (__ret == IntPtr.Zero) __result0 = null;
19064-
else if (global::CppSharp.Parser.ParserTargetInfo.NativeToManagedMap.ContainsKey(__ret))
19065-
__result0 = (global::CppSharp.Parser.ParserTargetInfo) global::CppSharp.Parser.ParserTargetInfo.NativeToManagedMap[__ret];
19066-
else __result0 = global::CppSharp.Parser.ParserTargetInfo.__CreateInstance(__ret);
19067-
return __result0;
19068-
}
1906919073
}
1907019074
}
1907119075
}

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

Lines changed: 22 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -18750,7 +18750,7 @@ public int ColumnNumber
1875018750

1875118751
public unsafe partial class ParserResult : IDisposable
1875218752
{
18753-
[StructLayout(LayoutKind.Explicit, Size = 40)]
18753+
[StructLayout(LayoutKind.Explicit, Size = 48)]
1875418754
public partial struct __Internal
1875518755
{
1875618756
[FieldOffset(0)]
@@ -18762,6 +18762,9 @@ public partial struct __Internal
1876218762
[FieldOffset(32)]
1876318763
internal global::System.IntPtr library;
1876418764

18765+
[FieldOffset(40)]
18766+
internal global::System.IntPtr targetInfo;
18767+
1876518768
[SuppressUnmanagedCodeSecurity]
1876618769
[DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl,
1876718770
EntryPoint="_ZN8CppSharp9CppParser12ParserResultC2Ev")]
@@ -18925,6 +18928,24 @@ public void ClearDiagnostics()
1892518928
}
1892618929
}
1892718930

18931+
public global::CppSharp.Parser.ParserTargetInfo TargetInfo
18932+
{
18933+
get
18934+
{
18935+
global::CppSharp.Parser.ParserTargetInfo __result0;
18936+
if (((global::CppSharp.Parser.ParserResult.__Internal*) __Instance)->targetInfo == IntPtr.Zero) __result0 = null;
18937+
else if (global::CppSharp.Parser.ParserTargetInfo.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.ParserResult.__Internal*) __Instance)->targetInfo))
18938+
__result0 = (global::CppSharp.Parser.ParserTargetInfo) global::CppSharp.Parser.ParserTargetInfo.NativeToManagedMap[((global::CppSharp.Parser.ParserResult.__Internal*) __Instance)->targetInfo];
18939+
else __result0 = global::CppSharp.Parser.ParserTargetInfo.__CreateInstance(((global::CppSharp.Parser.ParserResult.__Internal*) __Instance)->targetInfo);
18940+
return __result0;
18941+
}
18942+
18943+
set
18944+
{
18945+
((global::CppSharp.Parser.ParserResult.__Internal*) __Instance)->targetInfo = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
18946+
}
18947+
}
18948+
1892818949
public uint DiagnosticsCount
1892918950
{
1893018951
get
@@ -18954,11 +18975,6 @@ public partial struct __Internal
1895418975
[DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl,
1895518976
EntryPoint="_ZN8CppSharp9CppParser11ClangParser12ParseLibraryEPNS0_16CppParserOptionsE")]
1895618977
internal static extern global::System.IntPtr ParseLibrary(global::System.IntPtr Opts);
18957-
18958-
[SuppressUnmanagedCodeSecurity]
18959-
[DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl,
18960-
EntryPoint="_ZN8CppSharp9CppParser11ClangParser13GetTargetInfoEPNS0_16CppParserOptionsE")]
18961-
internal static extern global::System.IntPtr GetTargetInfo(global::System.IntPtr Opts);
1896218978
}
1896318979

1896418980
public global::System.IntPtr __Instance { get; protected set; }
@@ -19054,18 +19070,6 @@ public virtual void Dispose(bool disposing)
1905419070
else __result0 = global::CppSharp.Parser.ParserResult.__CreateInstance(__ret);
1905519071
return __result0;
1905619072
}
19057-
19058-
public static global::CppSharp.Parser.ParserTargetInfo GetTargetInfo(global::CppSharp.Parser.CppParserOptions Opts)
19059-
{
19060-
var __arg0 = ReferenceEquals(Opts, null) ? global::System.IntPtr.Zero : Opts.__Instance;
19061-
var __ret = __Internal.GetTargetInfo(__arg0);
19062-
global::CppSharp.Parser.ParserTargetInfo __result0;
19063-
if (__ret == IntPtr.Zero) __result0 = null;
19064-
else if (global::CppSharp.Parser.ParserTargetInfo.NativeToManagedMap.ContainsKey(__ret))
19065-
__result0 = (global::CppSharp.Parser.ParserTargetInfo) global::CppSharp.Parser.ParserTargetInfo.NativeToManagedMap[__ret];
19066-
else __result0 = global::CppSharp.Parser.ParserTargetInfo.__CreateInstance(__ret);
19067-
return __result0;
19068-
}
1906919073
}
1907019074
}
1907119075
}

0 commit comments

Comments
 (0)