From 69163d5c382a4c6767b930269c98dd4528ef8418 Mon Sep 17 00:00:00 2001 From: triton Date: Tue, 15 Apr 2014 19:59:24 +0100 Subject: [PATCH 01/14] Re-generated the OSX Darwin parser bindings without copy constructors. --- .../CSharp/i686-apple-darwin12.4.0/AST.cs | 382 ------------------ .../i686-apple-darwin12.4.0/CppParser.cs | 31 +- .../CSharp/i686-apple-darwin12.4.0/Target.cs | 7 - 3 files changed, 2 insertions(+), 418 deletions(-) diff --git a/src/CppParser/Bindings/CSharp/i686-apple-darwin12.4.0/AST.cs b/src/CppParser/Bindings/CSharp/i686-apple-darwin12.4.0/AST.cs index 6b6c3ccb..081d5b15 100644 --- a/src/CppParser/Bindings/CSharp/i686-apple-darwin12.4.0/AST.cs +++ b/src/CppParser/Bindings/CSharp/i686-apple-darwin12.4.0/AST.cs @@ -253,12 +253,6 @@ namespace CppSharp Internal.ctor_0(__Instance, arg0); } - public Type(CppSharp.Parser.AST.Type _0) - { - __Instance = Marshal.AllocHGlobal(8); - *((Type.Internal*) __Instance) = *((Type.Internal*) _0.__Instance); - } - public void Dispose() { Dispose(disposing: true); @@ -338,12 +332,6 @@ namespace CppSharp __Instance = native; } - public TypeQualifiers(CppSharp.Parser.AST.TypeQualifiers _0) - { - __Instance = Marshal.AllocHGlobal(3); - *((TypeQualifiers.Internal*) __Instance) = *((TypeQualifiers.Internal*) _0.__Instance); - } - public TypeQualifiers() { __Instance = Marshal.AllocHGlobal(3); @@ -451,12 +439,6 @@ namespace CppSharp Internal.ctor_0(__Instance); } - public QualifiedType(CppSharp.Parser.AST.QualifiedType _0) - { - __Instance = Marshal.AllocHGlobal(8); - *((QualifiedType.Internal*) __Instance) = *((QualifiedType.Internal*) _0.__Instance); - } - public void Dispose() { Dispose(disposing: true); @@ -548,13 +530,6 @@ namespace CppSharp Internal.ctor_0(__Instance); } - public TagType(CppSharp.Parser.AST.TagType _0) - : this(IntPtr.Zero) - { - __Instance = Marshal.AllocHGlobal(12); - *((TagType.Internal*) __Instance) = *((TagType.Internal*) _0.__Instance); - } - protected override void Dispose(bool disposing) { base.Dispose(disposing); @@ -637,13 +612,6 @@ namespace CppSharp Internal.ctor_0(__Instance); } - public ArrayType(CppSharp.Parser.AST.ArrayType _0) - : this(IntPtr.Zero) - { - __Instance = Marshal.AllocHGlobal(24); - *((ArrayType.Internal*) __Instance) = *((ArrayType.Internal*) _0.__Instance); - } - protected override void Dispose(bool disposing) { base.Dispose(disposing); @@ -770,14 +738,6 @@ namespace CppSharp Internal.ctor_0(__Instance); } - public FunctionType(CppSharp.Parser.AST.FunctionType _0) - : this(IntPtr.Zero) - { - __Instance = Marshal.AllocHGlobal(32); - var arg0 = _0 == (CppSharp.Parser.AST.FunctionType) null ? global::System.IntPtr.Zero : _0.__Instance; - Internal.cctor_2(__Instance, arg0); - } - protected override void Dispose(bool disposing) { base.Dispose(disposing); @@ -896,13 +856,6 @@ namespace CppSharp Internal.ctor_0(__Instance); } - public PointerType(CppSharp.Parser.AST.PointerType _0) - : this(IntPtr.Zero) - { - __Instance = Marshal.AllocHGlobal(20); - *((PointerType.Internal*) __Instance) = *((PointerType.Internal*) _0.__Instance); - } - protected override void Dispose(bool disposing) { base.Dispose(disposing); @@ -988,13 +941,6 @@ namespace CppSharp Internal.ctor_0(__Instance); } - public MemberPointerType(CppSharp.Parser.AST.MemberPointerType _0) - : this(IntPtr.Zero) - { - __Instance = Marshal.AllocHGlobal(16); - *((MemberPointerType.Internal*) __Instance) = *((MemberPointerType.Internal*) _0.__Instance); - } - protected override void Dispose(bool disposing) { base.Dispose(disposing); @@ -1065,13 +1011,6 @@ namespace CppSharp Internal.ctor_0(__Instance); } - public TypedefType(CppSharp.Parser.AST.TypedefType _0) - : this(IntPtr.Zero) - { - __Instance = Marshal.AllocHGlobal(12); - *((TypedefType.Internal*) __Instance) = *((TypedefType.Internal*) _0.__Instance); - } - protected override void Dispose(bool disposing) { base.Dispose(disposing); @@ -1143,13 +1082,6 @@ namespace CppSharp Internal.ctor_0(__Instance); } - public AttributedType(CppSharp.Parser.AST.AttributedType _0) - : this(IntPtr.Zero) - { - __Instance = Marshal.AllocHGlobal(24); - *((AttributedType.Internal*) __Instance) = *((AttributedType.Internal*) _0.__Instance); - } - protected override void Dispose(bool disposing) { base.Dispose(disposing); @@ -1243,13 +1175,6 @@ namespace CppSharp Internal.ctor_0(__Instance); } - public DecayedType(CppSharp.Parser.AST.DecayedType _0) - : this(IntPtr.Zero) - { - __Instance = Marshal.AllocHGlobal(32); - *((DecayedType.Internal*) __Instance) = *((DecayedType.Internal*) _0.__Instance); - } - protected override void Dispose(bool disposing) { base.Dispose(disposing); @@ -1370,12 +1295,6 @@ namespace CppSharp Internal.ctor_0(__Instance); } - public TemplateArgument(CppSharp.Parser.AST.TemplateArgument _0) - { - __Instance = Marshal.AllocHGlobal(20); - *((TemplateArgument.Internal*) __Instance) = *((TemplateArgument.Internal*) _0.__Instance); - } - public void Dispose() { Dispose(disposing: true); @@ -1523,14 +1442,6 @@ namespace CppSharp Internal.ctor_0(__Instance); } - public TemplateSpecializationType(CppSharp.Parser.AST.TemplateSpecializationType _0) - : this(IntPtr.Zero) - { - __Instance = Marshal.AllocHGlobal(28); - var arg0 = _0 == (CppSharp.Parser.AST.TemplateSpecializationType) null ? global::System.IntPtr.Zero : _0.__Instance; - Internal.cctor_2(__Instance, arg0); - } - protected override void Dispose(bool disposing) { base.Dispose(disposing); @@ -1654,13 +1565,6 @@ namespace CppSharp Internal.ctor_1(__Instance); } - public TemplateParameter(CppSharp.Parser.AST.TemplateParameter _0) - { - __Instance = Marshal.AllocHGlobal(12); - var arg0 = _0 == (CppSharp.Parser.AST.TemplateParameter) null ? global::System.IntPtr.Zero : _0.__Instance; - Internal.cctor_2(__Instance, arg0); - } - public void Dispose() { Dispose(disposing: true); @@ -1756,14 +1660,6 @@ namespace CppSharp Internal.ctor_0(__Instance); } - public TemplateParameterType(CppSharp.Parser.AST.TemplateParameterType _0) - : this(IntPtr.Zero) - { - __Instance = Marshal.AllocHGlobal(20); - var arg0 = _0 == (CppSharp.Parser.AST.TemplateParameterType) null ? global::System.IntPtr.Zero : _0.__Instance; - Internal.cctor_1(__Instance, arg0); - } - protected override void Dispose(bool disposing) { base.Dispose(disposing); @@ -1834,13 +1730,6 @@ namespace CppSharp Internal.ctor_0(__Instance); } - public TemplateParameterSubstitutionType(CppSharp.Parser.AST.TemplateParameterSubstitutionType _0) - : this(IntPtr.Zero) - { - __Instance = Marshal.AllocHGlobal(16); - *((TemplateParameterSubstitutionType.Internal*) __Instance) = *((TemplateParameterSubstitutionType.Internal*) _0.__Instance); - } - protected override void Dispose(bool disposing) { base.Dispose(disposing); @@ -1919,14 +1808,6 @@ namespace CppSharp Internal.ctor_0(__Instance); } - public InjectedClassNameType(CppSharp.Parser.AST.InjectedClassNameType _0) - : this(IntPtr.Zero) - { - __Instance = Marshal.AllocHGlobal(40); - var arg0 = _0 == (CppSharp.Parser.AST.InjectedClassNameType) null ? global::System.IntPtr.Zero : _0.__Instance; - Internal.cctor_1(__Instance, arg0); - } - protected override void Dispose(bool disposing) { base.Dispose(disposing); @@ -2009,13 +1890,6 @@ namespace CppSharp Internal.ctor_0(__Instance); } - public DependentNameType(CppSharp.Parser.AST.DependentNameType _0) - : this(IntPtr.Zero) - { - __Instance = Marshal.AllocHGlobal(8); - *((DependentNameType.Internal*) __Instance) = *((DependentNameType.Internal*) _0.__Instance); - } - protected override void Dispose(bool disposing) { base.Dispose(disposing); @@ -2066,13 +1940,6 @@ namespace CppSharp Internal.ctor_0(__Instance); } - public PackExpansionType(CppSharp.Parser.AST.PackExpansionType _0) - : this(IntPtr.Zero) - { - __Instance = Marshal.AllocHGlobal(8); - *((PackExpansionType.Internal*) __Instance) = *((PackExpansionType.Internal*) _0.__Instance); - } - protected override void Dispose(bool disposing) { base.Dispose(disposing); @@ -2126,13 +1993,6 @@ namespace CppSharp Internal.ctor_0(__Instance); } - public BuiltinType(CppSharp.Parser.AST.BuiltinType _0) - : this(IntPtr.Zero) - { - __Instance = Marshal.AllocHGlobal(12); - *((BuiltinType.Internal*) __Instance) = *((BuiltinType.Internal*) _0.__Instance); - } - protected override void Dispose(bool disposing) { base.Dispose(disposing); @@ -2202,12 +2062,6 @@ namespace CppSharp Internal.ctor_0(__Instance); } - public VTableComponent(CppSharp.Parser.AST.VTableComponent _0) - { - __Instance = Marshal.AllocHGlobal(12); - *((VTableComponent.Internal*) __Instance) = *((VTableComponent.Internal*) _0.__Instance); - } - public void Dispose() { Dispose(disposing: true); @@ -2327,13 +2181,6 @@ namespace CppSharp Internal.ctor_0(__Instance); } - public VTableLayout(CppSharp.Parser.AST.VTableLayout _0) - { - __Instance = Marshal.AllocHGlobal(12); - var arg0 = _0 == (CppSharp.Parser.AST.VTableLayout) null ? global::System.IntPtr.Zero : _0.__Instance; - Internal.cctor_2(__Instance, arg0); - } - public void Dispose() { Dispose(disposing: true); @@ -2427,13 +2274,6 @@ namespace CppSharp Internal.ctor_0(__Instance); } - public VFTableInfo(CppSharp.Parser.AST.VFTableInfo _0) - { - __Instance = Marshal.AllocHGlobal(28); - var arg0 = _0 == (CppSharp.Parser.AST.VFTableInfo) null ? global::System.IntPtr.Zero : _0.__Instance; - Internal.cctor_1(__Instance, arg0); - } - public void Dispose() { Dispose(disposing: true); @@ -2592,13 +2432,6 @@ namespace CppSharp Internal.ctor_0(__Instance); } - public ClassLayout(CppSharp.Parser.AST.ClassLayout _0) - { - __Instance = Marshal.AllocHGlobal(48); - var arg0 = _0 == (CppSharp.Parser.AST.ClassLayout) null ? global::System.IntPtr.Zero : _0.__Instance; - Internal.cctor_2(__Instance, arg0); - } - public void Dispose() { Dispose(disposing: true); @@ -2859,13 +2692,6 @@ namespace CppSharp Internal.ctor_0(__Instance, arg0); } - public Declaration(CppSharp.Parser.AST.Declaration _0) - { - __Instance = Marshal.AllocHGlobal(68); - var arg0 = _0 == (CppSharp.Parser.AST.Declaration) null ? global::System.IntPtr.Zero : _0.__Instance; - Internal.cctor_2(__Instance, arg0); - } - public void Dispose() { Dispose(disposing: true); @@ -3281,14 +3107,6 @@ namespace CppSharp Internal.ctor_0(__Instance); } - public DeclarationContext(CppSharp.Parser.AST.DeclarationContext _0) - : this(IntPtr.Zero) - { - __Instance = Marshal.AllocHGlobal(168); - var arg0 = _0 == (CppSharp.Parser.AST.DeclarationContext) null ? global::System.IntPtr.Zero : _0.__Instance; - Internal.cctor_2(__Instance, arg0); - } - protected override void Dispose(bool disposing) { base.Dispose(disposing); @@ -3546,14 +3364,6 @@ namespace CppSharp Internal.ctor_0(__Instance); } - public TypedefDecl(CppSharp.Parser.AST.TypedefDecl _0) - : this(IntPtr.Zero) - { - __Instance = Marshal.AllocHGlobal(76); - var arg0 = _0 == (CppSharp.Parser.AST.TypedefDecl) null ? global::System.IntPtr.Zero : _0.__Instance; - Internal.cctor_1(__Instance, arg0); - } - protected override void Dispose(bool disposing) { base.Dispose(disposing); @@ -3665,14 +3475,6 @@ namespace CppSharp Internal.ctor_0(__Instance); } - public Parameter(CppSharp.Parser.AST.Parameter _0) - : this(IntPtr.Zero) - { - __Instance = Marshal.AllocHGlobal(80); - var arg0 = _0 == (CppSharp.Parser.AST.Parameter) null ? global::System.IntPtr.Zero : _0.__Instance; - Internal.cctor_1(__Instance, arg0); - } - protected override void Dispose(bool disposing) { base.Dispose(disposing); @@ -3873,14 +3675,6 @@ namespace CppSharp Internal.ctor_0(__Instance); } - public Function(CppSharp.Parser.AST.Function _0) - : this(IntPtr.Zero) - { - __Instance = Marshal.AllocHGlobal(128); - var arg0 = _0 == (CppSharp.Parser.AST.Function) null ? global::System.IntPtr.Zero : _0.__Instance; - Internal.cctor_2(__Instance, arg0); - } - protected override void Dispose(bool disposing) { base.Dispose(disposing); @@ -4210,14 +4004,6 @@ namespace CppSharp Internal.ctor_0(__Instance); } - public Method(CppSharp.Parser.AST.Method _0) - : this(IntPtr.Zero) - { - __Instance = Marshal.AllocHGlobal(156); - var arg0 = _0 == (CppSharp.Parser.AST.Method) null ? global::System.IntPtr.Zero : _0.__Instance; - Internal.cctor_1(__Instance, arg0); - } - protected override void Dispose(bool disposing) { base.Dispose(disposing); @@ -4578,14 +4364,6 @@ namespace CppSharp Internal.ctor_0(__Instance); } - public Item(CppSharp.Parser.AST.Enumeration.Item _0) - : this(IntPtr.Zero) - { - __Instance = Marshal.AllocHGlobal(88); - var arg0 = _0 == (CppSharp.Parser.AST.Enumeration.Item) null ? global::System.IntPtr.Zero : _0.__Instance; - Internal.cctor_2(__Instance, arg0); - } - protected override void Dispose(bool disposing) { base.Dispose(disposing); @@ -4646,14 +4424,6 @@ namespace CppSharp Internal.ctor_0(__Instance); } - public Enumeration(CppSharp.Parser.AST.Enumeration _0) - : this(IntPtr.Zero) - { - __Instance = Marshal.AllocHGlobal(92); - var arg0 = _0 == (CppSharp.Parser.AST.Enumeration) null ? global::System.IntPtr.Zero : _0.__Instance; - Internal.cctor_2(__Instance, arg0); - } - protected override void Dispose(bool disposing) { base.Dispose(disposing); @@ -4824,14 +4594,6 @@ namespace CppSharp Internal.ctor_0(__Instance); } - public Variable(CppSharp.Parser.AST.Variable _0) - : this(IntPtr.Zero) - { - __Instance = Marshal.AllocHGlobal(88); - var arg0 = _0 == (CppSharp.Parser.AST.Variable) null ? global::System.IntPtr.Zero : _0.__Instance; - Internal.cctor_2(__Instance, arg0); - } - protected override void Dispose(bool disposing) { base.Dispose(disposing); @@ -4920,12 +4682,6 @@ namespace CppSharp Internal.ctor_0(__Instance); } - public BaseClassSpecifier(CppSharp.Parser.AST.BaseClassSpecifier _0) - { - __Instance = Marshal.AllocHGlobal(12); - *((BaseClassSpecifier.Internal*) __Instance) = *((BaseClassSpecifier.Internal*) _0.__Instance); - } - public void Dispose() { Dispose(disposing: true); @@ -5071,14 +4827,6 @@ namespace CppSharp Internal.ctor_0(__Instance); } - public Field(CppSharp.Parser.AST.Field _0) - : this(IntPtr.Zero) - { - __Instance = Marshal.AllocHGlobal(84); - var arg0 = _0 == (CppSharp.Parser.AST.Field) null ? global::System.IntPtr.Zero : _0.__Instance; - Internal.cctor_1(__Instance, arg0); - } - protected override void Dispose(bool disposing) { base.Dispose(disposing); @@ -5211,14 +4959,6 @@ namespace CppSharp Internal.ctor_0(__Instance); } - public AccessSpecifierDecl(CppSharp.Parser.AST.AccessSpecifierDecl _0) - : this(IntPtr.Zero) - { - __Instance = Marshal.AllocHGlobal(68); - var arg0 = _0 == (CppSharp.Parser.AST.AccessSpecifierDecl) null ? global::System.IntPtr.Zero : _0.__Instance; - Internal.cctor_1(__Instance, arg0); - } - protected override void Dispose(bool disposing) { base.Dispose(disposing); @@ -5433,14 +5173,6 @@ namespace CppSharp Internal.ctor_0(__Instance); } - public Class(CppSharp.Parser.AST.Class _0) - : this(IntPtr.Zero) - { - __Instance = Marshal.AllocHGlobal(232); - var arg0 = _0 == (CppSharp.Parser.AST.Class) null ? global::System.IntPtr.Zero : _0.__Instance; - Internal.cctor_2(__Instance, arg0); - } - protected override void Dispose(bool disposing) { base.Dispose(disposing); @@ -5785,14 +5517,6 @@ namespace CppSharp Internal.ctor_0(__Instance); } - public Template(CppSharp.Parser.AST.Template _0) - : this(IntPtr.Zero) - { - __Instance = Marshal.AllocHGlobal(84); - var arg0 = _0 == (CppSharp.Parser.AST.Template) null ? global::System.IntPtr.Zero : _0.__Instance; - Internal.cctor_2(__Instance, arg0); - } - protected override void Dispose(bool disposing) { base.Dispose(disposing); @@ -5961,14 +5685,6 @@ namespace CppSharp Internal.ctor_0(__Instance); } - public ClassTemplate(CppSharp.Parser.AST.ClassTemplate _0) - : this(IntPtr.Zero) - { - __Instance = Marshal.AllocHGlobal(96); - var arg0 = _0 == (CppSharp.Parser.AST.ClassTemplate) null ? global::System.IntPtr.Zero : _0.__Instance; - Internal.cctor_2(__Instance, arg0); - } - protected override void Dispose(bool disposing) { base.Dispose(disposing); @@ -6201,14 +5917,6 @@ namespace CppSharp Internal.ctor_0(__Instance); } - public ClassTemplateSpecialization(CppSharp.Parser.AST.ClassTemplateSpecialization _0) - : this(IntPtr.Zero) - { - __Instance = Marshal.AllocHGlobal(252); - var arg0 = _0 == (CppSharp.Parser.AST.ClassTemplateSpecialization) null ? global::System.IntPtr.Zero : _0.__Instance; - Internal.cctor_2(__Instance, arg0); - } - protected override void Dispose(bool disposing) { base.Dispose(disposing); @@ -6426,14 +6134,6 @@ namespace CppSharp Internal.ctor_0(__Instance); } - public ClassTemplatePartialSpecialization(CppSharp.Parser.AST.ClassTemplatePartialSpecialization _0) - : this(IntPtr.Zero) - { - __Instance = Marshal.AllocHGlobal(252); - var arg0 = _0 == (CppSharp.Parser.AST.ClassTemplatePartialSpecialization) null ? global::System.IntPtr.Zero : _0.__Instance; - Internal.cctor_1(__Instance, arg0); - } - protected override void Dispose(bool disposing) { base.Dispose(disposing); @@ -6525,14 +6225,6 @@ namespace CppSharp Internal.ctor_0(__Instance); } - public FunctionTemplate(CppSharp.Parser.AST.FunctionTemplate _0) - : this(IntPtr.Zero) - { - __Instance = Marshal.AllocHGlobal(84); - var arg0 = _0 == (CppSharp.Parser.AST.FunctionTemplate) null ? global::System.IntPtr.Zero : _0.__Instance; - Internal.cctor_1(__Instance, arg0); - } - protected override void Dispose(bool disposing) { base.Dispose(disposing); @@ -6648,14 +6340,6 @@ namespace CppSharp Internal.ctor_0(__Instance); } - public Namespace(CppSharp.Parser.AST.Namespace _0) - : this(IntPtr.Zero) - { - __Instance = Marshal.AllocHGlobal(168); - var arg0 = _0 == (CppSharp.Parser.AST.Namespace) null ? global::System.IntPtr.Zero : _0.__Instance; - Internal.cctor_1(__Instance, arg0); - } - protected override void Dispose(bool disposing) { base.Dispose(disposing); @@ -6759,14 +6443,6 @@ namespace CppSharp Internal.ctor_0(__Instance); } - public PreprocessedEntity(CppSharp.Parser.AST.PreprocessedEntity _0) - : this(IntPtr.Zero) - { - __Instance = Marshal.AllocHGlobal(72); - var arg0 = _0 == (CppSharp.Parser.AST.PreprocessedEntity) null ? global::System.IntPtr.Zero : _0.__Instance; - Internal.cctor_1(__Instance, arg0); - } - protected override void Dispose(bool disposing) { base.Dispose(disposing); @@ -6883,14 +6559,6 @@ namespace CppSharp Internal.ctor_0(__Instance); } - public MacroDefinition(CppSharp.Parser.AST.MacroDefinition _0) - : this(IntPtr.Zero) - { - __Instance = Marshal.AllocHGlobal(84); - var arg0 = _0 == (CppSharp.Parser.AST.MacroDefinition) null ? global::System.IntPtr.Zero : _0.__Instance; - Internal.cctor_2(__Instance, arg0); - } - protected override void Dispose(bool disposing) { base.Dispose(disposing); @@ -7012,14 +6680,6 @@ namespace CppSharp Internal.ctor_0(__Instance); } - public MacroExpansion(CppSharp.Parser.AST.MacroExpansion _0) - : this(IntPtr.Zero) - { - __Instance = Marshal.AllocHGlobal(88); - var arg0 = _0 == (CppSharp.Parser.AST.MacroExpansion) null ? global::System.IntPtr.Zero : _0.__Instance; - Internal.cctor_2(__Instance, arg0); - } - protected override void Dispose(bool disposing) { base.Dispose(disposing); @@ -7201,14 +6861,6 @@ namespace CppSharp Internal.ctor_0(__Instance); } - public TranslationUnit(CppSharp.Parser.AST.TranslationUnit _0) - : this(IntPtr.Zero) - { - __Instance = Marshal.AllocHGlobal(196); - var arg0 = _0 == (CppSharp.Parser.AST.TranslationUnit) null ? global::System.IntPtr.Zero : _0.__Instance; - Internal.cctor_2(__Instance, arg0); - } - protected override void Dispose(bool disposing) { base.Dispose(disposing); @@ -7344,13 +6996,6 @@ namespace CppSharp Internal.ctor_1(__Instance); } - public NativeLibrary(CppSharp.Parser.AST.NativeLibrary _0) - { - __Instance = Marshal.AllocHGlobal(24); - var arg0 = _0 == (CppSharp.Parser.AST.NativeLibrary) null ? global::System.IntPtr.Zero : _0.__Instance; - Internal.cctor_2(__Instance, arg0); - } - public void Dispose() { Dispose(disposing: true); @@ -7466,13 +7111,6 @@ namespace CppSharp Internal.ctor_0(__Instance); } - public ASTContext(CppSharp.Parser.AST.ASTContext _0) - { - __Instance = Marshal.AllocHGlobal(12); - var arg0 = _0 == (CppSharp.Parser.AST.ASTContext) null ? global::System.IntPtr.Zero : _0.__Instance; - Internal.cctor_2(__Instance, arg0); - } - public void Dispose() { Dispose(disposing: true); @@ -7551,12 +7189,6 @@ namespace CppSharp Internal.ctor_0(__Instance, arg0); } - public Comment(CppSharp.Parser.AST.Comment _0) - { - __Instance = Marshal.AllocHGlobal(4); - *((Comment.Internal*) __Instance) = *((Comment.Internal*) _0.__Instance); - } - public void Dispose() { Dispose(disposing: true); @@ -7625,13 +7257,6 @@ namespace CppSharp Internal.ctor_0(__Instance); } - public FullComment(CppSharp.Parser.AST.FullComment _0) - : this(IntPtr.Zero) - { - __Instance = Marshal.AllocHGlobal(4); - *((FullComment.Internal*) __Instance) = *((FullComment.Internal*) _0.__Instance); - } - protected override void Dispose(bool disposing) { base.Dispose(disposing); @@ -7714,13 +7339,6 @@ namespace CppSharp Internal.ctor_0(__Instance); } - public RawComment(CppSharp.Parser.AST.RawComment _0) - { - __Instance = Marshal.AllocHGlobal(32); - var arg0 = _0 == (CppSharp.Parser.AST.RawComment) null ? global::System.IntPtr.Zero : _0.__Instance; - Internal.cctor_2(__Instance, arg0); - } - public void Dispose() { Dispose(disposing: true); diff --git a/src/CppParser/Bindings/CSharp/i686-apple-darwin12.4.0/CppParser.cs b/src/CppParser/Bindings/CSharp/i686-apple-darwin12.4.0/CppParser.cs index 50d037b3..606d7b29 100644 --- a/src/CppParser/Bindings/CSharp/i686-apple-darwin12.4.0/CppParser.cs +++ b/src/CppParser/Bindings/CSharp/i686-apple-darwin12.4.0/CppParser.cs @@ -216,13 +216,6 @@ namespace CppSharp Internal.ctor_0(__Instance); } - public ParserOptions(CppSharp.Parser.ParserOptions _0) - { - __Instance = Marshal.AllocHGlobal(100); - var arg0 = _0 == (CppSharp.Parser.ParserOptions) null ? global::System.IntPtr.Zero : _0.__Instance; - Internal.cctor_2(__Instance, arg0); - } - public void Dispose() { Dispose(disposing: true); @@ -513,7 +506,7 @@ namespace CppSharp [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, EntryPoint="_ZN8CppSharp9CppParser16ParserDiagnosticC2Ev")] - internal static extern void ctor_1(global::System.IntPtr instance); + internal static extern void ctor_0(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, @@ -566,14 +559,7 @@ namespace CppSharp public ParserDiagnostic() { __Instance = Marshal.AllocHGlobal(36); - Internal.ctor_1(__Instance); - } - - public ParserDiagnostic(CppSharp.Parser.ParserDiagnostic _0) - { - __Instance = Marshal.AllocHGlobal(36); - var arg0 = _0 == (CppSharp.Parser.ParserDiagnostic) null ? global::System.IntPtr.Zero : _0.__Instance; - Internal.cctor_2(__Instance, arg0); + Internal.ctor_0(__Instance); } public void Dispose() @@ -739,13 +725,6 @@ namespace CppSharp Internal.ctor_0(__Instance); } - public ParserResult(CppSharp.Parser.ParserResult _0) - { - __Instance = Marshal.AllocHGlobal(24); - var arg0 = _0 == (CppSharp.Parser.ParserResult) null ? global::System.IntPtr.Zero : _0.__Instance; - Internal.cctor_2(__Instance, arg0); - } - public void Dispose() { Dispose(disposing: true); @@ -876,12 +855,6 @@ namespace CppSharp __Instance = Marshal.AllocHGlobal(1); } - public ClangParser(CppSharp.Parser.ClangParser _0) - { - __Instance = Marshal.AllocHGlobal(1); - *((ClangParser.Internal*) __Instance) = *((ClangParser.Internal*) _0.__Instance); - } - public void Dispose() { Dispose(disposing: true); diff --git a/src/CppParser/Bindings/CSharp/i686-apple-darwin12.4.0/Target.cs b/src/CppParser/Bindings/CSharp/i686-apple-darwin12.4.0/Target.cs index 42697b40..c0996948 100644 --- a/src/CppParser/Bindings/CSharp/i686-apple-darwin12.4.0/Target.cs +++ b/src/CppParser/Bindings/CSharp/i686-apple-darwin12.4.0/Target.cs @@ -196,13 +196,6 @@ namespace CppSharp Internal.ctor_1(__Instance); } - public ParserTargetInfo(CppSharp.Parser.ParserTargetInfo _0) - { - __Instance = Marshal.AllocHGlobal(164); - var arg0 = _0 == (CppSharp.Parser.ParserTargetInfo) null ? global::System.IntPtr.Zero : _0.__Instance; - Internal.cctor_2(__Instance, arg0); - } - public void Dispose() { Dispose(disposing: true); From aa3e8dd5bda8db9e8ef65f99ccf02d52e42f1d6b Mon Sep 17 00:00:00 2001 From: triton Date: Wed, 16 Apr 2014 01:45:34 +0100 Subject: [PATCH 02/14] Explicitly define some copy constructors to work around missing symbols. We should not need to do this, but Clang ignores the GCC flag "-fkeep-inline-functions" which we need to actually get these to be properly exported in a library... --- src/CppParser/AST.cpp | 14 ++++++++++++++ src/CppParser/AST.h | 9 +++++++++ src/CppParser/CppParser.cpp | 15 +++++++++++++++ src/CppParser/CppParser.h | 3 +++ 4 files changed, 41 insertions(+) diff --git a/src/CppParser/AST.cpp b/src/CppParser/AST.cpp index f5359d0e..bf58c93d 100644 --- a/src/CppParser/AST.cpp +++ b/src/CppParser/AST.cpp @@ -34,6 +34,8 @@ static std::vector split(const T & str, const T & delimiters) { namespace CppSharp { namespace CppParser { namespace AST { Type::Type(TypeKind kind) : Kind(kind) {} +Type::Type(const Type& rhs) : Kind(rhs.Kind), IsDependent(rhs.IsDependent) {} + QualifiedType::QualifiedType() : Type(0) {} TagType::TagType() : Type(TypeKind::Tag) {} @@ -57,9 +59,16 @@ TemplateArgument::TemplateArgument() : Declaration(0) {} TemplateSpecializationType::TemplateSpecializationType() : Type(TypeKind::TemplateSpecialization), Template(0), Desugared(0) {} +TemplateSpecializationType::TemplateSpecializationType( + const TemplateSpecializationType& rhs) : Type(rhs), + Arguments(rhs.Arguments), Template(rhs.Template), Desugared(rhs.Desugared) {} + DEF_VECTOR(TemplateSpecializationType, TemplateArgument, Arguments) // TemplateParameter +TemplateParameter::TemplateParameter() {} +TemplateParameter::TemplateParameter(const TemplateParameter& rhs) : Name(rhs.Name) {} + DEF_STRING(TemplateParameter, Name) TemplateParameterType::TemplateParameterType() : Type(TypeKind::TemplateParameter) {} @@ -80,9 +89,14 @@ VTableComponent::VTableComponent() : Offset(0), Declaration(0) {} // VTableLayout VTableLayout::VTableLayout() {} +VTableLayout::VTableLayout(const VTableLayout& rhs) : Components(rhs.Components) {} + DEF_VECTOR(VTableLayout, VTableComponent, Components) VFTableInfo::VFTableInfo() : VBTableIndex(0), VFPtrOffset(0), VFPtrFullOffset(0) {} +VFTableInfo::VFTableInfo(const VFTableInfo& rhs) : VBTableIndex(rhs.VBTableIndex), + VFPtrOffset(rhs.VFPtrOffset), VFPtrFullOffset(rhs.VFPtrFullOffset), + Layout(rhs.Layout) {} ClassLayout::ClassLayout() : ABI(CppAbi::Itanium), HasOwnVFPtr(false), VBPtrOffset(0), Alignment(0), Size(0), DataSize(0) {} diff --git a/src/CppParser/AST.h b/src/CppParser/AST.h index 3a40cf48..e09632e3 100644 --- a/src/CppParser/AST.h +++ b/src/CppParser/AST.h @@ -38,6 +38,8 @@ enum struct TypeKind struct CS_API Type { Type(TypeKind kind); + Type(const Type&); + TypeKind Kind; bool IsDependent; }; @@ -171,6 +173,8 @@ struct Template; struct CS_API TemplateSpecializationType : public Type { TemplateSpecializationType(); + TemplateSpecializationType(const TemplateSpecializationType&); + VECTOR(TemplateArgument, Arguments) CppSharp::CppParser::AST::Template* Template; Type* Desugared; @@ -178,6 +182,9 @@ struct CS_API TemplateSpecializationType : public Type struct CS_API TemplateParameter { + TemplateParameter(); + TemplateParameter(const TemplateParameter&); + bool operator==(const TemplateParameter& param) const { return Name == param.Name; @@ -278,12 +285,14 @@ struct CS_API VTableComponent struct CS_API VTableLayout { VTableLayout(); + VTableLayout(const VTableLayout&); VECTOR(VTableComponent, Components) }; struct CS_API VFTableInfo { VFTableInfo(); + VFTableInfo(const VFTableInfo&); uint64_t VBTableIndex; uint32_t VFPtrOffset; uint32_t VFPtrFullOffset; diff --git a/src/CppParser/CppParser.cpp b/src/CppParser/CppParser.cpp index 723bcda3..22bcc664 100644 --- a/src/CppParser/CppParser.cpp +++ b/src/CppParser/CppParser.cpp @@ -35,8 +35,23 @@ ParserResult::ParserResult() { } +ParserResult::ParserResult(const ParserResult& rhs) + : Kind(rhs.Kind) + , Diagnostics(rhs.Diagnostics) + , ASTContext(rhs.ASTContext) + , Library(rhs.Library) +{} + ParserDiagnostic::ParserDiagnostic() {} +ParserDiagnostic::ParserDiagnostic(const ParserDiagnostic& rhs) + : FileName(rhs.FileName) + , Message(rhs.Message) + , Level(rhs.Level) + , LineNumber(rhs.LineNumber) + , ColumnNumber(rhs.ColumnNumber) +{} + DEF_STRING(ParserDiagnostic, FileName) DEF_STRING(ParserDiagnostic, Message) diff --git a/src/CppParser/CppParser.h b/src/CppParser/CppParser.h index a105cc6f..a44dbfd5 100644 --- a/src/CppParser/CppParser.h +++ b/src/CppParser/CppParser.h @@ -54,6 +54,8 @@ enum struct ParserDiagnosticLevel struct CS_API ParserDiagnostic { ParserDiagnostic(); + ParserDiagnostic(const ParserDiagnostic&); + STRING(FileName) STRING(Message) ParserDiagnosticLevel Level; @@ -71,6 +73,7 @@ enum struct ParserResultKind struct CS_API ParserResult { ParserResult(); + ParserResult(const ParserResult&); ParserResultKind Kind; VECTOR(ParserDiagnostic, Diagnostics) From a070912c1a0f0f9d5aad0a9010ec349f99d6e328 Mon Sep 17 00:00:00 2001 From: triton Date: Wed, 16 Apr 2014 02:02:06 +0100 Subject: [PATCH 03/14] Enable copy constructors for some tests since they rely on their existence. --- tests/Basic/Basic.cs | 1 + tests/CSharpTemp/CSharpTemp.cs | 1 + 2 files changed, 2 insertions(+) diff --git a/tests/Basic/Basic.cs b/tests/Basic/Basic.cs index 13acf8d1..a6295d89 100644 --- a/tests/Basic/Basic.cs +++ b/tests/Basic/Basic.cs @@ -18,6 +18,7 @@ namespace CppSharp.Tests if (driver.Options.IsCSharpGenerator) driver.Options.GenerateAbstractImpls = true; driver.Options.GenerateVirtualTables = true; + driver.Options.GenerateCopyConstructors = true; driver.Options.MarshalCharAsManagedChar = true; } diff --git a/tests/CSharpTemp/CSharpTemp.cs b/tests/CSharpTemp/CSharpTemp.cs index 97343ee7..2f802d01 100644 --- a/tests/CSharpTemp/CSharpTemp.cs +++ b/tests/CSharpTemp/CSharpTemp.cs @@ -62,6 +62,7 @@ namespace CppSharp.Tests driver.Options.GenerateInterfacesForMultipleInheritance = true; driver.Options.GenerateProperties = true; driver.Options.GenerateVirtualTables = true; + driver.Options.GenerateCopyConstructors = true; driver.TranslationUnitPasses.AddPass(new TestAttributesPass()); } From f5992a970c8be7f361e4eee12a96975082d5f360 Mon Sep 17 00:00:00 2001 From: triton Date: Wed, 16 Apr 2014 02:20:32 +0100 Subject: [PATCH 04/14] Removed old unused unit tests. --- tests/FieldTests.cs | 27 ----- tests/InheritanceTests.cs | 166 ------------------------------ tests/ManglingTests.cs | 31 ------ tests/MarshalingTests.cs | 74 ------------- tests/Native/FieldTests.cpp | 8 -- tests/Native/FieldTests.h | 7 -- tests/Native/InheritanceTests.cpp | 79 -------------- tests/Native/InheritanceTests.h | 65 ------------ tests/Native/ManglingTests.cpp | 33 ------ tests/Native/ManglingTests.h | 22 ---- tests/Native/MarshalingTests.cpp | 36 ------- tests/Native/MarshalingTests.h | 77 -------------- tests/Native/NUnit.cpp | 21 ---- tests/Native/NUnit.h | 114 -------------------- 14 files changed, 760 deletions(-) delete mode 100644 tests/FieldTests.cs delete mode 100644 tests/InheritanceTests.cs delete mode 100644 tests/ManglingTests.cs delete mode 100644 tests/MarshalingTests.cs delete mode 100644 tests/Native/FieldTests.cpp delete mode 100644 tests/Native/FieldTests.h delete mode 100644 tests/Native/InheritanceTests.cpp delete mode 100644 tests/Native/InheritanceTests.h delete mode 100644 tests/Native/ManglingTests.cpp delete mode 100644 tests/Native/ManglingTests.h delete mode 100644 tests/Native/MarshalingTests.cpp delete mode 100644 tests/Native/MarshalingTests.h delete mode 100644 tests/Native/NUnit.cpp delete mode 100644 tests/Native/NUnit.h diff --git a/tests/FieldTests.cs b/tests/FieldTests.cs deleted file mode 100644 index 6aa2f663..00000000 --- a/tests/FieldTests.cs +++ /dev/null @@ -1,27 +0,0 @@ -using System; -using NUnit.Framework; - -namespace Tests { - - [TestFixture] - public class FieldTests { - - [Test] - public void TestReadCppObject () - { - var hf1 = new HasField (1, null); - var hf2 = new HasField (2, hf1); - var hf3 = new HasField (3, hf2); - - Assert.IsNull (hf1.other, "#1"); - Assert.AreEqual (1, hf1.number); - - Assert.AreSame (hf2.other, hf1, "#2"); - Assert.AreEqual (1, hf2.other.number); - - Assert.AreSame (hf3.other.other, hf1, "#3"); - Assert.AreEqual (1, hf3.other.other.number, "#4"); - } - } -} - diff --git a/tests/InheritanceTests.cs b/tests/InheritanceTests.cs deleted file mode 100644 index b39294ac..00000000 --- a/tests/InheritanceTests.cs +++ /dev/null @@ -1,166 +0,0 @@ -using System; -using NUnit.Framework; - -namespace Tests { - - [TestFixture] - public class InheritanceTests { - - [Test] - public void TestVirtualCall () - { - var cls = new NumberClass (5); - Assert.AreEqual (5, cls.Number, "#1"); - Assert.AreEqual (-5, cls.NegativeNumber, "#2"); - } - - [Test] - public void TestVirtualCallOnBaseClass () - { - var cls = new AdderClass (8); - Assert.AreEqual (8, cls.Number, "#1"); - - cls.Add (2); - Assert.AreEqual (10, ((NumberClass)cls).Number, "#2"); - } - - [Test] - public void TestVirtualCallOnVirtualBaseClass () - { - var cls = new AdderClassWithVirtualBase (8); - Assert.AreEqual (8, cls.Number, "#1"); - - cls.Add (2); - Assert.AreEqual (10, ((NumberClass)cls).Number, "#2"); - } - - [Test] - public void TestMultipleBases () - { - var cls = new ClassWithNonVirtualBases (5, 3); - Assert.AreEqual (5, cls.Number, "#1"); - Assert.AreEqual (3, ((MultiplierClass)cls).Number, "#2"); - - cls.Add (4); - Assert.AreEqual (9, cls.Number, "#3"); - Assert.AreEqual (3, ((MultiplierClass)cls).Number, "#4"); - - cls.MultiplierClass.Multiply (10); - Assert.AreEqual (9, cls.Number, "#5"); - Assert.AreEqual (30, ((MultiplierClass)cls).Number, "#6"); - } - - [Test] - public void TestMultipleVirtualBases () - { - var cls = new ClassWithVirtualBases (4); - Assert.AreEqual (4, cls.Number, "#1"); - Assert.AreEqual (4, ((MultiplierClassWithVirtualBase)cls).Number, "#2"); - - cls.Add (5); - Assert.AreEqual (9, cls.Number, "#3"); - Assert.AreEqual (9, ((MultiplierClassWithVirtualBase)cls).Number, "#4"); - - cls.MultiplierClassWithVirtualBase.Multiply (6); - Assert.AreEqual (30, cls.Number, "#5"); - Assert.AreEqual (30, ((MultiplierClassWithVirtualBase)cls).Number, "#6"); - } - - [Test] - public void TestNativeOverride1 () - { - var cls = new ClassThatOverridesStuff (5, 3); - Assert.AreEqual (3, cls.Number, "#1"); - Assert.AreEqual (3, ((NumberClass)cls).Number, "#2"); - Assert.AreEqual (-3, cls.NegativeNumber, "#3"); - Assert.AreEqual (5, cls.BaseNumber, "#4"); - } - - [Test] - public void TestNativeOverride2 () - { - var cls = ClassThatOverridesStuff.GetInstance (5, 3); - Assert.AreEqual (3, cls.Number, "#1"); - Assert.AreEqual (3, ((NumberClass)cls).Number, "#2"); - Assert.AreEqual (-3, cls.NegativeNumber, "#3"); -// Assert.AreEqual (5, ((ClassThatOverridesStuff)cls).BaseNumber, "#4"); - } - - class ManagedOverride1 : NumberClass { - - public ManagedOverride1 () : base (3) - { - } - - public override int Number { - get { - return 25; - } - } - } - - [Test] - public void TestManagedOverride1 () - { - var cls = new ManagedOverride1 (); - Assert.AreEqual (-25, cls.NegativeNumber, "#1"); - } - - class ManagedOverride2 : ClassWithNonVirtualBases { - - public ManagedOverride2 () : base (5, 3) - { - } - - public override int Number { - get { - return 25; - } - } - - // override virtual member inherited from non-primary base - protected override void MultiplierClass__Multiply (int n) - { - base.MultiplierClass__Multiply (10); - } - } - - [Test] - public void TestManagedOverride2 () - { - var cls = new ManagedOverride2 (); - Assert.AreEqual (-25, cls.NegativeNumber, "#1"); - cls.MultiplierClass.Multiply (7); - Assert.AreEqual (30, ((MultiplierClass)cls).Number, "#3"); - cls.CallMultiply (2); - Assert.AreEqual (25, cls.Number, "#2"); - Assert.AreEqual (300, ((MultiplierClass)cls).Number, "#5"); - } - - [Test] - public void TestRoundtripManagedOverride () - { - var managed = new ManagedOverride2 (); - var roundtripper = new ClassThatRoundtrips (7, managed); - - // test primary base ptr from native - var cls = roundtripper.GetThis (); - Assert.AreSame (roundtripper, cls, "#1"); - Assert.AreEqual (7, cls.Number, "#2"); - - // test non-primary base ptr from native - cls = roundtripper.GetThat (); - Assert.AreSame ((MultiplierClass)managed, cls, "#3"); - Assert.AreEqual (3, cls.Number, "#4"); - - Assert.AreEqual (3, cls.Number, "#5"); - cls.Multiply (0); - Assert.AreEqual (-30, cls.NegativeNumber, "#6"); - - // cast to non-primary subclass - Assert.IsNotNull (((ClassWithNonVirtualBases)cls) as ManagedOverride2, "#7"); - } - - } -} - diff --git a/tests/ManglingTests.cs b/tests/ManglingTests.cs deleted file mode 100644 index 46094b5a..00000000 --- a/tests/ManglingTests.cs +++ /dev/null @@ -1,31 +0,0 @@ -using System; -using NUnit.Framework; - -namespace Tests { - - [TestFixture] - public class ManglingTests { - - [Test] - public void TestCompression () - { - Compression.Test1 (null, "foo", null, "bar"); - } - - [Test] - public void TestNamespaced () - { - Ns1.Namespaced.Test1 (); - Ns1.Namespaced.Test2 (null); - } - - [Test] - public void TestNamespaced2 () - { - var cls = new Ns1.Ns2.Namespaced2 (); - cls.Test1 (); - cls.Test2 (null); - } - } -} - diff --git a/tests/MarshalingTests.cs b/tests/MarshalingTests.cs deleted file mode 100644 index 08e4dfb1..00000000 --- a/tests/MarshalingTests.cs +++ /dev/null @@ -1,74 +0,0 @@ -using System; -using NUnit.Framework; - -namespace Tests { - - [TestFixture] - public class MarshalingTests { - - [Test] - public void TestClassReturn () - { - // Section 3.1.4: - // Classes with non-default copy ctors/destructors are returned using a hidden - // argument - var c = ClassWithCopyCtor.Return (42); - Assert.AreEqual (42, c.GetX (), "#1"); - - var c2 = ClassWithDtor.Return (43); - Assert.AreEqual (43, c2.GetX (), "#2"); - - // This class is returned normally - var c3 = ClassWithoutCopyCtor.Return (44); - Assert.AreEqual (44, c3.GetX (), "#3"); - } - - // An object as ref argument - [Test] - public void TestClassArg () - { - var c1 = new Class (4); - var c2 = new Class (5); - - c1.CopyTo (c2); - Assert.AreEqual (4, c2.GetX (), "#1"); - } - - // A null object as ref argument - [Test] - public void TestClassArgNull () - { - var c1 = new Class (4); - Assert.That (c1.IsNull (null), "#1"); - } - - // An object as byval argument - [Test] - public void TestClassArgByval () - { - var c1 = new Class (4); - var c2 = new Class (5); - - c1.CopyFromValue (c2); - Assert.AreEqual (5, c1.GetX (), "#1"); - } - - // A null object as byval argument - [Test] - [ExpectedException (typeof (ArgumentException))] - public void TestClassArgByvalNull () - { - var c1 = new Class (4); - c1.CopyFromValue (null); - } - - [Test] - public void TestByRefReturn () - { - var c1 = new Class (7); - Assert.AreEqual (7, c1.GetXRef ()); - } - - } - -} \ No newline at end of file diff --git a/tests/Native/FieldTests.cpp b/tests/Native/FieldTests.cpp deleted file mode 100644 index 88b50461..00000000 --- a/tests/Native/FieldTests.cpp +++ /dev/null @@ -1,8 +0,0 @@ - -#include "FieldTests.h" - -HasField::HasField (int number, HasField* other) -{ - this->number = number; - this->other = other; -} \ No newline at end of file diff --git a/tests/Native/FieldTests.h b/tests/Native/FieldTests.h deleted file mode 100644 index 8bae69d7..00000000 --- a/tests/Native/FieldTests.h +++ /dev/null @@ -1,7 +0,0 @@ - -class HasField { -public: - int number; - HasField* other; - HasField (int number, HasField* other); -}; diff --git a/tests/Native/InheritanceTests.cpp b/tests/Native/InheritanceTests.cpp deleted file mode 100644 index 15fde36b..00000000 --- a/tests/Native/InheritanceTests.cpp +++ /dev/null @@ -1,79 +0,0 @@ - -#include "InheritanceTests.h" - -NumberClass::NumberClass (int n) - : num (n) -{ -} -int NumberClass::Number () const -{ - return this->num; -} -int NumberClass::NegativeNumber () const -{ - return -(this->Number ()); -} -NumberClass::~NumberClass () -{ - this->num = 0; -} - - -AdderClass::AdderClass (int n) - : NumberClass (n) -{ -} -void AdderClass::Add (int n) -{ - this->num += n; -} - -AdderClassWithVirtualBase::AdderClassWithVirtualBase (int n) - : NumberClass (n) -{ -} -void AdderClassWithVirtualBase::Add (int n) -{ - this->num += n; -} - - -MultiplierClass::MultiplierClass (int n) - : NumberClass (n) -{ -} -void MultiplierClass::Multiply (int n) -{ - this->num *= n; -} - -MultiplierClassWithVirtualBase::MultiplierClassWithVirtualBase (int n) - : NumberClass (n) -{ -} -void MultiplierClassWithVirtualBase::Multiply (int n) -{ - this->num *= n; -} - - -ClassThatOverridesStuff::ClassThatOverridesStuff (int num, int my) - : NumberClass (num), myNum (my) -{ -} -int ClassThatOverridesStuff::Number () const -{ - return this->myNum; -} -int ClassThatOverridesStuff::BaseNumber () const -{ - return this->NumberClass::Number (); -} -ClassThatOverridesStuff::~ClassThatOverridesStuff () -{ - this->myNum = 0; -} -NumberClass* ClassThatOverridesStuff::GetInstance (int num, int my) -{ - return new ClassThatOverridesStuff (num, my); -} \ No newline at end of file diff --git a/tests/Native/InheritanceTests.h b/tests/Native/InheritanceTests.h deleted file mode 100644 index 5609a6eb..00000000 --- a/tests/Native/InheritanceTests.h +++ /dev/null @@ -1,65 +0,0 @@ - -class NumberClass { -protected: - int num; -public: - NumberClass (int n); - virtual int NegativeNumber () const; - virtual int Number () const; - virtual ~NumberClass (); -}; - -class AdderClass : public NumberClass { -public: - AdderClass (int n); - virtual void Add (int n); -}; -class AdderClassWithVirtualBase : public virtual NumberClass { -public: - AdderClassWithVirtualBase (int n); - virtual void Add (int n); -}; - -class MultiplierClass : public NumberClass { -public: - MultiplierClass (int n); - virtual void Multiply (int n); -}; -class MultiplierClassWithVirtualBase : public virtual NumberClass { -public: - MultiplierClassWithVirtualBase (int n); - virtual void Multiply (int n); -}; - -class ClassWithNonVirtualBases : public AdderClass, public MultiplierClass { -public: - // num is not shared between AdderClass and MultiplierClass; Add and Multiply should operate on different numbers - ClassWithNonVirtualBases (int addN, int multN) : AdderClass (addN), MultiplierClass (multN) {} - virtual void CallMultiply (int n) { this->Multiply (n); } -}; -class ClassWithVirtualBases : public AdderClassWithVirtualBase, public MultiplierClassWithVirtualBase { -public: - // num is shared between AdderClass and MultiplierClass; Add and Multiply should both operate on n - ClassWithVirtualBases (int n) : NumberClass (n-2), AdderClassWithVirtualBase (n-1), MultiplierClassWithVirtualBase (n) {} -}; - - -class ClassThatOverridesStuff : public NumberClass { -protected: - int myNum; -public: - ClassThatOverridesStuff (int num, int my); - virtual int Number () const; - virtual ~ClassThatOverridesStuff (); - virtual int BaseNumber () const; - static NumberClass* GetInstance (int num, int my); -}; - -class ClassThatRoundtrips : public MultiplierClass { -protected: - MultiplierClass* that; -public: - ClassThatRoundtrips (int n, MultiplierClass* managed) : MultiplierClass (n) { this->that = managed; } - virtual MultiplierClass* GetThat () { return this->that; } - virtual MultiplierClass* GetThis () { return this; } -}; \ No newline at end of file diff --git a/tests/Native/ManglingTests.cpp b/tests/Native/ManglingTests.cpp deleted file mode 100644 index 632fa490..00000000 --- a/tests/Native/ManglingTests.cpp +++ /dev/null @@ -1,33 +0,0 @@ - -#include "ManglingTests.h" -#include - -void Compression::Test1 (const Compression* a1, const char* a2, const Compression* a3, const char* a4) -{ - printf ("Compression::Test1"); -} - -void Ns1::Namespaced::Test1 () -{ - printf ("Ns1::Namespaced::Test1"); -} - -void Ns1::Namespaced::Test2 (const Compression* a1) -{ - printf ("Ns1::Namespaced::Test2"); -} - -Ns1::Ns2::Namespaced2::Namespaced2 () -{ - printf ("Ns1::Ns2::Namespaced2::Namespaced2"); -} - -void Ns1::Ns2::Namespaced2::Test1 () -{ - printf ("Ns1::Ns2::Namespaced2::Test1"); -} - -Ns1::Ns2::Namespaced2* Ns1::Ns2::Namespaced2::Test2 (Compression* a1) -{ - printf ("Ns1::Ns2::Namespaced2::Test2"); -} \ No newline at end of file diff --git a/tests/Native/ManglingTests.h b/tests/Native/ManglingTests.h deleted file mode 100644 index a9d5c788..00000000 --- a/tests/Native/ManglingTests.h +++ /dev/null @@ -1,22 +0,0 @@ - -class Compression { -public: - static void Test1 (const Compression* a1, const char* a2, const Compression* a3, const char* a4); -}; - -namespace Ns1 { - class Namespaced { - public: - static void Test1 (); - static void Test2 (const Compression* a1); - }; -} - -namespace Ns1 { namespace Ns2 { - class Namespaced2 { - public: - Namespaced2 (); - void Test1 (); - Namespaced2* Test2 (Compression* a1); - }; -}} \ No newline at end of file diff --git a/tests/Native/MarshalingTests.cpp b/tests/Native/MarshalingTests.cpp deleted file mode 100644 index 361b44c3..00000000 --- a/tests/Native/MarshalingTests.cpp +++ /dev/null @@ -1,36 +0,0 @@ - -#include "MarshalingTests.h" - -ClassWithCopyCtor::ClassWithCopyCtor(const ClassWithCopyCtor& f) { - x = f.x; -} - -ClassWithCopyCtor -ClassWithCopyCtor::Return (int x) { - return ClassWithCopyCtor (x); -} - -int -ClassWithCopyCtor::GetX () { - return x; -} - -ClassWithDtor -ClassWithDtor::Return (int x) { - return ClassWithDtor (x); -} - -int -ClassWithDtor::GetX () { - return x; -} - -ClassWithoutCopyCtor -ClassWithoutCopyCtor::Return (int x) { - return ClassWithoutCopyCtor (x); -} - -int -ClassWithoutCopyCtor::GetX () { - return x; -} diff --git a/tests/Native/MarshalingTests.h b/tests/Native/MarshalingTests.h deleted file mode 100644 index 5c310f73..00000000 --- a/tests/Native/MarshalingTests.h +++ /dev/null @@ -1,77 +0,0 @@ - -class ClassWithCopyCtor { - int x; - -public: - ClassWithCopyCtor(int xarg) { - x = xarg; - } - - ClassWithCopyCtor(const ClassWithCopyCtor& f); - - static ClassWithCopyCtor Return (int x); - - int GetX (); -}; - -class ClassWithDtor { - int x; - -public: - ClassWithDtor(int xarg) { - x = xarg; - } - - ~ClassWithDtor () { - } - - static ClassWithDtor Return (int x); - - int GetX (); -}; - - -class ClassWithoutCopyCtor { - int x; - -public: - ClassWithoutCopyCtor(int xarg) { - x = xarg; - } - - static ClassWithoutCopyCtor Return (int x); - - int GetX (); -}; - -class Class { - int x; - -public: - Class (int xarg) { - x = xarg; - } - - void CopyFromValue (Class c) { - x = c.x; - } - - void CopyTo (Class *c) { - c->x = x; - } - - bool IsNull (Class *c) { - return !c ? true : false; - } - - int GetX () { - return x; - } - - int& GetXRef () { - return x; - } -}; - - - diff --git a/tests/Native/NUnit.cpp b/tests/Native/NUnit.cpp deleted file mode 100644 index 011b90b4..00000000 --- a/tests/Native/NUnit.cpp +++ /dev/null @@ -1,21 +0,0 @@ -// -// NUnit.cpp: Bridges the NUnit Assert methods to C++ -// -// Author: -// Alexander Corrado (alexander.corrado@gmail.com) -// -// Copyright (C) 2010 Alexander Corrado -// - -#include "NUnit.h" - -NUnit* NUnit::Assert; - -extern "C" { - - void SetNUnitInterface (NUnit* nunit) - { - NUnit::Assert = nunit; - } - -} diff --git a/tests/Native/NUnit.h b/tests/Native/NUnit.h deleted file mode 100644 index 85532975..00000000 --- a/tests/Native/NUnit.h +++ /dev/null @@ -1,114 +0,0 @@ -// -// NUnit.h: The NUnit C++ interface -// -// Author: -// Alexander Corrado (alexander.corrado@gmail.com) -// -// Copyright (C) 2010 Alexander Corrado -// - -#ifndef _CPPINTEROP_NUNIT_H_ -#define _CPPINTEROP_NUNIT_H_ - -#ifdef __GNUC__ -#define EXPORT -#elif defined(_MSC_VER) -#define EXPORT __declspec(dllexport) -#else -#error Unknown compiler! -#endif - -typedef const char* string; -typedef unsigned int uint; -typedef unsigned long ulong; - -class NUnit { - public: - static NUnit* Assert; - - virtual void Fail (string message); - virtual void Fail (); - virtual void IsTrue (bool condition, string message); - virtual void IsTrue (bool condition); - virtual void IsFalse (bool condition, string message); - virtual void IsFalse (bool condition); - virtual void IsEmpty (string aString, string message); - virtual void IsEmpty (string aString); - virtual void IsNotEmpty (string aString, string message); - virtual void IsNotEmpty (string aString); - virtual void AreEqual (int expected, int actual, string message); - virtual void AreEqual (int expected, int actual); - virtual void AreEqual (long expected, long actual, string message); - virtual void AreEqual (long expected, long actual); - virtual void AreEqual (uint expected, uint actual, string message); - virtual void AreEqual (uint expected, uint actual); - virtual void AreEqual (ulong expected, ulong actual, string message); - virtual void AreEqual (ulong expected, ulong actual); - virtual void AreEqual (double expected, double actual, double delta, string message); - virtual void AreEqual (double expected, double actual, double delta); - virtual void AreEqual (float expected, float actual, float delta, string message); - virtual void AreEqual (float expected, float actual, float delta); - virtual void AreNotEqual (int expected, int actual, string message); - virtual void AreNotEqual (int expected, int actual); - virtual void AreNotEqual (long expected, long actual, string message); - virtual void AreNotEqual (long expected, long actual); - virtual void AreNotEqual (uint expected, uint actual, string message); - virtual void AreNotEqual (uint expected, uint actual); - virtual void AreNotEqual (ulong expected, ulong actual, string message); - virtual void AreNotEqual (ulong expected, ulong actual); - virtual void AreNotEqual (double expected, double actual, string message); - virtual void AreNotEqual (double expected, double actual); - virtual void AreNotEqual (float expected, float actual, string message); - virtual void AreNotEqual (float expected, float actual); - virtual void Greater (int expected, int actual, string message); - virtual void Greater (int expected, int actual); - virtual void Greater (long expected, long actual, string message); - virtual void Greater (long expected, long actual); - virtual void Greater (uint expected, uint actual, string message); - virtual void Greater (uint expected, uint actual); - virtual void Greater (ulong expected, ulong actual, string message); - virtual void Greater (ulong expected, ulong actual); - virtual void Greater (double expected, double actual, string message); - virtual void Greater (double expected, double actual); - virtual void Greater (float expected, float actual, string message); - virtual void Greater (float expected, float actual); - virtual void Less (int expected, int actual, string message); - virtual void Less (int expected, int actual); - virtual void Less (long expected, long actual, string message); - virtual void Less (long expected, long actual); - virtual void Less (uint expected, uint actual, string message); - virtual void Less (uint expected, uint actual); - virtual void Less (ulong expected, ulong actual, string message); - virtual void Less (ulong expected, ulong actual); - virtual void Less (double expected, double actual, string message); - virtual void Less (double expected, double actual); - virtual void Less (float expected, float actual, string message); - virtual void Less (float expected, float actual); - virtual void GreaterOrEqual (int expected, int actual, string message); - virtual void GreaterOrEqual (int expected, int actual); - virtual void GreaterOrEqual (long expected, long actual, string message); - virtual void GreaterOrEqual (long expected, long actual); - virtual void GreaterOrEqual (uint expected, uint actual, string message); - virtual void GreaterOrEqual (uint expected, uint actual); - virtual void GreaterOrEqual (ulong expected, ulong actual, string message); - virtual void GreaterOrEqual (ulong expected, ulong actual); - virtual void GreaterOrEqual (double expected, double actual, string message); - virtual void GreaterOrEqual (double expected, double actual); - virtual void GreaterOrEqual (float expected, float actual, string message); - virtual void GreaterOrEqual (float expected, float actual); - virtual void LessOrEqual (int expected, int actual, string message); - virtual void LessOrEqual (int expected, int actual); - virtual void LessOrEqual (long expected, long actual, string message); - virtual void LessOrEqual (long expected, long actual); - virtual void LessOrEqual (uint expected, uint actual, string message); - virtual void LessOrEqual (uint expected, uint actual); - virtual void LessOrEqual (ulong expected, ulong actual, string message); - virtual void LessOrEqual (ulong expected, ulong actual); - virtual void LessOrEqual (double expected, double actual, string message); - virtual void LessOrEqual (double expected, double actual); - virtual void LessOrEqual (float expected, float actual, string message); - virtual void LessOrEqual (float expected, float actual); -}; - - -#endif /* _CPPINTEROP_NUNIT_H_ */ From 0e4f35a83c2377275fa6f44b95727e6866e27ff4 Mon Sep 17 00:00:00 2001 From: triton Date: Wed, 16 Apr 2014 02:20:45 +0100 Subject: [PATCH 05/14] Remove old unused Premake4 executable. --- build/premake4.exe | Bin 544256 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 build/premake4.exe diff --git a/build/premake4.exe b/build/premake4.exe deleted file mode 100644 index 328de76434dc185b344fdc0e85738b127c551810..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 544256 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

k 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 From 7c0e229a50c5ae4ce28a2199f786968866f2138e Mon Sep 17 00:00:00 2001 From: triton Date: Wed, 16 Apr 2014 02:21:11 +0100 Subject: [PATCH 06/14] Include the tests in non-VS builds again. --- build/premake4.lua | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/build/premake4.lua b/build/premake4.lua index fccd9996..0a1647b5 100644 --- a/build/premake4.lua +++ b/build/premake4.lua @@ -77,12 +77,12 @@ solution "CppSharp" group "Examples" IncludeExamples() + + end group "Tests" IncludeTests() - end - group "Libraries" include (srcdir .. "/Core") include (srcdir .. "/AST/AST.lua") From ea171cde977abe8916c205659afbad843e04f030 Mon Sep 17 00:00:00 2001 From: triton Date: Wed, 16 Apr 2014 13:33:28 +0100 Subject: [PATCH 07/14] Added copy constructors to Enumeration::Item and Declaration. --- src/CppParser/AST.cpp | 19 +++++++++++++++++++ src/CppParser/AST.h | 3 +++ 2 files changed, 22 insertions(+) diff --git a/src/CppParser/AST.cpp b/src/CppParser/AST.cpp index bf58c93d..953721da 100644 --- a/src/CppParser/AST.cpp +++ b/src/CppParser/AST.cpp @@ -116,6 +116,22 @@ Declaration::Declaration(DeclarationKind kind) { } +Declaration::Declaration(const Declaration& rhs) + : Kind(rhs.Kind) + , Access(rhs.Access) + , _Namespace(rhs._Namespace) + , Name(rhs.Name) + , Comment(rhs.Comment) + , DebugText(rhs.DebugText) + , IsIncomplete(rhs.IsIncomplete) + , IsDependent(rhs.IsDependent) + , CompleteDeclaration(rhs.CompleteDeclaration) + , DefinitionOrder(rhs.DefinitionOrder) + , PreprocessedEntities(rhs.PreprocessedEntities) + , OriginalPtr(rhs.OriginalPtr) +{ +} + DEF_STRING(Declaration, Name) DEF_STRING(Declaration, DebugText) DEF_VECTOR(Declaration, PreprocessedEntity*, PreprocessedEntities) @@ -374,6 +390,9 @@ DEF_VECTOR(Enumeration, Enumeration::Item, Items) Enumeration::Item::Item() : Declaration(DeclarationKind::EnumerationItem) {} +Enumeration::Item::Item(const Item& rhs) : Declaration(rhs), + Expression(rhs.Expression), Value(rhs.Value) {} + DEF_STRING(Enumeration::Item, Expression) Variable::Variable() : Declaration(DeclarationKind::Variable) {} diff --git a/src/CppParser/AST.h b/src/CppParser/AST.h index e09632e3..346f7ccc 100644 --- a/src/CppParser/AST.h +++ b/src/CppParser/AST.h @@ -358,6 +358,7 @@ struct PreprocessedEntity; struct CS_API Declaration { Declaration(DeclarationKind kind); + Declaration(const Declaration&); DeclarationKind Kind; AccessSpecifier Access; @@ -540,6 +541,8 @@ struct CS_API Enumeration : public Declaration struct CS_API Item : public Declaration { DECLARE_DECL_KIND(Item, EnumerationItem) + Item(const Item&); + STRING(Expression) uint64_t Value; }; From d68b7b3b56a6274123cb91feaffc310ed09d0667 Mon Sep 17 00:00:00 2001 From: triton Date: Wed, 16 Apr 2014 13:53:17 +0100 Subject: [PATCH 08/14] Fixed code generation for enum pointers as parameters. Fixes issue #217. --- src/Generator/Generators/CLI/CLIMarshal.cs | 15 ++++++++++++--- src/Generator/Generators/CLI/CLITypePrinter.cs | 11 +++++++++-- .../Generators/CSharp/CSharpTypePrinter.cs | 6 ++++++ tests/Basic/Basic.Tests.cs | 8 ++++++++ tests/Basic/Basic.h | 13 +++++++++++++ 5 files changed, 48 insertions(+), 5 deletions(-) diff --git a/src/Generator/Generators/CLI/CLIMarshal.cs b/src/Generator/Generators/CLI/CLIMarshal.cs index 45eda0ca..5d32143b 100644 --- a/src/Generator/Generators/CLI/CLIMarshal.cs +++ b/src/Generator/Generators/CLI/CLIMarshal.cs @@ -419,11 +419,20 @@ namespace CppSharp.Generators.CLI var cppTypeName = pointer.Visit(cppTypePrinter, quals); return VisitDelegateType(function, cppTypeName); + } + + Enumeration @enum; + if (pointee.IsTagDecl(out @enum)) + { + ArgumentPrefix.Write("&"); + Context.Return.Write("(::{0})*{1}", @enum.QualifiedOriginalName, + Context.Parameter.Name); + return true; } - Class @class; - if (pointee.IsTagDecl(out @class) && @class.IsValueType) - { + Class @class; + if (pointee.IsTagDecl(out @class) && @class.IsValueType) + { if (Context.Function == null) Context.Return.Write("&"); return pointee.Visit(this, quals); diff --git a/src/Generator/Generators/CLI/CLITypePrinter.cs b/src/Generator/Generators/CLI/CLITypePrinter.cs index 9875cfbe..84c9914b 100644 --- a/src/Generator/Generators/CLI/CLITypePrinter.cs +++ b/src/Generator/Generators/CLI/CLITypePrinter.cs @@ -129,7 +129,7 @@ namespace CppSharp.Generators.CLI public string VisitPointerType(PointerType pointer, TypeQualifiers quals) { - var pointee = pointer.Pointee; + var pointee = pointer.Pointee.Desugar(); if (pointee is FunctionType) { @@ -143,7 +143,7 @@ namespace CppSharp.Generators.CLI } PrimitiveType primitive; - if (pointee.Desugar().IsPrimitiveType(out primitive)) + if (pointee.IsPrimitiveType(out primitive)) { var param = Context.Parameter; if (param != null && (param.IsOut || param.IsInOut)) @@ -152,6 +152,13 @@ namespace CppSharp.Generators.CLI return VisitPrimitiveType(primitive, quals) + "*"; } + Enumeration @enum; + if (pointee.IsTagDecl(out @enum)) + { + var typeName = @enum.Visit(this); + return string.Format("{0}*", typeName); + } + return pointee.Visit(this, quals); } diff --git a/src/Generator/Generators/CSharp/CSharpTypePrinter.cs b/src/Generator/Generators/CSharp/CSharpTypePrinter.cs index b0c098fb..df979a9e 100644 --- a/src/Generator/Generators/CSharp/CSharpTypePrinter.cs +++ b/src/Generator/Generators/CSharp/CSharpTypePrinter.cs @@ -222,6 +222,12 @@ namespace CppSharp.Generators.CSharp return VisitPrimitiveType(primitive, quals) + "*"; } + Enumeration @enum; + if (desugared.IsTagDecl(out @enum)) + { + return @enum.Name + "*"; + } + Class @class; if ((desugared.IsDependent || desugared.IsTagDecl(out @class)) && ContextKind == CSharpTypePrinterContextKind.Native) diff --git a/tests/Basic/Basic.Tests.cs b/tests/Basic/Basic.Tests.cs index 19095bb0..35f9412a 100644 --- a/tests/Basic/Basic.Tests.cs +++ b/tests/Basic/Basic.Tests.cs @@ -257,5 +257,13 @@ public class BasicTests : GeneratorTestFixture prop.FieldValue = 10; Assert.That(prop.FieldValue, Is.EqualTo(10)); } + + [Test] + public unsafe void TestArraysPointers() + { + var values = MyEnum.A; + var arrays = new TestArraysPointers(&values, 1); + Assert.That(arrays.Value, Is.EqualTo(MyEnum.A)); + } } \ No newline at end of file diff --git a/tests/Basic/Basic.h b/tests/Basic/Basic.h index d839385c..482ca179 100644 --- a/tests/Basic/Basic.h +++ b/tests/Basic/Basic.h @@ -350,3 +350,16 @@ struct DLL_API TestProperties int getFieldValue() { return Field; } void setFieldValue(int Value) { Field = Value; } }; + +enum struct MyEnum { A, B, C }; + +class DLL_API TestArraysPointers +{ +public: + TestArraysPointers(MyEnum *values, int count) + { + if (values && count) Value = values[0]; + } + + MyEnum Value; +}; \ No newline at end of file From d36bc5aad01fabc8752648851e2382f47f61a17d Mon Sep 17 00:00:00 2001 From: triton Date: Wed, 16 Apr 2014 14:08:57 +0100 Subject: [PATCH 09/14] Changed GetterSetterToPropertyAdvancedPass visibility to public. This way it can be added to the passes by external users. --- src/Generator/Passes/GetterSetterToPropertyAdvancedPass.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Generator/Passes/GetterSetterToPropertyAdvancedPass.cs b/src/Generator/Passes/GetterSetterToPropertyAdvancedPass.cs index a4b32b75..cfd2d8a7 100644 --- a/src/Generator/Passes/GetterSetterToPropertyAdvancedPass.cs +++ b/src/Generator/Passes/GetterSetterToPropertyAdvancedPass.cs @@ -11,7 +11,7 @@ using Type = CppSharp.AST.Type; namespace CppSharp.Passes { - class GetterSetterToPropertyAdvancedPass : TranslationUnitPass + public class GetterSetterToPropertyAdvancedPass : TranslationUnitPass { // collect all types of methods first to be able to match pairs and detect virtuals and overrides; // (a property needs to) be virtual or an override if either of its constituent methods are such) From 9166a55202e1285be5d42c092b18699d1b0e1733 Mon Sep 17 00:00:00 2001 From: triton Date: Wed, 16 Apr 2014 14:10:20 +0100 Subject: [PATCH 10/14] Fixed generation of properties to behave as expected. Fixed this by changing GenerateProperties to use GetterSetterToPropertyPass instead of GetterSetterToPropertyAdvancedPass. Fixes issue #215. --- src/Generator/Driver.cs | 4 ++-- tests/Basic/Basic.Tests.cs | 8 ++++++++ tests/Basic/Basic.cs | 1 + tests/Basic/Basic.h | 6 ++++++ 4 files changed, 17 insertions(+), 2 deletions(-) diff --git a/src/Generator/Driver.cs b/src/Generator/Driver.cs index f77ca3b8..8a1be882 100644 --- a/src/Generator/Driver.cs +++ b/src/Generator/Driver.cs @@ -300,8 +300,8 @@ namespace CppSharp if (Options.GenerateVirtualTables) TranslationUnitPasses.AddPass(new CheckVTableComponentsPass()); - if (Options.GenerateProperties) - TranslationUnitPasses.AddPass(new GetterSetterToPropertyAdvancedPass()); + if (Options.GenerateProperties) + TranslationUnitPasses.AddPass(new GetterSetterToPropertyPass()); } public void ProcessCode() diff --git a/tests/Basic/Basic.Tests.cs b/tests/Basic/Basic.Tests.cs index 35f9412a..e65c1c79 100644 --- a/tests/Basic/Basic.Tests.cs +++ b/tests/Basic/Basic.Tests.cs @@ -265,5 +265,13 @@ public class BasicTests : GeneratorTestFixture var arrays = new TestArraysPointers(&values, 1); Assert.That(arrays.Value, Is.EqualTo(MyEnum.A)); } + + [Test] + public unsafe void TestGetterSetterToProperties() + { + var @class = new TestGetterSetterToProperties(); + Assert.That(@class.Width, Is.EqualTo(640)); + Assert.That(@class.Height, Is.EqualTo(480)); + } } \ No newline at end of file diff --git a/tests/Basic/Basic.cs b/tests/Basic/Basic.cs index a6295d89..93a15552 100644 --- a/tests/Basic/Basic.cs +++ b/tests/Basic/Basic.cs @@ -20,6 +20,7 @@ namespace CppSharp.Tests driver.Options.GenerateVirtualTables = true; driver.Options.GenerateCopyConstructors = true; driver.Options.MarshalCharAsManagedChar = true; + driver.Options.GenerateProperties = true; } public override void Preprocess(Driver driver, ASTContext ctx) diff --git a/tests/Basic/Basic.h b/tests/Basic/Basic.h index 482ca179..28689517 100644 --- a/tests/Basic/Basic.h +++ b/tests/Basic/Basic.h @@ -362,4 +362,10 @@ public: } MyEnum Value; +}; + +struct DLL_API TestGetterSetterToProperties +{ + int getWidth() { return 640; } + int getHeight() { return 480; } }; \ No newline at end of file From c542f987706159d0d91f094c7c4fa263d67c2b12 Mon Sep 17 00:00:00 2001 From: triton Date: Wed, 16 Apr 2014 15:57:29 +0100 Subject: [PATCH 11/14] Removed "-fvisibility-inlines-hidden" from the Mac build flags. This might be part of the cause why some declarations were not being properly exported. --- build/Helpers.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/Helpers.lua b/build/Helpers.lua index 2565a843..7841b94a 100644 --- a/build/Helpers.lua +++ b/build/Helpers.lua @@ -47,7 +47,7 @@ function SetupNativeProject() buildoptions { gcc_buildflags } configuration { "macosx" } - buildoptions { gcc_buildflags, "-stdlib=libc++", "-fvisibility-inlines-hidden" } + buildoptions { gcc_buildflags, "-stdlib=libc++" } -- OS-specific options From df188d92f89dc53cc4c10e650a5aff8fdc8e81f8 Mon Sep 17 00:00:00 2001 From: triton Date: Wed, 16 Apr 2014 16:33:14 +0100 Subject: [PATCH 12/14] Fixed the tests by adding another option for the advanced property pass. Long-term, I'd like to see both passes merged... --- src/Generator/Driver.cs | 7 +++++-- src/Generator/Options.cs | 15 ++++++++++++++- tests/CSharpTemp/CSharpTemp.cs | 2 +- 3 files changed, 20 insertions(+), 4 deletions(-) diff --git a/src/Generator/Driver.cs b/src/Generator/Driver.cs index 8a1be882..7c69cee7 100644 --- a/src/Generator/Driver.cs +++ b/src/Generator/Driver.cs @@ -298,10 +298,13 @@ namespace CppSharp } if (Options.GenerateVirtualTables) - TranslationUnitPasses.AddPass(new CheckVTableComponentsPass()); - + TranslationUnitPasses.AddPass(new CheckVTableComponentsPass()); + if (Options.GenerateProperties) TranslationUnitPasses.AddPass(new GetterSetterToPropertyPass()); + + if (Options.GeneratePropertiesAdvanced) + TranslationUnitPasses.AddPass(new GetterSetterToPropertyAdvancedPass()); } public void ProcessCode() diff --git a/src/Generator/Options.cs b/src/Generator/Options.cs index 9edd8e50..8f606e35 100644 --- a/src/Generator/Options.cs +++ b/src/Generator/Options.cs @@ -92,12 +92,25 @@ namespace CppSharp public bool GenerateVirtualTables; public bool GenerateAbstractImpls; public bool GenerateInterfacesForMultipleInheritance; - public bool GenerateProperties; public bool GenerateInternalImports; public bool GenerateClassMarshals; public bool GenerateInlines; public bool GenerateCopyConstructors; public bool UseHeaderDirectories; + + ///

+ /// If set to true the generator will use GetterSetterToPropertyPass to + /// convert matching getter/setter pairs to properties. + /// + public bool GenerateProperties; + + /// + /// If set to true the generator will use GetterSetterToPropertyAdvancedPass to + /// convert matching getter/setter pairs to properties. This pass has slightly + /// different semantics from GetterSetterToPropertyPass, it will more agressively + /// try to match for matching properties. + /// + public bool GeneratePropertiesAdvanced; //List of include directories that are used but not generated public List NoGenIncludeDirs; diff --git a/tests/CSharpTemp/CSharpTemp.cs b/tests/CSharpTemp/CSharpTemp.cs index 2f802d01..f06f8149 100644 --- a/tests/CSharpTemp/CSharpTemp.cs +++ b/tests/CSharpTemp/CSharpTemp.cs @@ -60,7 +60,7 @@ namespace CppSharp.Tests public override void SetupPasses(Driver driver) { driver.Options.GenerateInterfacesForMultipleInheritance = true; - driver.Options.GenerateProperties = true; + driver.Options.GeneratePropertiesAdvanced = true; driver.Options.GenerateVirtualTables = true; driver.Options.GenerateCopyConstructors = true; driver.TranslationUnitPasses.AddPass(new TestAttributesPass()); From 257edf878f11e7c0d29d539bf047b12665151692 Mon Sep 17 00:00:00 2001 From: triton Date: Wed, 16 Apr 2014 17:21:34 +0100 Subject: [PATCH 13/14] Restrict path replacing in the parser to Windows platforms. --- src/CppParser/AST.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/CppParser/AST.cpp b/src/CppParser/AST.cpp index 953721da..08578ceb 100644 --- a/src/CppParser/AST.cpp +++ b/src/CppParser/AST.cpp @@ -484,8 +484,10 @@ ASTContext::ASTContext() {} TranslationUnit* ASTContext::FindOrCreateModule(std::string File) { +#ifdef _WIN32 // Clean up the file path. std::replace(File.begin(), File.end(), '/', '\\'); +#endif auto existingUnit = std::find_if(TranslationUnits.begin(), TranslationUnits.end(), [&](TranslationUnit* unit) { From d37822638f7cdb18bac965782ec43062dd030831 Mon Sep 17 00:00:00 2001 From: triton Date: Wed, 16 Apr 2014 18:58:03 +0100 Subject: [PATCH 14/14] Split the parser-related build code into its own file. --- build/Parser.lua | 35 +++++++++++++++++++++++++++++++++++ build/premake4.lua | 41 ++--------------------------------------- 2 files changed, 37 insertions(+), 39 deletions(-) create mode 100644 build/Parser.lua diff --git a/build/Parser.lua b/build/Parser.lua new file mode 100644 index 00000000..a1fa2128 --- /dev/null +++ b/build/Parser.lua @@ -0,0 +1,35 @@ +newoption { + trigger = "parser", + description = "Controls which version of the parser is enabled.", + value = "version", + allowed = { + { "cpp", "Cross-platform C++ parser."}, + { "cli", "VS-only C++/CLI parser."}, + } +} + +function SetupCLIParser() + local parser = _OPTIONS["parser"] + if not parser or parser == "cli" then + defines { "OLD_PARSER" } + links { "CppSharp.Parser" } + else + links { "CppSharp.Parser.CLI" } + end +end + +function SetupCSharpParser() + links + { + "CppSharp.Parser.CSharp", + "CppSharp.Runtime" + } +end + +function SetupParser() + if string.match(action, "vs*") then + SetupCLIParser() + else + SetupCSharpParser() + end +end \ No newline at end of file diff --git a/build/premake4.lua b/build/premake4.lua index 0a1647b5..8d3802d1 100644 --- a/build/premake4.lua +++ b/build/premake4.lua @@ -6,45 +6,8 @@ config = {} dofile "Helpers.lua" dofile "Tests.lua" - --- Setup the LLVM dependency dofile "LLVM.lua" - -newoption { - trigger = "parser", - description = "Controls which version of the parser is enabled.", - value = "version", - allowed = { - { "cpp", "Cross-platform C++ parser."}, - { "cli", "VS-only C++/CLI parser."}, - } -} - -function SetupCLIParser() - local parser = _OPTIONS["parser"] - if not parser or parser == "cli" then - defines { "OLD_PARSER" } - links { "CppSharp.Parser" } - else - links { "CppSharp.Parser.CLI" } - end -end - -function SetupCSharpParser() - links - { - "CppSharp.Parser.CSharp", - "CppSharp.Runtime" - } -end - -function SetupParser() - if string.match(action, "vs*") then - SetupCLIParser() - else - SetupCSharpParser() - end -end +dofile "Parser.lua" solution "CppSharp" @@ -77,7 +40,7 @@ solution "CppSharp" group "Examples" IncludeExamples() - + end group "Tests"

YAD4?h_k4hX2arq%s_}EAe3YB^ToYcl=ClT7F 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