Browse Source

Merge pull request #331 from ddobrev/master

Enabled the addition of undefines in the options
pull/332/head
João Matos 11 years ago
parent
commit
2341df6b07
  1. 25
      src/CppParser/Bindings/CLI/CppParser.cpp
  2. 11
      src/CppParser/Bindings/CLI/CppParser.h
  3. 70
      src/CppParser/Bindings/CSharp/i686-apple-darwin12.4.0/CppParser.cs
  4. 70
      src/CppParser/Bindings/CSharp/i686-pc-win32-msvc/CppParser.cs
  5. 70
      src/CppParser/Bindings/CSharp/x86_64-linux-gnu/CppParser.cs
  6. 1
      src/CppParser/CppParser.cpp
  7. 1
      src/CppParser/CppParser.h
  8. 6
      src/CppParser/Parser.cpp
  9. 6
      src/Generator/Driver.cs

25
src/CppParser/Bindings/CLI/CppParser.cpp

@ -97,6 +97,25 @@ void CppSharp::Parser::ParserOptions::clearDefines()
((::CppSharp::CppParser::ParserOptions*)NativePtr)->clearDefines(); ((::CppSharp::CppParser::ParserOptions*)NativePtr)->clearDefines();
} }
System::String^ CppSharp::Parser::ParserOptions::getUndefines(unsigned int i)
{
auto __ret = ((::CppSharp::CppParser::ParserOptions*)NativePtr)->getUndefines(i);
if (__ret == nullptr) return nullptr;
return clix::marshalString<clix::E_UTF8>(__ret);
}
void CppSharp::Parser::ParserOptions::addUndefines(System::String^ s)
{
auto _arg0 = clix::marshalString<clix::E_UTF8>(s);
auto arg0 = _arg0.c_str();
((::CppSharp::CppParser::ParserOptions*)NativePtr)->addUndefines(arg0);
}
void CppSharp::Parser::ParserOptions::clearUndefines()
{
((::CppSharp::CppParser::ParserOptions*)NativePtr)->clearUndefines();
}
System::String^ CppSharp::Parser::ParserOptions::getLibraryDirs(unsigned int i) System::String^ CppSharp::Parser::ParserOptions::getLibraryDirs(unsigned int i)
{ {
auto __ret = ((::CppSharp::CppParser::ParserOptions*)NativePtr)->getLibraryDirs(i); auto __ret = ((::CppSharp::CppParser::ParserOptions*)NativePtr)->getLibraryDirs(i);
@ -164,6 +183,12 @@ unsigned int CppSharp::Parser::ParserOptions::DefinesCount::get()
return __ret; return __ret;
} }
unsigned int CppSharp::Parser::ParserOptions::UndefinesCount::get()
{
auto __ret = ((::CppSharp::CppParser::ParserOptions*)NativePtr)->getUndefinesCount();
return __ret;
}
unsigned int CppSharp::Parser::ParserOptions::LibraryDirsCount::get() unsigned int CppSharp::Parser::ParserOptions::LibraryDirsCount::get()
{ {
auto __ret = ((::CppSharp::CppParser::ParserOptions*)NativePtr)->getLibraryDirsCount(); auto __ret = ((::CppSharp::CppParser::ParserOptions*)NativePtr)->getLibraryDirsCount();

11
src/CppParser/Bindings/CLI/CppParser.h

@ -106,6 +106,11 @@ namespace CppSharp
unsigned int get(); unsigned int get();
} }
property unsigned int UndefinesCount
{
unsigned int get();
}
property unsigned int LibraryDirsCount property unsigned int LibraryDirsCount
{ {
unsigned int get(); unsigned int get();
@ -189,6 +194,12 @@ namespace CppSharp
void clearDefines(); void clearDefines();
System::String^ getUndefines(unsigned int i);
void addUndefines(System::String^ s);
void clearUndefines();
System::String^ getLibraryDirs(unsigned int i); System::String^ getLibraryDirs(unsigned int i);
void addLibraryDirs(System::String^ s); void addLibraryDirs(System::String^ s);

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

@ -47,31 +47,31 @@ namespace CppSharp
public unsafe partial class ParserOptions : IDisposable public unsafe partial class ParserOptions : IDisposable
{ {
[StructLayout(LayoutKind.Explicit, Size = 104)] [StructLayout(LayoutKind.Explicit, Size = 116)]
public partial struct Internal public partial struct Internal
{ {
[FieldOffset(72)] [FieldOffset(84)]
public global::System.IntPtr ASTContext; public global::System.IntPtr ASTContext;
[FieldOffset(76)] [FieldOffset(88)]
public int ToolSetToUse; public int ToolSetToUse;
[FieldOffset(92)] [FieldOffset(104)]
public CppSharp.Parser.AST.CppAbi Abi; public CppSharp.Parser.AST.CppAbi Abi;
[FieldOffset(96)] [FieldOffset(108)]
public bool NoStandardIncludes; public bool NoStandardIncludes;
[FieldOffset(97)] [FieldOffset(109)]
public bool NoBuiltinIncludes; public bool NoBuiltinIncludes;
[FieldOffset(98)] [FieldOffset(110)]
public bool MicrosoftMode; public bool MicrosoftMode;
[FieldOffset(99)] [FieldOffset(111)]
public bool Verbose; public bool Verbose;
[FieldOffset(100)] [FieldOffset(112)]
public CppSharp.Parser.LanguageVersion LanguageVersion; public CppSharp.Parser.LanguageVersion LanguageVersion;
[SuppressUnmanagedCodeSecurity] [SuppressUnmanagedCodeSecurity]
@ -149,6 +149,21 @@ namespace CppSharp
EntryPoint="_ZN8CppSharp9CppParser13ParserOptions12clearDefinesEv")] EntryPoint="_ZN8CppSharp9CppParser13ParserOptions12clearDefinesEv")]
internal static extern void clearDefines_0(global::System.IntPtr instance); internal static extern void clearDefines_0(global::System.IntPtr instance);
[SuppressUnmanagedCodeSecurity]
[DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl,
EntryPoint="_ZN8CppSharp9CppParser13ParserOptions12getUndefinesEj")]
internal static extern global::System.IntPtr getUndefines_0(global::System.IntPtr instance, uint i);
[SuppressUnmanagedCodeSecurity]
[DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl,
EntryPoint="_ZN8CppSharp9CppParser13ParserOptions12addUndefinesEPKc")]
internal static extern void addUndefines_0(global::System.IntPtr instance, global::System.IntPtr s);
[SuppressUnmanagedCodeSecurity]
[DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl,
EntryPoint="_ZN8CppSharp9CppParser13ParserOptions14clearUndefinesEv")]
internal static extern void clearUndefines_0(global::System.IntPtr instance);
[SuppressUnmanagedCodeSecurity] [SuppressUnmanagedCodeSecurity]
[DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl,
EntryPoint="_ZN8CppSharp9CppParser13ParserOptions14getLibraryDirsEj")] EntryPoint="_ZN8CppSharp9CppParser13ParserOptions14getLibraryDirsEj")]
@ -194,6 +209,11 @@ namespace CppSharp
EntryPoint="_ZN8CppSharp9CppParser13ParserOptions15getDefinesCountEv")] EntryPoint="_ZN8CppSharp9CppParser13ParserOptions15getDefinesCountEv")]
internal static extern uint getDefinesCount_0(global::System.IntPtr instance); internal static extern uint getDefinesCount_0(global::System.IntPtr instance);
[SuppressUnmanagedCodeSecurity]
[DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl,
EntryPoint="_ZN8CppSharp9CppParser13ParserOptions17getUndefinesCountEv")]
internal static extern uint getUndefinesCount_0(global::System.IntPtr instance);
[SuppressUnmanagedCodeSecurity] [SuppressUnmanagedCodeSecurity]
[DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl,
EntryPoint="_ZN8CppSharp9CppParser13ParserOptions19getLibraryDirsCountEv")] EntryPoint="_ZN8CppSharp9CppParser13ParserOptions19getLibraryDirsCountEv")]
@ -219,7 +239,7 @@ namespace CppSharp
private static global::System.IntPtr __CopyValue(ParserOptions.Internal native) private static global::System.IntPtr __CopyValue(ParserOptions.Internal native)
{ {
var ret = Marshal.AllocHGlobal(104); var ret = Marshal.AllocHGlobal(116);
CppSharp.Parser.ParserOptions.Internal.cctor_2(ret, new global::System.IntPtr(&native)); CppSharp.Parser.ParserOptions.Internal.cctor_2(ret, new global::System.IntPtr(&native));
return ret; return ret;
} }
@ -236,7 +256,7 @@ namespace CppSharp
public ParserOptions() public ParserOptions()
{ {
__Instance = Marshal.AllocHGlobal(104); __Instance = Marshal.AllocHGlobal(116);
Internal.ctor_0(__Instance); Internal.ctor_0(__Instance);
} }
@ -328,6 +348,25 @@ namespace CppSharp
Internal.clearDefines_0(__Instance); Internal.clearDefines_0(__Instance);
} }
public string getUndefines(uint i)
{
var __ret = Internal.getUndefines_0(__Instance, i);
if (__ret == global::System.IntPtr.Zero) return null;
return Marshal.PtrToStringAnsi(__ret);
}
public void addUndefines(string s)
{
var arg0 = Marshal.StringToHGlobalAnsi(s);
Internal.addUndefines_0(__Instance, arg0);
Marshal.FreeHGlobal(arg0);
}
public void clearUndefines()
{
Internal.clearUndefines_0(__Instance);
}
public string getLibraryDirs(uint i) public string getLibraryDirs(uint i)
{ {
var __ret = Internal.getLibraryDirs_0(__Instance, i); var __ret = Internal.getLibraryDirs_0(__Instance, i);
@ -400,6 +439,15 @@ namespace CppSharp
} }
} }
public uint UndefinesCount
{
get
{
var __ret = Internal.getUndefinesCount_0(__Instance);
return __ret;
}
}
public uint LibraryDirsCount public uint LibraryDirsCount
{ {
get get

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

@ -47,31 +47,31 @@ namespace CppSharp
public unsafe partial class ParserOptions : IDisposable public unsafe partial class ParserOptions : IDisposable
{ {
[StructLayout(LayoutKind.Explicit, Size = 128)] [StructLayout(LayoutKind.Explicit, Size = 140)]
public partial struct Internal public partial struct Internal
{ {
[FieldOffset(84)] [FieldOffset(96)]
public global::System.IntPtr ASTContext; public global::System.IntPtr ASTContext;
[FieldOffset(88)] [FieldOffset(100)]
public int ToolSetToUse; public int ToolSetToUse;
[FieldOffset(116)] [FieldOffset(128)]
public CppSharp.Parser.AST.CppAbi Abi; public CppSharp.Parser.AST.CppAbi Abi;
[FieldOffset(120)] [FieldOffset(132)]
public bool NoStandardIncludes; public bool NoStandardIncludes;
[FieldOffset(121)] [FieldOffset(133)]
public bool NoBuiltinIncludes; public bool NoBuiltinIncludes;
[FieldOffset(122)] [FieldOffset(134)]
public bool MicrosoftMode; public bool MicrosoftMode;
[FieldOffset(123)] [FieldOffset(135)]
public bool Verbose; public bool Verbose;
[FieldOffset(124)] [FieldOffset(136)]
public CppSharp.Parser.LanguageVersion LanguageVersion; public CppSharp.Parser.LanguageVersion LanguageVersion;
[SuppressUnmanagedCodeSecurity] [SuppressUnmanagedCodeSecurity]
@ -149,6 +149,21 @@ namespace CppSharp
EntryPoint="?clearDefines@ParserOptions@CppParser@CppSharp@@QAEXXZ")] EntryPoint="?clearDefines@ParserOptions@CppParser@CppSharp@@QAEXXZ")]
internal static extern void clearDefines_0(global::System.IntPtr instance); internal static extern void clearDefines_0(global::System.IntPtr instance);
[SuppressUnmanagedCodeSecurity]
[DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall,
EntryPoint="?getUndefines@ParserOptions@CppParser@CppSharp@@QAEPBDI@Z")]
internal static extern global::System.IntPtr getUndefines_0(global::System.IntPtr instance, uint i);
[SuppressUnmanagedCodeSecurity]
[DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall,
EntryPoint="?addUndefines@ParserOptions@CppParser@CppSharp@@QAEXPBD@Z")]
internal static extern void addUndefines_0(global::System.IntPtr instance, global::System.IntPtr s);
[SuppressUnmanagedCodeSecurity]
[DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall,
EntryPoint="?clearUndefines@ParserOptions@CppParser@CppSharp@@QAEXXZ")]
internal static extern void clearUndefines_0(global::System.IntPtr instance);
[SuppressUnmanagedCodeSecurity] [SuppressUnmanagedCodeSecurity]
[DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall,
EntryPoint="?getLibraryDirs@ParserOptions@CppParser@CppSharp@@QAEPBDI@Z")] EntryPoint="?getLibraryDirs@ParserOptions@CppParser@CppSharp@@QAEPBDI@Z")]
@ -194,6 +209,11 @@ namespace CppSharp
EntryPoint="?getDefinesCount@ParserOptions@CppParser@CppSharp@@QAEIXZ")] EntryPoint="?getDefinesCount@ParserOptions@CppParser@CppSharp@@QAEIXZ")]
internal static extern uint getDefinesCount_0(global::System.IntPtr instance); internal static extern uint getDefinesCount_0(global::System.IntPtr instance);
[SuppressUnmanagedCodeSecurity]
[DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall,
EntryPoint="?getUndefinesCount@ParserOptions@CppParser@CppSharp@@QAEIXZ")]
internal static extern uint getUndefinesCount_0(global::System.IntPtr instance);
[SuppressUnmanagedCodeSecurity] [SuppressUnmanagedCodeSecurity]
[DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall,
EntryPoint="?getLibraryDirsCount@ParserOptions@CppParser@CppSharp@@QAEIXZ")] EntryPoint="?getLibraryDirsCount@ParserOptions@CppParser@CppSharp@@QAEIXZ")]
@ -219,7 +239,7 @@ namespace CppSharp
private static global::System.IntPtr __CopyValue(ParserOptions.Internal native) private static global::System.IntPtr __CopyValue(ParserOptions.Internal native)
{ {
var ret = Marshal.AllocHGlobal(128); var ret = Marshal.AllocHGlobal(140);
CppSharp.Parser.ParserOptions.Internal.cctor_2(ret, new global::System.IntPtr(&native)); CppSharp.Parser.ParserOptions.Internal.cctor_2(ret, new global::System.IntPtr(&native));
return ret; return ret;
} }
@ -236,7 +256,7 @@ namespace CppSharp
public ParserOptions() public ParserOptions()
{ {
__Instance = Marshal.AllocHGlobal(128); __Instance = Marshal.AllocHGlobal(140);
Internal.ctor_0(__Instance); Internal.ctor_0(__Instance);
} }
@ -328,6 +348,25 @@ namespace CppSharp
Internal.clearDefines_0(__Instance); Internal.clearDefines_0(__Instance);
} }
public string getUndefines(uint i)
{
var __ret = Internal.getUndefines_0(__Instance, i);
if (__ret == global::System.IntPtr.Zero) return null;
return Marshal.PtrToStringAnsi(__ret);
}
public void addUndefines(string s)
{
var arg0 = Marshal.StringToHGlobalAnsi(s);
Internal.addUndefines_0(__Instance, arg0);
Marshal.FreeHGlobal(arg0);
}
public void clearUndefines()
{
Internal.clearUndefines_0(__Instance);
}
public string getLibraryDirs(uint i) public string getLibraryDirs(uint i)
{ {
var __ret = Internal.getLibraryDirs_0(__Instance, i); var __ret = Internal.getLibraryDirs_0(__Instance, i);
@ -400,6 +439,15 @@ namespace CppSharp
} }
} }
public uint UndefinesCount
{
get
{
var __ret = Internal.getUndefinesCount_0(__Instance);
return __ret;
}
}
public uint LibraryDirsCount public uint LibraryDirsCount
{ {
get get

70
src/CppParser/Bindings/CSharp/x86_64-linux-gnu/CppParser.cs

@ -47,31 +47,31 @@ namespace CppSharp
public unsafe partial class ParserOptions : IDisposable public unsafe partial class ParserOptions : IDisposable
{ {
[StructLayout(LayoutKind.Explicit, Size = 168)] [StructLayout(LayoutKind.Explicit, Size = 192)]
public partial struct Internal public partial struct Internal
{ {
[FieldOffset(128)] [FieldOffset(152)]
public global::System.IntPtr ASTContext; public global::System.IntPtr ASTContext;
[FieldOffset(136)] [FieldOffset(160)]
public int ToolSetToUse; public int ToolSetToUse;
[FieldOffset(152)] [FieldOffset(176)]
public CppSharp.Parser.AST.CppAbi Abi; public CppSharp.Parser.AST.CppAbi Abi;
[FieldOffset(156)] [FieldOffset(180)]
public bool NoStandardIncludes; public bool NoStandardIncludes;
[FieldOffset(157)] [FieldOffset(181)]
public bool NoBuiltinIncludes; public bool NoBuiltinIncludes;
[FieldOffset(158)] [FieldOffset(182)]
public bool MicrosoftMode; public bool MicrosoftMode;
[FieldOffset(159)] [FieldOffset(183)]
public bool Verbose; public bool Verbose;
[FieldOffset(160)] [FieldOffset(184)]
public CppSharp.Parser.LanguageVersion LanguageVersion; public CppSharp.Parser.LanguageVersion LanguageVersion;
[SuppressUnmanagedCodeSecurity] [SuppressUnmanagedCodeSecurity]
@ -149,6 +149,21 @@ namespace CppSharp
EntryPoint="_ZN8CppSharp9CppParser13ParserOptions12clearDefinesEv")] EntryPoint="_ZN8CppSharp9CppParser13ParserOptions12clearDefinesEv")]
internal static extern void clearDefines_0(global::System.IntPtr instance); internal static extern void clearDefines_0(global::System.IntPtr instance);
[SuppressUnmanagedCodeSecurity]
[DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl,
EntryPoint="_ZN8CppSharp9CppParser13ParserOptions12getUndefinesEj")]
internal static extern global::System.IntPtr getUndefines_0(global::System.IntPtr instance, uint i);
[SuppressUnmanagedCodeSecurity]
[DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl,
EntryPoint="_ZN8CppSharp9CppParser13ParserOptions12addUndefinesEPKc")]
internal static extern void addUndefines_0(global::System.IntPtr instance, global::System.IntPtr s);
[SuppressUnmanagedCodeSecurity]
[DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl,
EntryPoint="_ZN8CppSharp9CppParser13ParserOptions14clearUndefinesEv")]
internal static extern void clearUndefines_0(global::System.IntPtr instance);
[SuppressUnmanagedCodeSecurity] [SuppressUnmanagedCodeSecurity]
[DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl,
EntryPoint="_ZN8CppSharp9CppParser13ParserOptions14getLibraryDirsEj")] EntryPoint="_ZN8CppSharp9CppParser13ParserOptions14getLibraryDirsEj")]
@ -194,6 +209,11 @@ namespace CppSharp
EntryPoint="_ZN8CppSharp9CppParser13ParserOptions15getDefinesCountEv")] EntryPoint="_ZN8CppSharp9CppParser13ParserOptions15getDefinesCountEv")]
internal static extern uint getDefinesCount_0(global::System.IntPtr instance); internal static extern uint getDefinesCount_0(global::System.IntPtr instance);
[SuppressUnmanagedCodeSecurity]
[DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl,
EntryPoint="_ZN8CppSharp9CppParser13ParserOptions17getUndefinesCountEv")]
internal static extern uint getUndefinesCount_0(global::System.IntPtr instance);
[SuppressUnmanagedCodeSecurity] [SuppressUnmanagedCodeSecurity]
[DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl,
EntryPoint="_ZN8CppSharp9CppParser13ParserOptions19getLibraryDirsCountEv")] EntryPoint="_ZN8CppSharp9CppParser13ParserOptions19getLibraryDirsCountEv")]
@ -219,7 +239,7 @@ namespace CppSharp
private static global::System.IntPtr __CopyValue(ParserOptions.Internal native) private static global::System.IntPtr __CopyValue(ParserOptions.Internal native)
{ {
var ret = Marshal.AllocHGlobal(168); var ret = Marshal.AllocHGlobal(192);
CppSharp.Parser.ParserOptions.Internal.cctor_1(ret, new global::System.IntPtr(&native)); CppSharp.Parser.ParserOptions.Internal.cctor_1(ret, new global::System.IntPtr(&native));
return ret; return ret;
} }
@ -236,7 +256,7 @@ namespace CppSharp
public ParserOptions() public ParserOptions()
{ {
__Instance = Marshal.AllocHGlobal(168); __Instance = Marshal.AllocHGlobal(192);
Internal.ctor_0(__Instance); Internal.ctor_0(__Instance);
} }
@ -328,6 +348,25 @@ namespace CppSharp
Internal.clearDefines_0(__Instance); Internal.clearDefines_0(__Instance);
} }
public string getUndefines(uint i)
{
var __ret = Internal.getUndefines_0(__Instance, i);
if (__ret == global::System.IntPtr.Zero) return null;
return Marshal.PtrToStringAnsi(__ret);
}
public void addUndefines(string s)
{
var arg0 = Marshal.StringToHGlobalAnsi(s);
Internal.addUndefines_0(__Instance, arg0);
Marshal.FreeHGlobal(arg0);
}
public void clearUndefines()
{
Internal.clearUndefines_0(__Instance);
}
public string getLibraryDirs(uint i) public string getLibraryDirs(uint i)
{ {
var __ret = Internal.getLibraryDirs_0(__Instance, i); var __ret = Internal.getLibraryDirs_0(__Instance, i);
@ -400,6 +439,15 @@ namespace CppSharp
} }
} }
public uint UndefinesCount
{
get
{
var __ret = Internal.getUndefinesCount_0(__Instance);
return __ret;
}
}
public uint LibraryDirsCount public uint LibraryDirsCount
{ {
get get

1
src/CppParser/CppParser.cpp

@ -27,6 +27,7 @@ DEF_STRING(ParserOptions, FileName)
DEF_VECTOR_STRING(ParserOptions, IncludeDirs) DEF_VECTOR_STRING(ParserOptions, IncludeDirs)
DEF_VECTOR_STRING(ParserOptions, SystemIncludeDirs) DEF_VECTOR_STRING(ParserOptions, SystemIncludeDirs)
DEF_VECTOR_STRING(ParserOptions, Defines) DEF_VECTOR_STRING(ParserOptions, Defines)
DEF_VECTOR_STRING(ParserOptions, Undefines)
DEF_VECTOR_STRING(ParserOptions, LibraryDirs) DEF_VECTOR_STRING(ParserOptions, LibraryDirs)
DEF_STRING(ParserOptions, TargetTriple) DEF_STRING(ParserOptions, TargetTriple)
DEF_STRING(ParserTargetInfo, ABI) DEF_STRING(ParserTargetInfo, ABI)

1
src/CppParser/CppParser.h

@ -44,6 +44,7 @@ struct CS_API ParserOptions
VECTOR_STRING(IncludeDirs) VECTOR_STRING(IncludeDirs)
VECTOR_STRING(SystemIncludeDirs) VECTOR_STRING(SystemIncludeDirs)
VECTOR_STRING(Defines) VECTOR_STRING(Defines)
VECTOR_STRING(Undefines)
VECTOR_STRING(LibraryDirs) VECTOR_STRING(LibraryDirs)
CppSharp::CppParser::AST::ASTContext* ASTContext; CppSharp::CppParser::AST::ASTContext* ASTContext;

6
src/CppParser/Parser.cpp

@ -206,6 +206,12 @@ void Parser::SetupHeader()
PPOpts.addMacroDef(define); PPOpts.addMacroDef(define);
} }
for (unsigned I = 0, E = Opts->Undefines.size(); I != E; ++I)
{
const String& undefine = Opts->Undefines[I];
PPOpts.addMacroUndef(undefine);
}
// Initialize the default platform headers. // Initialize the default platform headers.
HSOpts.ResourceDir = GetClangResourceDir("."); HSOpts.ResourceDir = GetClangResourceDir(".");
HSOpts.AddPath(GetClangBuiltinIncludeDir(), clang::frontend::System, HSOpts.AddPath(GetClangBuiltinIncludeDir(), clang::frontend::System,

6
src/Generator/Driver.cs

@ -157,6 +157,12 @@ namespace CppSharp
options.addDefines(define); options.addDefines(define);
} }
for (uint i = 0; i < Options.UndefinesCount; ++i)
{
var define = Options.getUndefines(i);
options.addUndefines(define);
}
for (uint i = 0; i < Options.LibraryDirsCount; ++i) for (uint i = 0; i < Options.LibraryDirsCount; ++i)
{ {
var lib = Options.getLibraryDirs(i); var lib = Options.getLibraryDirs(i);

Loading…
Cancel
Save