Browse Source

Merge pull request #296 from ddobrev/master

Added an option for the language version
pull/297/head
João Matos 12 years ago
parent
commit
10d9384cca
  1. 10
      src/CppParser/Bindings/CLI/CppParser.cpp
  2. 17
      src/CppParser/Bindings/CLI/CppParser.h
  3. 110
      src/CppParser/Bindings/CSharp/i686-apple-darwin12.4.0/AST.cs
  4. 40
      src/CppParser/Bindings/CSharp/i686-apple-darwin12.4.0/CppParser.cs
  5. 2
      src/CppParser/Bindings/CSharp/i686-apple-darwin12.4.0/Sources.cs
  6. 2
      src/CppParser/Bindings/CSharp/i686-apple-darwin12.4.0/Target.cs
  7. 32
      src/CppParser/Bindings/CSharp/i686-pc-win32-msvc/CppParser.cs
  8. 32
      src/CppParser/Bindings/CSharp/x86_64-linux-gnu/CppParser.cs
  9. 1
      src/CppParser/CppParser.cpp
  10. 17
      src/CppParser/CppParser.h
  11. 13
      src/CppParser/Parser.cpp
  12. 1
      src/Generator/Driver.cs

10
src/CppParser/Bindings/CLI/CppParser.cpp

@ -254,6 +254,16 @@ void CppSharp::Parser::ParserOptions::Verbose::set(bool value) @@ -254,6 +254,16 @@ void CppSharp::Parser::ParserOptions::Verbose::set(bool value)
((::CppSharp::CppParser::ParserOptions*)NativePtr)->Verbose = value;
}
CppSharp::Parser::LanguageVersion CppSharp::Parser::ParserOptions::LanguageVersion::get()
{
return (CppSharp::Parser::LanguageVersion)((::CppSharp::CppParser::ParserOptions*)NativePtr)->LanguageVersion;
}
void CppSharp::Parser::ParserOptions::LanguageVersion::set(CppSharp::Parser::LanguageVersion value)
{
((::CppSharp::CppParser::ParserOptions*)NativePtr)->LanguageVersion = (::CppSharp::CppParser::LanguageVersion)value;
}
CppSharp::Parser::ParserDiagnostic::ParserDiagnostic(::CppSharp::CppParser::ParserDiagnostic* native)
{
NativePtr = native;

17
src/CppParser/Bindings/CLI/CppParser.h

@ -7,6 +7,7 @@ namespace CppSharp @@ -7,6 +7,7 @@ namespace CppSharp
{
namespace Parser
{
enum struct LanguageVersion;
enum struct ParserDiagnosticLevel;
enum struct ParserResultKind;
enum struct SourceLocationKind;
@ -29,6 +30,16 @@ namespace CppSharp @@ -29,6 +30,16 @@ namespace CppSharp
{
namespace Parser
{
public enum struct LanguageVersion
{
/// <summary> The C programming language. </summary>
C = 0,
/// <summary> The C++ programming language year 1998; supports deprecated constructs. </summary>
CPlusPlus98 = 1,
/// <summary> The C++ programming language year 2011. </summary>
CPlusPlus11 = 2
};
public enum struct ParserDiagnosticLevel
{
Ignored = 0,
@ -148,6 +159,12 @@ namespace CppSharp @@ -148,6 +159,12 @@ namespace CppSharp
void set(bool);
}
property CppSharp::Parser::LanguageVersion LanguageVersion
{
CppSharp::Parser::LanguageVersion get();
void set(CppSharp::Parser::LanguageVersion);
}
System::String^ getArguments(unsigned int i);
void addArguments(System::String^ s);

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

@ -217,7 +217,7 @@ namespace CppSharp @@ -217,7 +217,7 @@ namespace CppSharp
public unsafe partial class Type : IDisposable
{
[StructLayout(LayoutKind.Explicit, Size = 8)]
public struct Internal
public partial struct Internal
{
[FieldOffset(0)]
public CppSharp.Parser.AST.TypeKind Kind;
@ -305,7 +305,7 @@ namespace CppSharp @@ -305,7 +305,7 @@ namespace CppSharp
public unsafe partial class TypeQualifiers : IDisposable
{
[StructLayout(LayoutKind.Explicit, Size = 3)]
public struct Internal
public partial struct Internal
{
[FieldOffset(0)]
public bool IsConst;
@ -404,7 +404,7 @@ namespace CppSharp @@ -404,7 +404,7 @@ namespace CppSharp
public unsafe partial class QualifiedType : IDisposable
{
[StructLayout(LayoutKind.Explicit, Size = 8)]
public struct Internal
public partial struct Internal
{
[FieldOffset(0)]
public global::System.IntPtr Type;
@ -493,7 +493,7 @@ namespace CppSharp @@ -493,7 +493,7 @@ namespace CppSharp
public unsafe partial class TagType : CppSharp.Parser.AST.Type, IDisposable
{
[StructLayout(LayoutKind.Explicit, Size = 12)]
public new struct Internal
public new partial struct Internal
{
[FieldOffset(0)]
public CppSharp.Parser.AST.TypeKind Kind;
@ -561,7 +561,7 @@ namespace CppSharp @@ -561,7 +561,7 @@ namespace CppSharp
public unsafe partial class ArrayType : CppSharp.Parser.AST.Type, IDisposable
{
[StructLayout(LayoutKind.Explicit, Size = 24)]
public new struct Internal
public new partial struct Internal
{
[FieldOffset(0)]
public CppSharp.Parser.AST.TypeKind Kind;
@ -675,7 +675,7 @@ namespace CppSharp @@ -675,7 +675,7 @@ namespace CppSharp
public unsafe partial class FunctionType : CppSharp.Parser.AST.Type, IDisposable
{
[StructLayout(LayoutKind.Explicit, Size = 32)]
public new struct Internal
public new partial struct Internal
{
[FieldOffset(0)]
public CppSharp.Parser.AST.TypeKind Kind;
@ -815,7 +815,7 @@ namespace CppSharp @@ -815,7 +815,7 @@ namespace CppSharp
public unsafe partial class PointerType : CppSharp.Parser.AST.Type, IDisposable
{
[StructLayout(LayoutKind.Explicit, Size = 20)]
public new struct Internal
public new partial struct Internal
{
[FieldOffset(0)]
public CppSharp.Parser.AST.TypeKind Kind;
@ -911,7 +911,7 @@ namespace CppSharp @@ -911,7 +911,7 @@ namespace CppSharp
public unsafe partial class MemberPointerType : CppSharp.Parser.AST.Type, IDisposable
{
[StructLayout(LayoutKind.Explicit, Size = 16)]
public new struct Internal
public new partial struct Internal
{
[FieldOffset(0)]
public CppSharp.Parser.AST.TypeKind Kind;
@ -981,7 +981,7 @@ namespace CppSharp @@ -981,7 +981,7 @@ namespace CppSharp
public unsafe partial class TypedefType : CppSharp.Parser.AST.Type, IDisposable
{
[StructLayout(LayoutKind.Explicit, Size = 12)]
public new struct Internal
public new partial struct Internal
{
[FieldOffset(0)]
public CppSharp.Parser.AST.TypeKind Kind;
@ -1049,7 +1049,7 @@ namespace CppSharp @@ -1049,7 +1049,7 @@ namespace CppSharp
public unsafe partial class AttributedType : CppSharp.Parser.AST.Type, IDisposable
{
[StructLayout(LayoutKind.Explicit, Size = 24)]
public new struct Internal
public new partial struct Internal
{
[FieldOffset(0)]
public CppSharp.Parser.AST.TypeKind Kind;
@ -1139,7 +1139,7 @@ namespace CppSharp @@ -1139,7 +1139,7 @@ namespace CppSharp
public unsafe partial class DecayedType : CppSharp.Parser.AST.Type, IDisposable
{
[StructLayout(LayoutKind.Explicit, Size = 32)]
public new struct Internal
public new partial struct Internal
{
[FieldOffset(0)]
public CppSharp.Parser.AST.TypeKind Kind;
@ -1249,7 +1249,7 @@ namespace CppSharp @@ -1249,7 +1249,7 @@ namespace CppSharp
public unsafe partial class TemplateArgument : IDisposable
{
[StructLayout(LayoutKind.Explicit, Size = 20)]
public struct Internal
public partial struct Internal
{
[FieldOffset(0)]
public CppSharp.Parser.AST.TemplateArgument.ArgumentKind Kind;
@ -1386,7 +1386,7 @@ namespace CppSharp @@ -1386,7 +1386,7 @@ namespace CppSharp
public unsafe partial class TemplateSpecializationType : CppSharp.Parser.AST.Type, IDisposable
{
[StructLayout(LayoutKind.Explicit, Size = 28)]
public new struct Internal
public new partial struct Internal
{
[FieldOffset(0)]
public CppSharp.Parser.AST.TypeKind Kind;
@ -1526,7 +1526,7 @@ namespace CppSharp @@ -1526,7 +1526,7 @@ namespace CppSharp
public unsafe partial class TemplateParameter : IDisposable
{
[StructLayout(LayoutKind.Explicit, Size = 16)]
public struct Internal
public partial struct Internal
{
[FieldOffset(12)]
public bool IsTypeParameter;
@ -1647,7 +1647,7 @@ namespace CppSharp @@ -1647,7 +1647,7 @@ namespace CppSharp
public unsafe partial class TemplateParameterType : CppSharp.Parser.AST.Type, IDisposable
{
[StructLayout(LayoutKind.Explicit, Size = 36)]
public new struct Internal
public new partial struct Internal
{
[FieldOffset(0)]
public CppSharp.Parser.AST.TypeKind Kind;
@ -1776,7 +1776,7 @@ namespace CppSharp @@ -1776,7 +1776,7 @@ namespace CppSharp
public unsafe partial class TemplateParameterSubstitutionType : CppSharp.Parser.AST.Type, IDisposable
{
[StructLayout(LayoutKind.Explicit, Size = 16)]
public new struct Internal
public new partial struct Internal
{
[FieldOffset(0)]
public CppSharp.Parser.AST.TypeKind Kind;
@ -1846,7 +1846,7 @@ namespace CppSharp @@ -1846,7 +1846,7 @@ namespace CppSharp
public unsafe partial class InjectedClassNameType : CppSharp.Parser.AST.Type, IDisposable
{
[StructLayout(LayoutKind.Explicit, Size = 16)]
public new struct Internal
public new partial struct Internal
{
[FieldOffset(0)]
public CppSharp.Parser.AST.TypeKind Kind;
@ -1932,7 +1932,7 @@ namespace CppSharp @@ -1932,7 +1932,7 @@ namespace CppSharp
public unsafe partial class DependentNameType : CppSharp.Parser.AST.Type, IDisposable
{
[StructLayout(LayoutKind.Explicit, Size = 8)]
public new struct Internal
public new partial struct Internal
{
[FieldOffset(0)]
public CppSharp.Parser.AST.TypeKind Kind;
@ -1982,7 +1982,7 @@ namespace CppSharp @@ -1982,7 +1982,7 @@ namespace CppSharp
public unsafe partial class PackExpansionType : CppSharp.Parser.AST.Type, IDisposable
{
[StructLayout(LayoutKind.Explicit, Size = 8)]
public new struct Internal
public new partial struct Internal
{
[FieldOffset(0)]
public CppSharp.Parser.AST.TypeKind Kind;
@ -2032,7 +2032,7 @@ namespace CppSharp @@ -2032,7 +2032,7 @@ namespace CppSharp
public unsafe partial class BuiltinType : CppSharp.Parser.AST.Type, IDisposable
{
[StructLayout(LayoutKind.Explicit, Size = 12)]
public new struct Internal
public new partial struct Internal
{
[FieldOffset(0)]
public CppSharp.Parser.AST.TypeKind Kind;
@ -2100,7 +2100,7 @@ namespace CppSharp @@ -2100,7 +2100,7 @@ namespace CppSharp
public unsafe partial class VTableComponent : IDisposable
{
[StructLayout(LayoutKind.Explicit, Size = 12)]
public struct Internal
public partial struct Internal
{
[FieldOffset(0)]
public CppSharp.Parser.AST.VTableComponentKind Kind;
@ -2205,7 +2205,7 @@ namespace CppSharp @@ -2205,7 +2205,7 @@ namespace CppSharp
public unsafe partial class VTableLayout : IDisposable
{
[StructLayout(LayoutKind.Explicit, Size = 12)]
public struct Internal
public partial struct Internal
{
[SuppressUnmanagedCodeSecurity]
[DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl,
@ -2311,7 +2311,7 @@ namespace CppSharp @@ -2311,7 +2311,7 @@ namespace CppSharp
public unsafe partial class VFTableInfo : IDisposable
{
[StructLayout(LayoutKind.Explicit, Size = 28)]
public struct Internal
public partial struct Internal
{
[FieldOffset(0)]
public ulong VBTableIndex;
@ -2442,7 +2442,7 @@ namespace CppSharp @@ -2442,7 +2442,7 @@ namespace CppSharp
public unsafe partial class ClassLayout : IDisposable
{
[StructLayout(LayoutKind.Explicit, Size = 48)]
public struct Internal
public partial struct Internal
{
[FieldOffset(0)]
public CppSharp.Parser.AST.CppAbi ABI;
@ -2676,7 +2676,7 @@ namespace CppSharp @@ -2676,7 +2676,7 @@ namespace CppSharp
public unsafe partial class Declaration : IDisposable
{
[StructLayout(LayoutKind.Explicit, Size = 84)]
public struct Internal
public partial struct Internal
{
[FieldOffset(0)]
public CppSharp.Parser.AST.DeclarationKind Kind;
@ -3015,7 +3015,7 @@ namespace CppSharp @@ -3015,7 +3015,7 @@ namespace CppSharp
public unsafe partial class DeclarationContext : CppSharp.Parser.AST.Declaration, IDisposable
{
[StructLayout(LayoutKind.Explicit, Size = 184)]
public new struct Internal
public new partial struct Internal
{
[FieldOffset(0)]
public CppSharp.Parser.AST.DeclarationKind Kind;
@ -3442,7 +3442,7 @@ namespace CppSharp @@ -3442,7 +3442,7 @@ namespace CppSharp
public unsafe partial class TypedefDecl : CppSharp.Parser.AST.Declaration, IDisposable
{
[StructLayout(LayoutKind.Explicit, Size = 92)]
public new struct Internal
public new partial struct Internal
{
[FieldOffset(0)]
public CppSharp.Parser.AST.DeclarationKind Kind;
@ -3541,7 +3541,7 @@ namespace CppSharp @@ -3541,7 +3541,7 @@ namespace CppSharp
public unsafe partial class Statement : IDisposable
{
[StructLayout(LayoutKind.Explicit, Size = 20)]
public struct Internal
public partial struct Internal
{
[FieldOffset(0)]
public CppSharp.Parser.AST.StatementClass Class;
@ -3655,7 +3655,7 @@ namespace CppSharp @@ -3655,7 +3655,7 @@ namespace CppSharp
public unsafe partial class Expression : CppSharp.Parser.AST.Statement, IDisposable
{
[StructLayout(LayoutKind.Explicit, Size = 20)]
public new struct Internal
public new partial struct Internal
{
[FieldOffset(0)]
public CppSharp.Parser.AST.StatementClass Class;
@ -3703,7 +3703,7 @@ namespace CppSharp @@ -3703,7 +3703,7 @@ namespace CppSharp
public unsafe partial class Parameter : CppSharp.Parser.AST.Declaration, IDisposable
{
[StructLayout(LayoutKind.Explicit, Size = 104)]
public new struct Internal
public new partial struct Internal
{
[FieldOffset(0)]
public CppSharp.Parser.AST.DeclarationKind Kind;
@ -3874,7 +3874,7 @@ namespace CppSharp @@ -3874,7 +3874,7 @@ namespace CppSharp
public unsafe partial class Function : CppSharp.Parser.AST.Declaration, IDisposable
{
[StructLayout(LayoutKind.Explicit, Size = 148)]
public new struct Internal
public new partial struct Internal
{
[FieldOffset(0)]
public CppSharp.Parser.AST.DeclarationKind Kind;
@ -4218,7 +4218,7 @@ namespace CppSharp @@ -4218,7 +4218,7 @@ namespace CppSharp
public unsafe partial class Method : CppSharp.Parser.AST.Function, IDisposable
{
[StructLayout(LayoutKind.Explicit, Size = 176)]
public new struct Internal
public new partial struct Internal
{
[FieldOffset(0)]
public CppSharp.Parser.AST.DeclarationKind Kind;
@ -4542,7 +4542,7 @@ namespace CppSharp @@ -4542,7 +4542,7 @@ namespace CppSharp
public unsafe partial class Enumeration : CppSharp.Parser.AST.DeclarationContext, IDisposable
{
[StructLayout(LayoutKind.Explicit, Size = 208)]
public new struct Internal
public new partial struct Internal
{
[FieldOffset(0)]
public CppSharp.Parser.AST.DeclarationKind Kind;
@ -4633,7 +4633,7 @@ namespace CppSharp @@ -4633,7 +4633,7 @@ namespace CppSharp
public unsafe partial class Item : CppSharp.Parser.AST.Declaration, IDisposable
{
[StructLayout(LayoutKind.Explicit, Size = 104)]
public new struct Internal
public new partial struct Internal
{
[FieldOffset(0)]
public CppSharp.Parser.AST.DeclarationKind Kind;
@ -4859,7 +4859,7 @@ namespace CppSharp @@ -4859,7 +4859,7 @@ namespace CppSharp
public unsafe partial class Variable : CppSharp.Parser.AST.Declaration, IDisposable
{
[StructLayout(LayoutKind.Explicit, Size = 104)]
public new struct Internal
public new partial struct Internal
{
[FieldOffset(0)]
public CppSharp.Parser.AST.DeclarationKind Kind;
@ -4985,7 +4985,7 @@ namespace CppSharp @@ -4985,7 +4985,7 @@ namespace CppSharp
public unsafe partial class BaseClassSpecifier : IDisposable
{
[StructLayout(LayoutKind.Explicit, Size = 12)]
public struct Internal
public partial struct Internal
{
[FieldOffset(0)]
public CppSharp.Parser.AST.AccessSpecifier Access;
@ -5090,7 +5090,7 @@ namespace CppSharp @@ -5090,7 +5090,7 @@ namespace CppSharp
public unsafe partial class Field : CppSharp.Parser.AST.Declaration, IDisposable
{
[StructLayout(LayoutKind.Explicit, Size = 100)]
public new struct Internal
public new partial struct Internal
{
[FieldOffset(0)]
public CppSharp.Parser.AST.DeclarationKind Kind;
@ -5225,7 +5225,7 @@ namespace CppSharp @@ -5225,7 +5225,7 @@ namespace CppSharp
public unsafe partial class AccessSpecifierDecl : CppSharp.Parser.AST.Declaration, IDisposable
{
[StructLayout(LayoutKind.Explicit, Size = 84)]
public new struct Internal
public new partial struct Internal
{
[FieldOffset(0)]
public CppSharp.Parser.AST.DeclarationKind Kind;
@ -5304,7 +5304,7 @@ namespace CppSharp @@ -5304,7 +5304,7 @@ namespace CppSharp
public unsafe partial class Class : CppSharp.Parser.AST.DeclarationContext, IDisposable
{
[StructLayout(LayoutKind.Explicit, Size = 248)]
public new struct Internal
public new partial struct Internal
{
[FieldOffset(0)]
public CppSharp.Parser.AST.DeclarationKind Kind;
@ -5754,7 +5754,7 @@ namespace CppSharp @@ -5754,7 +5754,7 @@ namespace CppSharp
public unsafe partial class Template : CppSharp.Parser.AST.Declaration, IDisposable
{
[StructLayout(LayoutKind.Explicit, Size = 100)]
public new struct Internal
public new partial struct Internal
{
[FieldOffset(0)]
public CppSharp.Parser.AST.DeclarationKind Kind;
@ -5913,7 +5913,7 @@ namespace CppSharp @@ -5913,7 +5913,7 @@ namespace CppSharp
public unsafe partial class ClassTemplate : CppSharp.Parser.AST.Template, IDisposable
{
[StructLayout(LayoutKind.Explicit, Size = 112)]
public new struct Internal
public new partial struct Internal
{
[FieldOffset(0)]
public CppSharp.Parser.AST.DeclarationKind Kind;
@ -6042,7 +6042,7 @@ namespace CppSharp @@ -6042,7 +6042,7 @@ namespace CppSharp
public unsafe partial class ClassTemplateSpecialization : CppSharp.Parser.AST.Class, IDisposable
{
[StructLayout(LayoutKind.Explicit, Size = 268)]
public new struct Internal
public new partial struct Internal
{
[FieldOffset(0)]
public CppSharp.Parser.AST.DeclarationKind Kind;
@ -6239,7 +6239,7 @@ namespace CppSharp @@ -6239,7 +6239,7 @@ namespace CppSharp
public unsafe partial class ClassTemplatePartialSpecialization : CppSharp.Parser.AST.ClassTemplateSpecialization, IDisposable
{
[StructLayout(LayoutKind.Explicit, Size = 268)]
public new struct Internal
public new partial struct Internal
{
[FieldOffset(0)]
public CppSharp.Parser.AST.DeclarationKind Kind;
@ -6357,7 +6357,7 @@ namespace CppSharp @@ -6357,7 +6357,7 @@ namespace CppSharp
public unsafe partial class FunctionTemplate : CppSharp.Parser.AST.Template, IDisposable
{
[StructLayout(LayoutKind.Explicit, Size = 112)]
public new struct Internal
public new partial struct Internal
{
[FieldOffset(0)]
public CppSharp.Parser.AST.DeclarationKind Kind;
@ -6486,7 +6486,7 @@ namespace CppSharp @@ -6486,7 +6486,7 @@ namespace CppSharp
public unsafe partial class FunctionTemplateSpecialization : IDisposable
{
[StructLayout(LayoutKind.Explicit, Size = 24)]
public struct Internal
public partial struct Internal
{
[FieldOffset(0)]
public global::System.IntPtr Template;
@ -6646,7 +6646,7 @@ namespace CppSharp @@ -6646,7 +6646,7 @@ namespace CppSharp
public unsafe partial class Namespace : CppSharp.Parser.AST.DeclarationContext, IDisposable
{
[StructLayout(LayoutKind.Explicit, Size = 184)]
public new struct Internal
public new partial struct Internal
{
[FieldOffset(0)]
public CppSharp.Parser.AST.DeclarationKind Kind;
@ -6746,7 +6746,7 @@ namespace CppSharp @@ -6746,7 +6746,7 @@ namespace CppSharp
public unsafe partial class PreprocessedEntity : CppSharp.Parser.AST.Declaration, IDisposable
{
[StructLayout(LayoutKind.Explicit, Size = 88)]
public new struct Internal
public new partial struct Internal
{
[FieldOffset(0)]
public CppSharp.Parser.AST.DeclarationKind Kind;
@ -6843,7 +6843,7 @@ namespace CppSharp @@ -6843,7 +6843,7 @@ namespace CppSharp
public unsafe partial class MacroDefinition : CppSharp.Parser.AST.PreprocessedEntity, IDisposable
{
[StructLayout(LayoutKind.Explicit, Size = 100)]
public new struct Internal
public new partial struct Internal
{
[FieldOffset(0)]
public CppSharp.Parser.AST.DeclarationKind Kind;
@ -6952,7 +6952,7 @@ namespace CppSharp @@ -6952,7 +6952,7 @@ namespace CppSharp
public unsafe partial class MacroExpansion : CppSharp.Parser.AST.PreprocessedEntity, IDisposable
{
[StructLayout(LayoutKind.Explicit, Size = 104)]
public new struct Internal
public new partial struct Internal
{
[FieldOffset(0)]
public CppSharp.Parser.AST.DeclarationKind Kind;
@ -7079,7 +7079,7 @@ namespace CppSharp @@ -7079,7 +7079,7 @@ namespace CppSharp
public unsafe partial class TranslationUnit : CppSharp.Parser.AST.Namespace, IDisposable
{
[StructLayout(LayoutKind.Explicit, Size = 212)]
public new struct Internal
public new partial struct Internal
{
[FieldOffset(0)]
public CppSharp.Parser.AST.DeclarationKind Kind;
@ -7256,7 +7256,7 @@ namespace CppSharp @@ -7256,7 +7256,7 @@ namespace CppSharp
public unsafe partial class NativeLibrary : IDisposable
{
[StructLayout(LayoutKind.Explicit, Size = 24)]
public struct Internal
public partial struct Internal
{
[SuppressUnmanagedCodeSecurity]
[DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl,
@ -7388,7 +7388,7 @@ namespace CppSharp @@ -7388,7 +7388,7 @@ namespace CppSharp
public unsafe partial class ASTContext : IDisposable
{
[StructLayout(LayoutKind.Explicit, Size = 12)]
public struct Internal
public partial struct Internal
{
[SuppressUnmanagedCodeSecurity]
[DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl,
@ -7492,7 +7492,7 @@ namespace CppSharp @@ -7492,7 +7492,7 @@ namespace CppSharp
public unsafe partial class Comment : IDisposable
{
[StructLayout(LayoutKind.Explicit, Size = 4)]
public struct Internal
public partial struct Internal
{
[FieldOffset(0)]
public CppSharp.Parser.AST.CommentKind Kind;
@ -7562,7 +7562,7 @@ namespace CppSharp @@ -7562,7 +7562,7 @@ namespace CppSharp
public unsafe partial class FullComment : CppSharp.Parser.AST.Comment, IDisposable
{
[StructLayout(LayoutKind.Explicit, Size = 4)]
public new struct Internal
public new partial struct Internal
{
[FieldOffset(0)]
public CppSharp.Parser.AST.CommentKind Kind;
@ -7609,7 +7609,7 @@ namespace CppSharp @@ -7609,7 +7609,7 @@ namespace CppSharp
public unsafe partial class RawComment : IDisposable
{
[StructLayout(LayoutKind.Explicit, Size = 32)]
public struct Internal
public partial struct Internal
{
[FieldOffset(0)]
public CppSharp.Parser.AST.RawCommentKind Kind;

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

@ -10,6 +10,16 @@ namespace CppSharp @@ -10,6 +10,16 @@ namespace CppSharp
{
namespace Parser
{
public enum LanguageVersion
{
/// <summary>The C programming language.</summary>
C = 0,
/// <summary>The C++ programming language year 1998; supports deprecated constructs.</summary>
CPlusPlus98 = 1,
/// <summary>The C++ programming language year 2011.</summary>
CPlusPlus11 = 2
}
public enum ParserDiagnosticLevel
{
Ignored = 0,
@ -37,8 +47,8 @@ namespace CppSharp @@ -37,8 +47,8 @@ namespace CppSharp
public unsafe partial class ParserOptions : IDisposable
{
[StructLayout(LayoutKind.Explicit, Size = 100)]
public struct Internal
[StructLayout(LayoutKind.Explicit, Size = 104)]
public partial struct Internal
{
[FieldOffset(72)]
public global::System.IntPtr ASTContext;
@ -61,6 +71,9 @@ namespace CppSharp @@ -61,6 +71,9 @@ namespace CppSharp
[FieldOffset(99)]
public bool Verbose;
[FieldOffset(100)]
public CppSharp.Parser.LanguageVersion LanguageVersion;
[SuppressUnmanagedCodeSecurity]
[DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl,
EntryPoint="_ZN8CppSharp9CppParser13ParserOptionsC2Ev")]
@ -216,7 +229,7 @@ namespace CppSharp @@ -216,7 +229,7 @@ namespace CppSharp
public ParserOptions()
{
__Instance = Marshal.AllocHGlobal(100);
__Instance = Marshal.AllocHGlobal(104);
Internal.ctor_0(__Instance);
}
@ -510,12 +523,27 @@ namespace CppSharp @@ -510,12 +523,27 @@ namespace CppSharp
__ptr->Verbose = value;
}
}
public CppSharp.Parser.LanguageVersion LanguageVersion
{
get
{
var __ptr = (Internal*)__Instance.ToPointer();
return __ptr->LanguageVersion;
}
set
{
var __ptr = (Internal*)__Instance.ToPointer();
__ptr->LanguageVersion = value;
}
}
}
public unsafe partial class ParserDiagnostic : IDisposable
{
[StructLayout(LayoutKind.Explicit, Size = 36)]
public struct Internal
public partial struct Internal
{
[FieldOffset(24)]
public CppSharp.Parser.ParserDiagnosticLevel Level;
@ -680,7 +708,7 @@ namespace CppSharp @@ -680,7 +708,7 @@ namespace CppSharp
public unsafe partial class ParserResult : IDisposable
{
[StructLayout(LayoutKind.Explicit, Size = 28)]
public struct Internal
public partial struct Internal
{
[FieldOffset(0)]
public CppSharp.Parser.ParserResultKind Kind;
@ -840,7 +868,7 @@ namespace CppSharp @@ -840,7 +868,7 @@ namespace CppSharp
public unsafe partial class ClangParser : IDisposable
{
[StructLayout(LayoutKind.Explicit, Size = 1)]
public struct Internal
public partial struct Internal
{
[SuppressUnmanagedCodeSecurity]
[DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl,

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

@ -13,7 +13,7 @@ namespace CppSharp @@ -13,7 +13,7 @@ namespace CppSharp
public unsafe partial struct SourceLocation
{
[StructLayout(LayoutKind.Explicit, Size = 4)]
public struct Internal
public partial struct Internal
{
[FieldOffset(0)]
public uint ID;

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

@ -28,7 +28,7 @@ namespace CppSharp @@ -28,7 +28,7 @@ namespace CppSharp
public unsafe partial class ParserTargetInfo : IDisposable
{
[StructLayout(LayoutKind.Explicit, Size = 164)]
public struct Internal
public partial struct Internal
{
[FieldOffset(12)]
public CppSharp.Parser.ParserIntType Char16Type;

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

@ -10,6 +10,16 @@ namespace CppSharp @@ -10,6 +10,16 @@ namespace CppSharp
{
namespace Parser
{
public enum LanguageVersion
{
/// <summary>The C programming language.</summary>
C = 0,
/// <summary>The C++ programming language year 1998; supports deprecated constructs.</summary>
CPlusPlus98 = 1,
/// <summary>The C++ programming language year 2011.</summary>
CPlusPlus11 = 2
}
public enum ParserDiagnosticLevel
{
Ignored = 0,
@ -37,7 +47,7 @@ namespace CppSharp @@ -37,7 +47,7 @@ namespace CppSharp
public unsafe partial class ParserOptions : IDisposable
{
[StructLayout(LayoutKind.Explicit, Size = 124)]
[StructLayout(LayoutKind.Explicit, Size = 128)]
public partial struct Internal
{
[FieldOffset(84)]
@ -61,6 +71,9 @@ namespace CppSharp @@ -61,6 +71,9 @@ namespace CppSharp
[FieldOffset(123)]
public bool Verbose;
[FieldOffset(124)]
public CppSharp.Parser.LanguageVersion LanguageVersion;
[SuppressUnmanagedCodeSecurity]
[DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall,
EntryPoint="??0ParserOptions@CppParser@CppSharp@@QAE@XZ")]
@ -216,7 +229,7 @@ namespace CppSharp @@ -216,7 +229,7 @@ namespace CppSharp
public ParserOptions()
{
__Instance = Marshal.AllocHGlobal(124);
__Instance = Marshal.AllocHGlobal(128);
Internal.ctor_0(__Instance);
}
@ -510,6 +523,21 @@ namespace CppSharp @@ -510,6 +523,21 @@ namespace CppSharp
__ptr->Verbose = value;
}
}
public CppSharp.Parser.LanguageVersion LanguageVersion
{
get
{
var __ptr = (Internal*)__Instance.ToPointer();
return __ptr->LanguageVersion;
}
set
{
var __ptr = (Internal*)__Instance.ToPointer();
__ptr->LanguageVersion = value;
}
}
}
public unsafe partial class ParserDiagnostic : IDisposable

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

@ -10,6 +10,16 @@ namespace CppSharp @@ -10,6 +10,16 @@ namespace CppSharp
{
namespace Parser
{
public enum LanguageVersion
{
/// <summary>The C programming language.</summary>
C = 0,
/// <summary>The C++ programming language year 1998; supports deprecated constructs.</summary>
CPlusPlus98 = 1,
/// <summary>The C++ programming language year 2011.</summary>
CPlusPlus11 = 2
}
public enum ParserDiagnosticLevel
{
Ignored = 0,
@ -37,7 +47,7 @@ namespace CppSharp @@ -37,7 +47,7 @@ namespace CppSharp
public unsafe partial class ParserOptions : IDisposable
{
[StructLayout(LayoutKind.Explicit, Size = 160)]
[StructLayout(LayoutKind.Explicit, Size = 168)]
public partial struct Internal
{
[FieldOffset(128)]
@ -61,6 +71,9 @@ namespace CppSharp @@ -61,6 +71,9 @@ namespace CppSharp
[FieldOffset(159)]
public bool Verbose;
[FieldOffset(160)]
public CppSharp.Parser.LanguageVersion LanguageVersion;
[SuppressUnmanagedCodeSecurity]
[DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl,
EntryPoint="_ZN8CppSharp9CppParser13ParserOptionsC2Ev")]
@ -216,7 +229,7 @@ namespace CppSharp @@ -216,7 +229,7 @@ namespace CppSharp
public ParserOptions()
{
__Instance = Marshal.AllocHGlobal(160);
__Instance = Marshal.AllocHGlobal(168);
Internal.ctor_0(__Instance);
}
@ -510,6 +523,21 @@ namespace CppSharp @@ -510,6 +523,21 @@ namespace CppSharp
__ptr->Verbose = value;
}
}
public CppSharp.Parser.LanguageVersion LanguageVersion
{
get
{
var __ptr = (Internal*)__Instance.ToPointer();
return __ptr->LanguageVersion;
}
set
{
var __ptr = (Internal*)__Instance.ToPointer();
__ptr->LanguageVersion = value;
}
}
}
public unsafe partial class ParserDiagnostic : IDisposable

1
src/CppParser/CppParser.cpp

@ -18,6 +18,7 @@ ParserOptions::ParserOptions() @@ -18,6 +18,7 @@ ParserOptions::ParserOptions()
, NoBuiltinIncludes(false)
, MicrosoftMode(false)
, Verbose(false)
, LanguageVersion(LanguageVersion::CPlusPlus11)
{
}

17
src/CppParser/CppParser.h

@ -15,6 +15,22 @@ namespace CppSharp { namespace CppParser { @@ -15,6 +15,22 @@ namespace CppSharp { namespace CppParser {
using namespace CppSharp::CppParser::AST;
enum class LanguageVersion
{
/**
* The C programming language.
*/
C,
/**
* The C++ programming language year 1998; supports deprecated constructs.
*/
CPlusPlus98,
/**
* The C++ programming language year 2011.
*/
CPlusPlus11
};
struct CS_API ParserOptions
{
ParserOptions();
@ -40,6 +56,7 @@ struct CS_API ParserOptions @@ -40,6 +56,7 @@ struct CS_API ParserOptions
bool NoBuiltinIncludes;
bool MicrosoftMode;
bool Verbose;
LanguageVersion LanguageVersion;
};
enum class ParserDiagnosticLevel

13
src/CppParser/Parser.cpp

@ -103,7 +103,18 @@ void Parser::SetupHeader() @@ -103,7 +103,18 @@ void Parser::SetupHeader()
// Enable C++ language mode
args.push_back("-xc++");
args.push_back("-std=gnu++11");
switch (Opts->LanguageVersion)
{
case CppParser::LanguageVersion::C:
args.push_back("-std=c");
break;
case CppParser::LanguageVersion::CPlusPlus98:
args.push_back("-std=gnu++98");
break;
default:
args.push_back("-std=gnu++11");
break;
}
args.push_back("-fno-rtti");
for (unsigned I = 0, E = Opts->Arguments.size(); I != E; ++I)

1
src/Generator/Driver.cs

@ -130,6 +130,7 @@ namespace CppSharp @@ -130,6 +130,7 @@ namespace CppSharp
NoBuiltinIncludes = Options.NoBuiltinIncludes,
MicrosoftMode = Options.MicrosoftMode,
Verbose = Options.Verbose,
LanguageVersion = Options.LanguageVersion
};
for (uint i = 0; i < Options.ArgumentsCount; ++i)

Loading…
Cancel
Save