Browse Source

Fixed the assigment of structs with private fields.

Signed-off-by: Dimitar Dobrev <dpldobrev@yahoo.com>
pull/398/head
Dimitar Dobrev 11 years ago
parent
commit
c7253b456b
  1. 13
      src/AST/ClassExtensions.cs
  2. 780
      src/CppParser/Bindings/CSharp/i686-apple-darwin12.4.0/AST.cs
  3. 84
      src/CppParser/Bindings/CSharp/i686-apple-darwin12.4.0/CppParser.cs
  4. 40
      src/CppParser/Bindings/CSharp/i686-apple-darwin12.4.0/Sources.cs
  5. 228
      src/CppParser/Bindings/CSharp/i686-apple-darwin12.4.0/Target.cs
  6. 780
      src/CppParser/Bindings/CSharp/i686-pc-win32-msvc/AST.cs
  7. 84
      src/CppParser/Bindings/CSharp/i686-pc-win32-msvc/CppParser.cs
  8. 40
      src/CppParser/Bindings/CSharp/i686-pc-win32-msvc/Sources.cs
  9. 228
      src/CppParser/Bindings/CSharp/i686-pc-win32-msvc/Target.cs
  10. 780
      src/CppParser/Bindings/CSharp/x86_64-linux-gnu/AST.cs
  11. 84
      src/CppParser/Bindings/CSharp/x86_64-linux-gnu/CppParser.cs
  12. 40
      src/CppParser/Bindings/CSharp/x86_64-linux-gnu/Sources.cs
  13. 228
      src/CppParser/Bindings/CSharp/x86_64-linux-gnu/Target.cs
  14. 7
      src/Generator/Generators/CLI/CLIGenerator.cs
  15. 4
      src/Generator/Generators/CLI/CLIHeadersTemplate.cs
  16. 6
      src/Generator/Generators/CLI/CLISourcesTemplate.cs
  17. 7
      src/Generator/Generators/CSharp/CSharpMarshal.cs
  18. 284
      src/Generator/Generators/CSharp/CSharpTextTemplate.cs
  19. 8
      tests/CSharpTemp/CSharpTemp.Tests.cs
  20. 16
      tests/CSharpTemp/CSharpTemp.cpp
  21. 1
      tests/CSharpTemp/CSharpTemp.cs
  22. 13
      tests/CSharpTemp/CSharpTemp.h

13
src/AST/ClassExtensions.cs

@ -126,5 +126,18 @@ namespace CppSharp.AST @@ -126,5 +126,18 @@ namespace CppSharp.AST
}
return null;
}
public static bool HasRefBase(this Class @class)
{
Class baseClass = null;
if (@class.HasBaseClass)
baseClass = @class.Bases[0].Class;
var hasRefBase = baseClass != null && baseClass.IsRefType
&& baseClass.IsDeclared;
return hasRefBase;
}
}
}

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

File diff suppressed because it is too large Load Diff

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

@ -490,14 +490,12 @@ namespace CppSharp @@ -490,14 +490,12 @@ namespace CppSharp
{
get
{
var __ptr = (Internal*)__Instance.ToPointer();
return (__ptr->ASTContext == IntPtr.Zero) ? null : CppSharp.Parser.AST.ASTContext.__CreateInstance(__ptr->ASTContext);
return (((Internal*) __Instance)->ASTContext == IntPtr.Zero) ? null : CppSharp.Parser.AST.ASTContext.__CreateInstance(((Internal*) __Instance)->ASTContext);
}
set
{
var __ptr = (Internal*)__Instance.ToPointer();
__ptr->ASTContext = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
((Internal*) __Instance)->ASTContext = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
}
}
@ -505,14 +503,12 @@ namespace CppSharp @@ -505,14 +503,12 @@ namespace CppSharp
{
get
{
var __ptr = (Internal*)__Instance.ToPointer();
return __ptr->ToolSetToUse;
return ((Internal*) __Instance)->ToolSetToUse;
}
set
{
var __ptr = (Internal*)__Instance.ToPointer();
__ptr->ToolSetToUse = value;
((Internal*) __Instance)->ToolSetToUse = value;
}
}
@ -520,14 +516,12 @@ namespace CppSharp @@ -520,14 +516,12 @@ namespace CppSharp
{
get
{
var __ptr = (Internal*)__Instance.ToPointer();
return __ptr->Abi;
return ((Internal*) __Instance)->Abi;
}
set
{
var __ptr = (Internal*)__Instance.ToPointer();
__ptr->Abi = value;
((Internal*) __Instance)->Abi = value;
}
}
@ -535,14 +529,12 @@ namespace CppSharp @@ -535,14 +529,12 @@ namespace CppSharp
{
get
{
var __ptr = (Internal*)__Instance.ToPointer();
return __ptr->NoStandardIncludes;
return ((Internal*) __Instance)->NoStandardIncludes;
}
set
{
var __ptr = (Internal*)__Instance.ToPointer();
__ptr->NoStandardIncludes = value;
((Internal*) __Instance)->NoStandardIncludes = value;
}
}
@ -550,14 +542,12 @@ namespace CppSharp @@ -550,14 +542,12 @@ namespace CppSharp
{
get
{
var __ptr = (Internal*)__Instance.ToPointer();
return __ptr->NoBuiltinIncludes;
return ((Internal*) __Instance)->NoBuiltinIncludes;
}
set
{
var __ptr = (Internal*)__Instance.ToPointer();
__ptr->NoBuiltinIncludes = value;
((Internal*) __Instance)->NoBuiltinIncludes = value;
}
}
@ -565,14 +555,12 @@ namespace CppSharp @@ -565,14 +555,12 @@ namespace CppSharp
{
get
{
var __ptr = (Internal*)__Instance.ToPointer();
return __ptr->MicrosoftMode;
return ((Internal*) __Instance)->MicrosoftMode;
}
set
{
var __ptr = (Internal*)__Instance.ToPointer();
__ptr->MicrosoftMode = value;
((Internal*) __Instance)->MicrosoftMode = value;
}
}
@ -580,14 +568,12 @@ namespace CppSharp @@ -580,14 +568,12 @@ namespace CppSharp
{
get
{
var __ptr = (Internal*)__Instance.ToPointer();
return __ptr->Verbose;
return ((Internal*) __Instance)->Verbose;
}
set
{
var __ptr = (Internal*)__Instance.ToPointer();
__ptr->Verbose = value;
((Internal*) __Instance)->Verbose = value;
}
}
@ -595,14 +581,12 @@ namespace CppSharp @@ -595,14 +581,12 @@ namespace CppSharp
{
get
{
var __ptr = (Internal*)__Instance.ToPointer();
return __ptr->LanguageVersion;
return ((Internal*) __Instance)->LanguageVersion;
}
set
{
var __ptr = (Internal*)__Instance.ToPointer();
__ptr->LanguageVersion = value;
((Internal*) __Instance)->LanguageVersion = value;
}
}
}
@ -749,14 +733,12 @@ namespace CppSharp @@ -749,14 +733,12 @@ namespace CppSharp
{
get
{
var __ptr = (Internal*)__Instance.ToPointer();
return __ptr->Level;
return ((Internal*) __Instance)->Level;
}
set
{
var __ptr = (Internal*)__Instance.ToPointer();
__ptr->Level = value;
((Internal*) __Instance)->Level = value;
}
}
@ -764,14 +746,12 @@ namespace CppSharp @@ -764,14 +746,12 @@ namespace CppSharp
{
get
{
var __ptr = (Internal*)__Instance.ToPointer();
return __ptr->LineNumber;
return ((Internal*) __Instance)->LineNumber;
}
set
{
var __ptr = (Internal*)__Instance.ToPointer();
__ptr->LineNumber = value;
((Internal*) __Instance)->LineNumber = value;
}
}
@ -779,14 +759,12 @@ namespace CppSharp @@ -779,14 +759,12 @@ namespace CppSharp
{
get
{
var __ptr = (Internal*)__Instance.ToPointer();
return __ptr->ColumnNumber;
return ((Internal*) __Instance)->ColumnNumber;
}
set
{
var __ptr = (Internal*)__Instance.ToPointer();
__ptr->ColumnNumber = value;
((Internal*) __Instance)->ColumnNumber = value;
}
}
}
@ -929,14 +907,12 @@ namespace CppSharp @@ -929,14 +907,12 @@ namespace CppSharp
{
get
{
var __ptr = (Internal*)__Instance.ToPointer();
return __ptr->Kind;
return ((Internal*) __Instance)->Kind;
}
set
{
var __ptr = (Internal*)__Instance.ToPointer();
__ptr->Kind = value;
((Internal*) __Instance)->Kind = value;
}
}
@ -944,14 +920,12 @@ namespace CppSharp @@ -944,14 +920,12 @@ namespace CppSharp
{
get
{
var __ptr = (Internal*)__Instance.ToPointer();
return (__ptr->ASTContext == IntPtr.Zero) ? null : CppSharp.Parser.AST.ASTContext.__CreateInstance(__ptr->ASTContext);
return (((Internal*) __Instance)->ASTContext == IntPtr.Zero) ? null : CppSharp.Parser.AST.ASTContext.__CreateInstance(((Internal*) __Instance)->ASTContext);
}
set
{
var __ptr = (Internal*)__Instance.ToPointer();
__ptr->ASTContext = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
((Internal*) __Instance)->ASTContext = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
}
}
@ -959,14 +933,12 @@ namespace CppSharp @@ -959,14 +933,12 @@ namespace CppSharp
{
get
{
var __ptr = (Internal*)__Instance.ToPointer();
return (__ptr->Library == IntPtr.Zero) ? null : CppSharp.Parser.AST.NativeLibrary.__CreateInstance(__ptr->Library);
return (((Internal*) __Instance)->Library == IntPtr.Zero) ? null : CppSharp.Parser.AST.NativeLibrary.__CreateInstance(((Internal*) __Instance)->Library);
}
set
{
var __ptr = (Internal*)__Instance.ToPointer();
__ptr->Library = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
((Internal*) __Instance)->Library = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
}
}
}

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

@ -34,6 +34,9 @@ namespace CppSharp @@ -34,6 +34,9 @@ namespace CppSharp
internal static extern void cctor_2(global::System.IntPtr instance, global::System.IntPtr _0);
}
private SourceLocation.Internal __instance;
public SourceLocation.Internal __Instance { get { return __instance; } }
public static SourceLocation __CreateInstance(global::System.IntPtr native)
{
return new SourceLocation((SourceLocation.Internal*) native);
@ -45,43 +48,36 @@ namespace CppSharp @@ -45,43 +48,36 @@ namespace CppSharp
}
private SourceLocation(SourceLocation.Internal native)
: this(&native)
: this()
{
__instance = native;
}
private SourceLocation(SourceLocation.Internal* native, bool isInternalImpl = false) : this()
{
var __ptr = native;
ID = __ptr->ID;
}
internal Internal ToInternal()
{
var __native = new CppSharp.Parser.SourceLocation.Internal();
var __ptr = &__native;
__native.ID = ID;
return __native;
}
internal void FromInternal(Internal* native)
{
var __ptr = native;
ID = __ptr->ID;
__instance = *native;
}
public SourceLocation(uint ID)
: this()
{
var __fixedInstance = ToInternal();
Internal.ctor_1(new global::System.IntPtr(&__fixedInstance), ID);
FromInternal(&__fixedInstance);
fixed (Internal* __instancePtr = &__instance)
{
Internal.ctor_1(new global::System.IntPtr(__instancePtr), ID);
}
}
public uint ID
{
get;
get
{
return __instance.ID;
}
set;
set
{
__instance.ID = value;
}
}
}
}

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

@ -245,14 +245,12 @@ namespace CppSharp @@ -245,14 +245,12 @@ namespace CppSharp
{
get
{
var __ptr = (Internal*)__Instance.ToPointer();
return __ptr->Char16Type;
return ((Internal*) __Instance)->Char16Type;
}
set
{
var __ptr = (Internal*)__Instance.ToPointer();
__ptr->Char16Type = value;
((Internal*) __Instance)->Char16Type = value;
}
}
@ -260,14 +258,12 @@ namespace CppSharp @@ -260,14 +258,12 @@ namespace CppSharp
{
get
{
var __ptr = (Internal*)__Instance.ToPointer();
return __ptr->Char32Type;
return ((Internal*) __Instance)->Char32Type;
}
set
{
var __ptr = (Internal*)__Instance.ToPointer();
__ptr->Char32Type = value;
((Internal*) __Instance)->Char32Type = value;
}
}
@ -275,14 +271,12 @@ namespace CppSharp @@ -275,14 +271,12 @@ namespace CppSharp
{
get
{
var __ptr = (Internal*)__Instance.ToPointer();
return __ptr->Int64Type;
return ((Internal*) __Instance)->Int64Type;
}
set
{
var __ptr = (Internal*)__Instance.ToPointer();
__ptr->Int64Type = value;
((Internal*) __Instance)->Int64Type = value;
}
}
@ -290,14 +284,12 @@ namespace CppSharp @@ -290,14 +284,12 @@ namespace CppSharp
{
get
{
var __ptr = (Internal*)__Instance.ToPointer();
return __ptr->IntMaxType;
return ((Internal*) __Instance)->IntMaxType;
}
set
{
var __ptr = (Internal*)__Instance.ToPointer();
__ptr->IntMaxType = value;
((Internal*) __Instance)->IntMaxType = value;
}
}
@ -305,14 +297,12 @@ namespace CppSharp @@ -305,14 +297,12 @@ namespace CppSharp
{
get
{
var __ptr = (Internal*)__Instance.ToPointer();
return __ptr->IntPtrType;
return ((Internal*) __Instance)->IntPtrType;
}
set
{
var __ptr = (Internal*)__Instance.ToPointer();
__ptr->IntPtrType = value;
((Internal*) __Instance)->IntPtrType = value;
}
}
@ -320,14 +310,12 @@ namespace CppSharp @@ -320,14 +310,12 @@ namespace CppSharp
{
get
{
var __ptr = (Internal*)__Instance.ToPointer();
return __ptr->SizeType;
return ((Internal*) __Instance)->SizeType;
}
set
{
var __ptr = (Internal*)__Instance.ToPointer();
__ptr->SizeType = value;
((Internal*) __Instance)->SizeType = value;
}
}
@ -335,14 +323,12 @@ namespace CppSharp @@ -335,14 +323,12 @@ namespace CppSharp
{
get
{
var __ptr = (Internal*)__Instance.ToPointer();
return __ptr->UIntMaxType;
return ((Internal*) __Instance)->UIntMaxType;
}
set
{
var __ptr = (Internal*)__Instance.ToPointer();
__ptr->UIntMaxType = value;
((Internal*) __Instance)->UIntMaxType = value;
}
}
@ -350,14 +336,12 @@ namespace CppSharp @@ -350,14 +336,12 @@ namespace CppSharp
{
get
{
var __ptr = (Internal*)__Instance.ToPointer();
return __ptr->WCharType;
return ((Internal*) __Instance)->WCharType;
}
set
{
var __ptr = (Internal*)__Instance.ToPointer();
__ptr->WCharType = value;
((Internal*) __Instance)->WCharType = value;
}
}
@ -365,14 +349,12 @@ namespace CppSharp @@ -365,14 +349,12 @@ namespace CppSharp
{
get
{
var __ptr = (Internal*)__Instance.ToPointer();
return __ptr->WIntType;
return ((Internal*) __Instance)->WIntType;
}
set
{
var __ptr = (Internal*)__Instance.ToPointer();
__ptr->WIntType = value;
((Internal*) __Instance)->WIntType = value;
}
}
@ -380,14 +362,12 @@ namespace CppSharp @@ -380,14 +362,12 @@ namespace CppSharp
{
get
{
var __ptr = (Internal*)__Instance.ToPointer();
return __ptr->BoolAlign;
return ((Internal*) __Instance)->BoolAlign;
}
set
{
var __ptr = (Internal*)__Instance.ToPointer();
__ptr->BoolAlign = value;
((Internal*) __Instance)->BoolAlign = value;
}
}
@ -395,14 +375,12 @@ namespace CppSharp @@ -395,14 +375,12 @@ namespace CppSharp
{
get
{
var __ptr = (Internal*)__Instance.ToPointer();
return __ptr->BoolWidth;
return ((Internal*) __Instance)->BoolWidth;
}
set
{
var __ptr = (Internal*)__Instance.ToPointer();
__ptr->BoolWidth = value;
((Internal*) __Instance)->BoolWidth = value;
}
}
@ -410,14 +388,12 @@ namespace CppSharp @@ -410,14 +388,12 @@ namespace CppSharp
{
get
{
var __ptr = (Internal*)__Instance.ToPointer();
return __ptr->CharAlign;
return ((Internal*) __Instance)->CharAlign;
}
set
{
var __ptr = (Internal*)__Instance.ToPointer();
__ptr->CharAlign = value;
((Internal*) __Instance)->CharAlign = value;
}
}
@ -425,14 +401,12 @@ namespace CppSharp @@ -425,14 +401,12 @@ namespace CppSharp
{
get
{
var __ptr = (Internal*)__Instance.ToPointer();
return __ptr->CharWidth;
return ((Internal*) __Instance)->CharWidth;
}
set
{
var __ptr = (Internal*)__Instance.ToPointer();
__ptr->CharWidth = value;
((Internal*) __Instance)->CharWidth = value;
}
}
@ -440,14 +414,12 @@ namespace CppSharp @@ -440,14 +414,12 @@ namespace CppSharp
{
get
{
var __ptr = (Internal*)__Instance.ToPointer();
return __ptr->Char16Align;
return ((Internal*) __Instance)->Char16Align;
}
set
{
var __ptr = (Internal*)__Instance.ToPointer();
__ptr->Char16Align = value;
((Internal*) __Instance)->Char16Align = value;
}
}
@ -455,14 +427,12 @@ namespace CppSharp @@ -455,14 +427,12 @@ namespace CppSharp
{
get
{
var __ptr = (Internal*)__Instance.ToPointer();
return __ptr->Char16Width;
return ((Internal*) __Instance)->Char16Width;
}
set
{
var __ptr = (Internal*)__Instance.ToPointer();
__ptr->Char16Width = value;
((Internal*) __Instance)->Char16Width = value;
}
}
@ -470,14 +440,12 @@ namespace CppSharp @@ -470,14 +440,12 @@ namespace CppSharp
{
get
{
var __ptr = (Internal*)__Instance.ToPointer();
return __ptr->Char32Align;
return ((Internal*) __Instance)->Char32Align;
}
set
{
var __ptr = (Internal*)__Instance.ToPointer();
__ptr->Char32Align = value;
((Internal*) __Instance)->Char32Align = value;
}
}
@ -485,14 +453,12 @@ namespace CppSharp @@ -485,14 +453,12 @@ namespace CppSharp
{
get
{
var __ptr = (Internal*)__Instance.ToPointer();
return __ptr->Char32Width;
return ((Internal*) __Instance)->Char32Width;
}
set
{
var __ptr = (Internal*)__Instance.ToPointer();
__ptr->Char32Width = value;
((Internal*) __Instance)->Char32Width = value;
}
}
@ -500,14 +466,12 @@ namespace CppSharp @@ -500,14 +466,12 @@ namespace CppSharp
{
get
{
var __ptr = (Internal*)__Instance.ToPointer();
return __ptr->HalfAlign;
return ((Internal*) __Instance)->HalfAlign;
}
set
{
var __ptr = (Internal*)__Instance.ToPointer();
__ptr->HalfAlign = value;
((Internal*) __Instance)->HalfAlign = value;
}
}
@ -515,14 +479,12 @@ namespace CppSharp @@ -515,14 +479,12 @@ namespace CppSharp
{
get
{
var __ptr = (Internal*)__Instance.ToPointer();
return __ptr->HalfWidth;
return ((Internal*) __Instance)->HalfWidth;
}
set
{
var __ptr = (Internal*)__Instance.ToPointer();
__ptr->HalfWidth = value;
((Internal*) __Instance)->HalfWidth = value;
}
}
@ -530,14 +492,12 @@ namespace CppSharp @@ -530,14 +492,12 @@ namespace CppSharp
{
get
{
var __ptr = (Internal*)__Instance.ToPointer();
return __ptr->FloatAlign;
return ((Internal*) __Instance)->FloatAlign;
}
set
{
var __ptr = (Internal*)__Instance.ToPointer();
__ptr->FloatAlign = value;
((Internal*) __Instance)->FloatAlign = value;
}
}
@ -545,14 +505,12 @@ namespace CppSharp @@ -545,14 +505,12 @@ namespace CppSharp
{
get
{
var __ptr = (Internal*)__Instance.ToPointer();
return __ptr->FloatWidth;
return ((Internal*) __Instance)->FloatWidth;
}
set
{
var __ptr = (Internal*)__Instance.ToPointer();
__ptr->FloatWidth = value;
((Internal*) __Instance)->FloatWidth = value;
}
}
@ -560,14 +518,12 @@ namespace CppSharp @@ -560,14 +518,12 @@ namespace CppSharp
{
get
{
var __ptr = (Internal*)__Instance.ToPointer();
return __ptr->DoubleAlign;
return ((Internal*) __Instance)->DoubleAlign;
}
set
{
var __ptr = (Internal*)__Instance.ToPointer();
__ptr->DoubleAlign = value;
((Internal*) __Instance)->DoubleAlign = value;
}
}
@ -575,14 +531,12 @@ namespace CppSharp @@ -575,14 +531,12 @@ namespace CppSharp
{
get
{
var __ptr = (Internal*)__Instance.ToPointer();
return __ptr->DoubleWidth;
return ((Internal*) __Instance)->DoubleWidth;
}
set
{
var __ptr = (Internal*)__Instance.ToPointer();
__ptr->DoubleWidth = value;
((Internal*) __Instance)->DoubleWidth = value;
}
}
@ -590,14 +544,12 @@ namespace CppSharp @@ -590,14 +544,12 @@ namespace CppSharp
{
get
{
var __ptr = (Internal*)__Instance.ToPointer();
return __ptr->ShortAlign;
return ((Internal*) __Instance)->ShortAlign;
}
set
{
var __ptr = (Internal*)__Instance.ToPointer();
__ptr->ShortAlign = value;
((Internal*) __Instance)->ShortAlign = value;
}
}
@ -605,14 +557,12 @@ namespace CppSharp @@ -605,14 +557,12 @@ namespace CppSharp
{
get
{
var __ptr = (Internal*)__Instance.ToPointer();
return __ptr->ShortWidth;
return ((Internal*) __Instance)->ShortWidth;
}
set
{
var __ptr = (Internal*)__Instance.ToPointer();
__ptr->ShortWidth = value;
((Internal*) __Instance)->ShortWidth = value;
}
}
@ -620,14 +570,12 @@ namespace CppSharp @@ -620,14 +570,12 @@ namespace CppSharp
{
get
{
var __ptr = (Internal*)__Instance.ToPointer();
return __ptr->IntAlign;
return ((Internal*) __Instance)->IntAlign;
}
set
{
var __ptr = (Internal*)__Instance.ToPointer();
__ptr->IntAlign = value;
((Internal*) __Instance)->IntAlign = value;
}
}
@ -635,14 +583,12 @@ namespace CppSharp @@ -635,14 +583,12 @@ namespace CppSharp
{
get
{
var __ptr = (Internal*)__Instance.ToPointer();
return __ptr->IntWidth;
return ((Internal*) __Instance)->IntWidth;
}
set
{
var __ptr = (Internal*)__Instance.ToPointer();
__ptr->IntWidth = value;
((Internal*) __Instance)->IntWidth = value;
}
}
@ -650,14 +596,12 @@ namespace CppSharp @@ -650,14 +596,12 @@ namespace CppSharp
{
get
{
var __ptr = (Internal*)__Instance.ToPointer();
return __ptr->IntMaxTWidth;
return ((Internal*) __Instance)->IntMaxTWidth;
}
set
{
var __ptr = (Internal*)__Instance.ToPointer();
__ptr->IntMaxTWidth = value;
((Internal*) __Instance)->IntMaxTWidth = value;
}
}
@ -665,14 +609,12 @@ namespace CppSharp @@ -665,14 +609,12 @@ namespace CppSharp
{
get
{
var __ptr = (Internal*)__Instance.ToPointer();
return __ptr->LongAlign;
return ((Internal*) __Instance)->LongAlign;
}
set
{
var __ptr = (Internal*)__Instance.ToPointer();
__ptr->LongAlign = value;
((Internal*) __Instance)->LongAlign = value;
}
}
@ -680,14 +622,12 @@ namespace CppSharp @@ -680,14 +622,12 @@ namespace CppSharp
{
get
{
var __ptr = (Internal*)__Instance.ToPointer();
return __ptr->LongWidth;
return ((Internal*) __Instance)->LongWidth;
}
set
{
var __ptr = (Internal*)__Instance.ToPointer();
__ptr->LongWidth = value;
((Internal*) __Instance)->LongWidth = value;
}
}
@ -695,14 +635,12 @@ namespace CppSharp @@ -695,14 +635,12 @@ namespace CppSharp
{
get
{
var __ptr = (Internal*)__Instance.ToPointer();
return __ptr->LongDoubleAlign;
return ((Internal*) __Instance)->LongDoubleAlign;
}
set
{
var __ptr = (Internal*)__Instance.ToPointer();
__ptr->LongDoubleAlign = value;
((Internal*) __Instance)->LongDoubleAlign = value;
}
}
@ -710,14 +648,12 @@ namespace CppSharp @@ -710,14 +648,12 @@ namespace CppSharp
{
get
{
var __ptr = (Internal*)__Instance.ToPointer();
return __ptr->LongDoubleWidth;
return ((Internal*) __Instance)->LongDoubleWidth;
}
set
{
var __ptr = (Internal*)__Instance.ToPointer();
__ptr->LongDoubleWidth = value;
((Internal*) __Instance)->LongDoubleWidth = value;
}
}
@ -725,14 +661,12 @@ namespace CppSharp @@ -725,14 +661,12 @@ namespace CppSharp
{
get
{
var __ptr = (Internal*)__Instance.ToPointer();
return __ptr->LongLongAlign;
return ((Internal*) __Instance)->LongLongAlign;
}
set
{
var __ptr = (Internal*)__Instance.ToPointer();
__ptr->LongLongAlign = value;
((Internal*) __Instance)->LongLongAlign = value;
}
}
@ -740,14 +674,12 @@ namespace CppSharp @@ -740,14 +674,12 @@ namespace CppSharp
{
get
{
var __ptr = (Internal*)__Instance.ToPointer();
return __ptr->LongLongWidth;
return ((Internal*) __Instance)->LongLongWidth;
}
set
{
var __ptr = (Internal*)__Instance.ToPointer();
__ptr->LongLongWidth = value;
((Internal*) __Instance)->LongLongWidth = value;
}
}
@ -755,14 +687,12 @@ namespace CppSharp @@ -755,14 +687,12 @@ namespace CppSharp
{
get
{
var __ptr = (Internal*)__Instance.ToPointer();
return __ptr->PointerAlign;
return ((Internal*) __Instance)->PointerAlign;
}
set
{
var __ptr = (Internal*)__Instance.ToPointer();
__ptr->PointerAlign = value;
((Internal*) __Instance)->PointerAlign = value;
}
}
@ -770,14 +700,12 @@ namespace CppSharp @@ -770,14 +700,12 @@ namespace CppSharp
{
get
{
var __ptr = (Internal*)__Instance.ToPointer();
return __ptr->PointerWidth;
return ((Internal*) __Instance)->PointerWidth;
}
set
{
var __ptr = (Internal*)__Instance.ToPointer();
__ptr->PointerWidth = value;
((Internal*) __Instance)->PointerWidth = value;
}
}
@ -785,14 +713,12 @@ namespace CppSharp @@ -785,14 +713,12 @@ namespace CppSharp
{
get
{
var __ptr = (Internal*)__Instance.ToPointer();
return __ptr->WCharAlign;
return ((Internal*) __Instance)->WCharAlign;
}
set
{
var __ptr = (Internal*)__Instance.ToPointer();
__ptr->WCharAlign = value;
((Internal*) __Instance)->WCharAlign = value;
}
}
@ -800,14 +726,12 @@ namespace CppSharp @@ -800,14 +726,12 @@ namespace CppSharp
{
get
{
var __ptr = (Internal*)__Instance.ToPointer();
return __ptr->WCharWidth;
return ((Internal*) __Instance)->WCharWidth;
}
set
{
var __ptr = (Internal*)__Instance.ToPointer();
__ptr->WCharWidth = value;
((Internal*) __Instance)->WCharWidth = value;
}
}
}

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

File diff suppressed because it is too large Load Diff

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

@ -490,14 +490,12 @@ namespace CppSharp @@ -490,14 +490,12 @@ namespace CppSharp
{
get
{
var __ptr = (Internal*)__Instance.ToPointer();
return (__ptr->ASTContext == IntPtr.Zero) ? null : CppSharp.Parser.AST.ASTContext.__CreateInstance(__ptr->ASTContext);
return (((Internal*) __Instance)->ASTContext == IntPtr.Zero) ? null : CppSharp.Parser.AST.ASTContext.__CreateInstance(((Internal*) __Instance)->ASTContext);
}
set
{
var __ptr = (Internal*)__Instance.ToPointer();
__ptr->ASTContext = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
((Internal*) __Instance)->ASTContext = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
}
}
@ -505,14 +503,12 @@ namespace CppSharp @@ -505,14 +503,12 @@ namespace CppSharp
{
get
{
var __ptr = (Internal*)__Instance.ToPointer();
return __ptr->ToolSetToUse;
return ((Internal*) __Instance)->ToolSetToUse;
}
set
{
var __ptr = (Internal*)__Instance.ToPointer();
__ptr->ToolSetToUse = value;
((Internal*) __Instance)->ToolSetToUse = value;
}
}
@ -520,14 +516,12 @@ namespace CppSharp @@ -520,14 +516,12 @@ namespace CppSharp
{
get
{
var __ptr = (Internal*)__Instance.ToPointer();
return __ptr->Abi;
return ((Internal*) __Instance)->Abi;
}
set
{
var __ptr = (Internal*)__Instance.ToPointer();
__ptr->Abi = value;
((Internal*) __Instance)->Abi = value;
}
}
@ -535,14 +529,12 @@ namespace CppSharp @@ -535,14 +529,12 @@ namespace CppSharp
{
get
{
var __ptr = (Internal*)__Instance.ToPointer();
return __ptr->NoStandardIncludes;
return ((Internal*) __Instance)->NoStandardIncludes;
}
set
{
var __ptr = (Internal*)__Instance.ToPointer();
__ptr->NoStandardIncludes = value;
((Internal*) __Instance)->NoStandardIncludes = value;
}
}
@ -550,14 +542,12 @@ namespace CppSharp @@ -550,14 +542,12 @@ namespace CppSharp
{
get
{
var __ptr = (Internal*)__Instance.ToPointer();
return __ptr->NoBuiltinIncludes;
return ((Internal*) __Instance)->NoBuiltinIncludes;
}
set
{
var __ptr = (Internal*)__Instance.ToPointer();
__ptr->NoBuiltinIncludes = value;
((Internal*) __Instance)->NoBuiltinIncludes = value;
}
}
@ -565,14 +555,12 @@ namespace CppSharp @@ -565,14 +555,12 @@ namespace CppSharp
{
get
{
var __ptr = (Internal*)__Instance.ToPointer();
return __ptr->MicrosoftMode;
return ((Internal*) __Instance)->MicrosoftMode;
}
set
{
var __ptr = (Internal*)__Instance.ToPointer();
__ptr->MicrosoftMode = value;
((Internal*) __Instance)->MicrosoftMode = value;
}
}
@ -580,14 +568,12 @@ namespace CppSharp @@ -580,14 +568,12 @@ namespace CppSharp
{
get
{
var __ptr = (Internal*)__Instance.ToPointer();
return __ptr->Verbose;
return ((Internal*) __Instance)->Verbose;
}
set
{
var __ptr = (Internal*)__Instance.ToPointer();
__ptr->Verbose = value;
((Internal*) __Instance)->Verbose = value;
}
}
@ -595,14 +581,12 @@ namespace CppSharp @@ -595,14 +581,12 @@ namespace CppSharp
{
get
{
var __ptr = (Internal*)__Instance.ToPointer();
return __ptr->LanguageVersion;
return ((Internal*) __Instance)->LanguageVersion;
}
set
{
var __ptr = (Internal*)__Instance.ToPointer();
__ptr->LanguageVersion = value;
((Internal*) __Instance)->LanguageVersion = value;
}
}
}
@ -749,14 +733,12 @@ namespace CppSharp @@ -749,14 +733,12 @@ namespace CppSharp
{
get
{
var __ptr = (Internal*)__Instance.ToPointer();
return __ptr->Level;
return ((Internal*) __Instance)->Level;
}
set
{
var __ptr = (Internal*)__Instance.ToPointer();
__ptr->Level = value;
((Internal*) __Instance)->Level = value;
}
}
@ -764,14 +746,12 @@ namespace CppSharp @@ -764,14 +746,12 @@ namespace CppSharp
{
get
{
var __ptr = (Internal*)__Instance.ToPointer();
return __ptr->LineNumber;
return ((Internal*) __Instance)->LineNumber;
}
set
{
var __ptr = (Internal*)__Instance.ToPointer();
__ptr->LineNumber = value;
((Internal*) __Instance)->LineNumber = value;
}
}
@ -779,14 +759,12 @@ namespace CppSharp @@ -779,14 +759,12 @@ namespace CppSharp
{
get
{
var __ptr = (Internal*)__Instance.ToPointer();
return __ptr->ColumnNumber;
return ((Internal*) __Instance)->ColumnNumber;
}
set
{
var __ptr = (Internal*)__Instance.ToPointer();
__ptr->ColumnNumber = value;
((Internal*) __Instance)->ColumnNumber = value;
}
}
}
@ -929,14 +907,12 @@ namespace CppSharp @@ -929,14 +907,12 @@ namespace CppSharp
{
get
{
var __ptr = (Internal*)__Instance.ToPointer();
return __ptr->Kind;
return ((Internal*) __Instance)->Kind;
}
set
{
var __ptr = (Internal*)__Instance.ToPointer();
__ptr->Kind = value;
((Internal*) __Instance)->Kind = value;
}
}
@ -944,14 +920,12 @@ namespace CppSharp @@ -944,14 +920,12 @@ namespace CppSharp
{
get
{
var __ptr = (Internal*)__Instance.ToPointer();
return (__ptr->ASTContext == IntPtr.Zero) ? null : CppSharp.Parser.AST.ASTContext.__CreateInstance(__ptr->ASTContext);
return (((Internal*) __Instance)->ASTContext == IntPtr.Zero) ? null : CppSharp.Parser.AST.ASTContext.__CreateInstance(((Internal*) __Instance)->ASTContext);
}
set
{
var __ptr = (Internal*)__Instance.ToPointer();
__ptr->ASTContext = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
((Internal*) __Instance)->ASTContext = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
}
}
@ -959,14 +933,12 @@ namespace CppSharp @@ -959,14 +933,12 @@ namespace CppSharp
{
get
{
var __ptr = (Internal*)__Instance.ToPointer();
return (__ptr->Library == IntPtr.Zero) ? null : CppSharp.Parser.AST.NativeLibrary.__CreateInstance(__ptr->Library);
return (((Internal*) __Instance)->Library == IntPtr.Zero) ? null : CppSharp.Parser.AST.NativeLibrary.__CreateInstance(((Internal*) __Instance)->Library);
}
set
{
var __ptr = (Internal*)__Instance.ToPointer();
__ptr->Library = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
((Internal*) __Instance)->Library = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
}
}
}

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

@ -34,6 +34,9 @@ namespace CppSharp @@ -34,6 +34,9 @@ namespace CppSharp
internal static extern global::System.IntPtr cctor_2(global::System.IntPtr instance, global::System.IntPtr _0);
}
private SourceLocation.Internal __instance;
public SourceLocation.Internal __Instance { get { return __instance; } }
public static SourceLocation __CreateInstance(global::System.IntPtr native)
{
return new SourceLocation((SourceLocation.Internal*) native);
@ -45,43 +48,36 @@ namespace CppSharp @@ -45,43 +48,36 @@ namespace CppSharp
}
private SourceLocation(SourceLocation.Internal native)
: this(&native)
: this()
{
__instance = native;
}
private SourceLocation(SourceLocation.Internal* native, bool isInternalImpl = false) : this()
{
var __ptr = native;
ID = __ptr->ID;
}
internal Internal ToInternal()
{
var __native = new CppSharp.Parser.SourceLocation.Internal();
var __ptr = &__native;
__native.ID = ID;
return __native;
}
internal void FromInternal(Internal* native)
{
var __ptr = native;
ID = __ptr->ID;
__instance = *native;
}
public SourceLocation(uint ID)
: this()
{
var __fixedInstance = ToInternal();
Internal.ctor_1(new global::System.IntPtr(&__fixedInstance), ID);
FromInternal(&__fixedInstance);
fixed (Internal* __instancePtr = &__instance)
{
Internal.ctor_1(new global::System.IntPtr(__instancePtr), ID);
}
}
public uint ID
{
get;
get
{
return __instance.ID;
}
set;
set
{
__instance.ID = value;
}
}
}
}

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

@ -245,14 +245,12 @@ namespace CppSharp @@ -245,14 +245,12 @@ namespace CppSharp
{
get
{
var __ptr = (Internal*)__Instance.ToPointer();
return __ptr->Char16Type;
return ((Internal*) __Instance)->Char16Type;
}
set
{
var __ptr = (Internal*)__Instance.ToPointer();
__ptr->Char16Type = value;
((Internal*) __Instance)->Char16Type = value;
}
}
@ -260,14 +258,12 @@ namespace CppSharp @@ -260,14 +258,12 @@ namespace CppSharp
{
get
{
var __ptr = (Internal*)__Instance.ToPointer();
return __ptr->Char32Type;
return ((Internal*) __Instance)->Char32Type;
}
set
{
var __ptr = (Internal*)__Instance.ToPointer();
__ptr->Char32Type = value;
((Internal*) __Instance)->Char32Type = value;
}
}
@ -275,14 +271,12 @@ namespace CppSharp @@ -275,14 +271,12 @@ namespace CppSharp
{
get
{
var __ptr = (Internal*)__Instance.ToPointer();
return __ptr->Int64Type;
return ((Internal*) __Instance)->Int64Type;
}
set
{
var __ptr = (Internal*)__Instance.ToPointer();
__ptr->Int64Type = value;
((Internal*) __Instance)->Int64Type = value;
}
}
@ -290,14 +284,12 @@ namespace CppSharp @@ -290,14 +284,12 @@ namespace CppSharp
{
get
{
var __ptr = (Internal*)__Instance.ToPointer();
return __ptr->IntMaxType;
return ((Internal*) __Instance)->IntMaxType;
}
set
{
var __ptr = (Internal*)__Instance.ToPointer();
__ptr->IntMaxType = value;
((Internal*) __Instance)->IntMaxType = value;
}
}
@ -305,14 +297,12 @@ namespace CppSharp @@ -305,14 +297,12 @@ namespace CppSharp
{
get
{
var __ptr = (Internal*)__Instance.ToPointer();
return __ptr->IntPtrType;
return ((Internal*) __Instance)->IntPtrType;
}
set
{
var __ptr = (Internal*)__Instance.ToPointer();
__ptr->IntPtrType = value;
((Internal*) __Instance)->IntPtrType = value;
}
}
@ -320,14 +310,12 @@ namespace CppSharp @@ -320,14 +310,12 @@ namespace CppSharp
{
get
{
var __ptr = (Internal*)__Instance.ToPointer();
return __ptr->SizeType;
return ((Internal*) __Instance)->SizeType;
}
set
{
var __ptr = (Internal*)__Instance.ToPointer();
__ptr->SizeType = value;
((Internal*) __Instance)->SizeType = value;
}
}
@ -335,14 +323,12 @@ namespace CppSharp @@ -335,14 +323,12 @@ namespace CppSharp
{
get
{
var __ptr = (Internal*)__Instance.ToPointer();
return __ptr->UIntMaxType;
return ((Internal*) __Instance)->UIntMaxType;
}
set
{
var __ptr = (Internal*)__Instance.ToPointer();
__ptr->UIntMaxType = value;
((Internal*) __Instance)->UIntMaxType = value;
}
}
@ -350,14 +336,12 @@ namespace CppSharp @@ -350,14 +336,12 @@ namespace CppSharp
{
get
{
var __ptr = (Internal*)__Instance.ToPointer();
return __ptr->WCharType;
return ((Internal*) __Instance)->WCharType;
}
set
{
var __ptr = (Internal*)__Instance.ToPointer();
__ptr->WCharType = value;
((Internal*) __Instance)->WCharType = value;
}
}
@ -365,14 +349,12 @@ namespace CppSharp @@ -365,14 +349,12 @@ namespace CppSharp
{
get
{
var __ptr = (Internal*)__Instance.ToPointer();
return __ptr->WIntType;
return ((Internal*) __Instance)->WIntType;
}
set
{
var __ptr = (Internal*)__Instance.ToPointer();
__ptr->WIntType = value;
((Internal*) __Instance)->WIntType = value;
}
}
@ -380,14 +362,12 @@ namespace CppSharp @@ -380,14 +362,12 @@ namespace CppSharp
{
get
{
var __ptr = (Internal*)__Instance.ToPointer();
return __ptr->BoolAlign;
return ((Internal*) __Instance)->BoolAlign;
}
set
{
var __ptr = (Internal*)__Instance.ToPointer();
__ptr->BoolAlign = value;
((Internal*) __Instance)->BoolAlign = value;
}
}
@ -395,14 +375,12 @@ namespace CppSharp @@ -395,14 +375,12 @@ namespace CppSharp
{
get
{
var __ptr = (Internal*)__Instance.ToPointer();
return __ptr->BoolWidth;
return ((Internal*) __Instance)->BoolWidth;
}
set
{
var __ptr = (Internal*)__Instance.ToPointer();
__ptr->BoolWidth = value;
((Internal*) __Instance)->BoolWidth = value;
}
}
@ -410,14 +388,12 @@ namespace CppSharp @@ -410,14 +388,12 @@ namespace CppSharp
{
get
{
var __ptr = (Internal*)__Instance.ToPointer();
return __ptr->CharAlign;
return ((Internal*) __Instance)->CharAlign;
}
set
{
var __ptr = (Internal*)__Instance.ToPointer();
__ptr->CharAlign = value;
((Internal*) __Instance)->CharAlign = value;
}
}
@ -425,14 +401,12 @@ namespace CppSharp @@ -425,14 +401,12 @@ namespace CppSharp
{
get
{
var __ptr = (Internal*)__Instance.ToPointer();
return __ptr->CharWidth;
return ((Internal*) __Instance)->CharWidth;
}
set
{
var __ptr = (Internal*)__Instance.ToPointer();
__ptr->CharWidth = value;
((Internal*) __Instance)->CharWidth = value;
}
}
@ -440,14 +414,12 @@ namespace CppSharp @@ -440,14 +414,12 @@ namespace CppSharp
{
get
{
var __ptr = (Internal*)__Instance.ToPointer();
return __ptr->Char16Align;
return ((Internal*) __Instance)->Char16Align;
}
set
{
var __ptr = (Internal*)__Instance.ToPointer();
__ptr->Char16Align = value;
((Internal*) __Instance)->Char16Align = value;
}
}
@ -455,14 +427,12 @@ namespace CppSharp @@ -455,14 +427,12 @@ namespace CppSharp
{
get
{
var __ptr = (Internal*)__Instance.ToPointer();
return __ptr->Char16Width;
return ((Internal*) __Instance)->Char16Width;
}
set
{
var __ptr = (Internal*)__Instance.ToPointer();
__ptr->Char16Width = value;
((Internal*) __Instance)->Char16Width = value;
}
}
@ -470,14 +440,12 @@ namespace CppSharp @@ -470,14 +440,12 @@ namespace CppSharp
{
get
{
var __ptr = (Internal*)__Instance.ToPointer();
return __ptr->Char32Align;
return ((Internal*) __Instance)->Char32Align;
}
set
{
var __ptr = (Internal*)__Instance.ToPointer();
__ptr->Char32Align = value;
((Internal*) __Instance)->Char32Align = value;
}
}
@ -485,14 +453,12 @@ namespace CppSharp @@ -485,14 +453,12 @@ namespace CppSharp
{
get
{
var __ptr = (Internal*)__Instance.ToPointer();
return __ptr->Char32Width;
return ((Internal*) __Instance)->Char32Width;
}
set
{
var __ptr = (Internal*)__Instance.ToPointer();
__ptr->Char32Width = value;
((Internal*) __Instance)->Char32Width = value;
}
}
@ -500,14 +466,12 @@ namespace CppSharp @@ -500,14 +466,12 @@ namespace CppSharp
{
get
{
var __ptr = (Internal*)__Instance.ToPointer();
return __ptr->HalfAlign;
return ((Internal*) __Instance)->HalfAlign;
}
set
{
var __ptr = (Internal*)__Instance.ToPointer();
__ptr->HalfAlign = value;
((Internal*) __Instance)->HalfAlign = value;
}
}
@ -515,14 +479,12 @@ namespace CppSharp @@ -515,14 +479,12 @@ namespace CppSharp
{
get
{
var __ptr = (Internal*)__Instance.ToPointer();
return __ptr->HalfWidth;
return ((Internal*) __Instance)->HalfWidth;
}
set
{
var __ptr = (Internal*)__Instance.ToPointer();
__ptr->HalfWidth = value;
((Internal*) __Instance)->HalfWidth = value;
}
}
@ -530,14 +492,12 @@ namespace CppSharp @@ -530,14 +492,12 @@ namespace CppSharp
{
get
{
var __ptr = (Internal*)__Instance.ToPointer();
return __ptr->FloatAlign;
return ((Internal*) __Instance)->FloatAlign;
}
set
{
var __ptr = (Internal*)__Instance.ToPointer();
__ptr->FloatAlign = value;
((Internal*) __Instance)->FloatAlign = value;
}
}
@ -545,14 +505,12 @@ namespace CppSharp @@ -545,14 +505,12 @@ namespace CppSharp
{
get
{
var __ptr = (Internal*)__Instance.ToPointer();
return __ptr->FloatWidth;
return ((Internal*) __Instance)->FloatWidth;
}
set
{
var __ptr = (Internal*)__Instance.ToPointer();
__ptr->FloatWidth = value;
((Internal*) __Instance)->FloatWidth = value;
}
}
@ -560,14 +518,12 @@ namespace CppSharp @@ -560,14 +518,12 @@ namespace CppSharp
{
get
{
var __ptr = (Internal*)__Instance.ToPointer();
return __ptr->DoubleAlign;
return ((Internal*) __Instance)->DoubleAlign;
}
set
{
var __ptr = (Internal*)__Instance.ToPointer();
__ptr->DoubleAlign = value;
((Internal*) __Instance)->DoubleAlign = value;
}
}
@ -575,14 +531,12 @@ namespace CppSharp @@ -575,14 +531,12 @@ namespace CppSharp
{
get
{
var __ptr = (Internal*)__Instance.ToPointer();
return __ptr->DoubleWidth;
return ((Internal*) __Instance)->DoubleWidth;
}
set
{
var __ptr = (Internal*)__Instance.ToPointer();
__ptr->DoubleWidth = value;
((Internal*) __Instance)->DoubleWidth = value;
}
}
@ -590,14 +544,12 @@ namespace CppSharp @@ -590,14 +544,12 @@ namespace CppSharp
{
get
{
var __ptr = (Internal*)__Instance.ToPointer();
return __ptr->ShortAlign;
return ((Internal*) __Instance)->ShortAlign;
}
set
{
var __ptr = (Internal*)__Instance.ToPointer();
__ptr->ShortAlign = value;
((Internal*) __Instance)->ShortAlign = value;
}
}
@ -605,14 +557,12 @@ namespace CppSharp @@ -605,14 +557,12 @@ namespace CppSharp
{
get
{
var __ptr = (Internal*)__Instance.ToPointer();
return __ptr->ShortWidth;
return ((Internal*) __Instance)->ShortWidth;
}
set
{
var __ptr = (Internal*)__Instance.ToPointer();
__ptr->ShortWidth = value;
((Internal*) __Instance)->ShortWidth = value;
}
}
@ -620,14 +570,12 @@ namespace CppSharp @@ -620,14 +570,12 @@ namespace CppSharp
{
get
{
var __ptr = (Internal*)__Instance.ToPointer();
return __ptr->IntAlign;
return ((Internal*) __Instance)->IntAlign;
}
set
{
var __ptr = (Internal*)__Instance.ToPointer();
__ptr->IntAlign = value;
((Internal*) __Instance)->IntAlign = value;
}
}
@ -635,14 +583,12 @@ namespace CppSharp @@ -635,14 +583,12 @@ namespace CppSharp
{
get
{
var __ptr = (Internal*)__Instance.ToPointer();
return __ptr->IntWidth;
return ((Internal*) __Instance)->IntWidth;
}
set
{
var __ptr = (Internal*)__Instance.ToPointer();
__ptr->IntWidth = value;
((Internal*) __Instance)->IntWidth = value;
}
}
@ -650,14 +596,12 @@ namespace CppSharp @@ -650,14 +596,12 @@ namespace CppSharp
{
get
{
var __ptr = (Internal*)__Instance.ToPointer();
return __ptr->IntMaxTWidth;
return ((Internal*) __Instance)->IntMaxTWidth;
}
set
{
var __ptr = (Internal*)__Instance.ToPointer();
__ptr->IntMaxTWidth = value;
((Internal*) __Instance)->IntMaxTWidth = value;
}
}
@ -665,14 +609,12 @@ namespace CppSharp @@ -665,14 +609,12 @@ namespace CppSharp
{
get
{
var __ptr = (Internal*)__Instance.ToPointer();
return __ptr->LongAlign;
return ((Internal*) __Instance)->LongAlign;
}
set
{
var __ptr = (Internal*)__Instance.ToPointer();
__ptr->LongAlign = value;
((Internal*) __Instance)->LongAlign = value;
}
}
@ -680,14 +622,12 @@ namespace CppSharp @@ -680,14 +622,12 @@ namespace CppSharp
{
get
{
var __ptr = (Internal*)__Instance.ToPointer();
return __ptr->LongWidth;
return ((Internal*) __Instance)->LongWidth;
}
set
{
var __ptr = (Internal*)__Instance.ToPointer();
__ptr->LongWidth = value;
((Internal*) __Instance)->LongWidth = value;
}
}
@ -695,14 +635,12 @@ namespace CppSharp @@ -695,14 +635,12 @@ namespace CppSharp
{
get
{
var __ptr = (Internal*)__Instance.ToPointer();
return __ptr->LongDoubleAlign;
return ((Internal*) __Instance)->LongDoubleAlign;
}
set
{
var __ptr = (Internal*)__Instance.ToPointer();
__ptr->LongDoubleAlign = value;
((Internal*) __Instance)->LongDoubleAlign = value;
}
}
@ -710,14 +648,12 @@ namespace CppSharp @@ -710,14 +648,12 @@ namespace CppSharp
{
get
{
var __ptr = (Internal*)__Instance.ToPointer();
return __ptr->LongDoubleWidth;
return ((Internal*) __Instance)->LongDoubleWidth;
}
set
{
var __ptr = (Internal*)__Instance.ToPointer();
__ptr->LongDoubleWidth = value;
((Internal*) __Instance)->LongDoubleWidth = value;
}
}
@ -725,14 +661,12 @@ namespace CppSharp @@ -725,14 +661,12 @@ namespace CppSharp
{
get
{
var __ptr = (Internal*)__Instance.ToPointer();
return __ptr->LongLongAlign;
return ((Internal*) __Instance)->LongLongAlign;
}
set
{
var __ptr = (Internal*)__Instance.ToPointer();
__ptr->LongLongAlign = value;
((Internal*) __Instance)->LongLongAlign = value;
}
}
@ -740,14 +674,12 @@ namespace CppSharp @@ -740,14 +674,12 @@ namespace CppSharp
{
get
{
var __ptr = (Internal*)__Instance.ToPointer();
return __ptr->LongLongWidth;
return ((Internal*) __Instance)->LongLongWidth;
}
set
{
var __ptr = (Internal*)__Instance.ToPointer();
__ptr->LongLongWidth = value;
((Internal*) __Instance)->LongLongWidth = value;
}
}
@ -755,14 +687,12 @@ namespace CppSharp @@ -755,14 +687,12 @@ namespace CppSharp
{
get
{
var __ptr = (Internal*)__Instance.ToPointer();
return __ptr->PointerAlign;
return ((Internal*) __Instance)->PointerAlign;
}
set
{
var __ptr = (Internal*)__Instance.ToPointer();
__ptr->PointerAlign = value;
((Internal*) __Instance)->PointerAlign = value;
}
}
@ -770,14 +700,12 @@ namespace CppSharp @@ -770,14 +700,12 @@ namespace CppSharp
{
get
{
var __ptr = (Internal*)__Instance.ToPointer();
return __ptr->PointerWidth;
return ((Internal*) __Instance)->PointerWidth;
}
set
{
var __ptr = (Internal*)__Instance.ToPointer();
__ptr->PointerWidth = value;
((Internal*) __Instance)->PointerWidth = value;
}
}
@ -785,14 +713,12 @@ namespace CppSharp @@ -785,14 +713,12 @@ namespace CppSharp
{
get
{
var __ptr = (Internal*)__Instance.ToPointer();
return __ptr->WCharAlign;
return ((Internal*) __Instance)->WCharAlign;
}
set
{
var __ptr = (Internal*)__Instance.ToPointer();
__ptr->WCharAlign = value;
((Internal*) __Instance)->WCharAlign = value;
}
}
@ -800,14 +726,12 @@ namespace CppSharp @@ -800,14 +726,12 @@ namespace CppSharp
{
get
{
var __ptr = (Internal*)__Instance.ToPointer();
return __ptr->WCharWidth;
return ((Internal*) __Instance)->WCharWidth;
}
set
{
var __ptr = (Internal*)__Instance.ToPointer();
__ptr->WCharWidth = value;
((Internal*) __Instance)->WCharWidth = value;
}
}
}

780
src/CppParser/Bindings/CSharp/x86_64-linux-gnu/AST.cs

File diff suppressed because it is too large Load Diff

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

@ -490,14 +490,12 @@ namespace CppSharp @@ -490,14 +490,12 @@ namespace CppSharp
{
get
{
var __ptr = (Internal*)__Instance.ToPointer();
return (__ptr->ASTContext == IntPtr.Zero) ? null : CppSharp.Parser.AST.ASTContext.__CreateInstance(__ptr->ASTContext);
return (((Internal*) __Instance)->ASTContext == IntPtr.Zero) ? null : CppSharp.Parser.AST.ASTContext.__CreateInstance(((Internal*) __Instance)->ASTContext);
}
set
{
var __ptr = (Internal*)__Instance.ToPointer();
__ptr->ASTContext = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
((Internal*) __Instance)->ASTContext = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
}
}
@ -505,14 +503,12 @@ namespace CppSharp @@ -505,14 +503,12 @@ namespace CppSharp
{
get
{
var __ptr = (Internal*)__Instance.ToPointer();
return __ptr->ToolSetToUse;
return ((Internal*) __Instance)->ToolSetToUse;
}
set
{
var __ptr = (Internal*)__Instance.ToPointer();
__ptr->ToolSetToUse = value;
((Internal*) __Instance)->ToolSetToUse = value;
}
}
@ -520,14 +516,12 @@ namespace CppSharp @@ -520,14 +516,12 @@ namespace CppSharp
{
get
{
var __ptr = (Internal*)__Instance.ToPointer();
return __ptr->Abi;
return ((Internal*) __Instance)->Abi;
}
set
{
var __ptr = (Internal*)__Instance.ToPointer();
__ptr->Abi = value;
((Internal*) __Instance)->Abi = value;
}
}
@ -535,14 +529,12 @@ namespace CppSharp @@ -535,14 +529,12 @@ namespace CppSharp
{
get
{
var __ptr = (Internal*)__Instance.ToPointer();
return __ptr->NoStandardIncludes;
return ((Internal*) __Instance)->NoStandardIncludes;
}
set
{
var __ptr = (Internal*)__Instance.ToPointer();
__ptr->NoStandardIncludes = value;
((Internal*) __Instance)->NoStandardIncludes = value;
}
}
@ -550,14 +542,12 @@ namespace CppSharp @@ -550,14 +542,12 @@ namespace CppSharp
{
get
{
var __ptr = (Internal*)__Instance.ToPointer();
return __ptr->NoBuiltinIncludes;
return ((Internal*) __Instance)->NoBuiltinIncludes;
}
set
{
var __ptr = (Internal*)__Instance.ToPointer();
__ptr->NoBuiltinIncludes = value;
((Internal*) __Instance)->NoBuiltinIncludes = value;
}
}
@ -565,14 +555,12 @@ namespace CppSharp @@ -565,14 +555,12 @@ namespace CppSharp
{
get
{
var __ptr = (Internal*)__Instance.ToPointer();
return __ptr->MicrosoftMode;
return ((Internal*) __Instance)->MicrosoftMode;
}
set
{
var __ptr = (Internal*)__Instance.ToPointer();
__ptr->MicrosoftMode = value;
((Internal*) __Instance)->MicrosoftMode = value;
}
}
@ -580,14 +568,12 @@ namespace CppSharp @@ -580,14 +568,12 @@ namespace CppSharp
{
get
{
var __ptr = (Internal*)__Instance.ToPointer();
return __ptr->Verbose;
return ((Internal*) __Instance)->Verbose;
}
set
{
var __ptr = (Internal*)__Instance.ToPointer();
__ptr->Verbose = value;
((Internal*) __Instance)->Verbose = value;
}
}
@ -595,14 +581,12 @@ namespace CppSharp @@ -595,14 +581,12 @@ namespace CppSharp
{
get
{
var __ptr = (Internal*)__Instance.ToPointer();
return __ptr->LanguageVersion;
return ((Internal*) __Instance)->LanguageVersion;
}
set
{
var __ptr = (Internal*)__Instance.ToPointer();
__ptr->LanguageVersion = value;
((Internal*) __Instance)->LanguageVersion = value;
}
}
}
@ -749,14 +733,12 @@ namespace CppSharp @@ -749,14 +733,12 @@ namespace CppSharp
{
get
{
var __ptr = (Internal*)__Instance.ToPointer();
return __ptr->Level;
return ((Internal*) __Instance)->Level;
}
set
{
var __ptr = (Internal*)__Instance.ToPointer();
__ptr->Level = value;
((Internal*) __Instance)->Level = value;
}
}
@ -764,14 +746,12 @@ namespace CppSharp @@ -764,14 +746,12 @@ namespace CppSharp
{
get
{
var __ptr = (Internal*)__Instance.ToPointer();
return __ptr->LineNumber;
return ((Internal*) __Instance)->LineNumber;
}
set
{
var __ptr = (Internal*)__Instance.ToPointer();
__ptr->LineNumber = value;
((Internal*) __Instance)->LineNumber = value;
}
}
@ -779,14 +759,12 @@ namespace CppSharp @@ -779,14 +759,12 @@ namespace CppSharp
{
get
{
var __ptr = (Internal*)__Instance.ToPointer();
return __ptr->ColumnNumber;
return ((Internal*) __Instance)->ColumnNumber;
}
set
{
var __ptr = (Internal*)__Instance.ToPointer();
__ptr->ColumnNumber = value;
((Internal*) __Instance)->ColumnNumber = value;
}
}
}
@ -929,14 +907,12 @@ namespace CppSharp @@ -929,14 +907,12 @@ namespace CppSharp
{
get
{
var __ptr = (Internal*)__Instance.ToPointer();
return __ptr->Kind;
return ((Internal*) __Instance)->Kind;
}
set
{
var __ptr = (Internal*)__Instance.ToPointer();
__ptr->Kind = value;
((Internal*) __Instance)->Kind = value;
}
}
@ -944,14 +920,12 @@ namespace CppSharp @@ -944,14 +920,12 @@ namespace CppSharp
{
get
{
var __ptr = (Internal*)__Instance.ToPointer();
return (__ptr->ASTContext == IntPtr.Zero) ? null : CppSharp.Parser.AST.ASTContext.__CreateInstance(__ptr->ASTContext);
return (((Internal*) __Instance)->ASTContext == IntPtr.Zero) ? null : CppSharp.Parser.AST.ASTContext.__CreateInstance(((Internal*) __Instance)->ASTContext);
}
set
{
var __ptr = (Internal*)__Instance.ToPointer();
__ptr->ASTContext = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
((Internal*) __Instance)->ASTContext = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
}
}
@ -959,14 +933,12 @@ namespace CppSharp @@ -959,14 +933,12 @@ namespace CppSharp
{
get
{
var __ptr = (Internal*)__Instance.ToPointer();
return (__ptr->Library == IntPtr.Zero) ? null : CppSharp.Parser.AST.NativeLibrary.__CreateInstance(__ptr->Library);
return (((Internal*) __Instance)->Library == IntPtr.Zero) ? null : CppSharp.Parser.AST.NativeLibrary.__CreateInstance(((Internal*) __Instance)->Library);
}
set
{
var __ptr = (Internal*)__Instance.ToPointer();
__ptr->Library = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
((Internal*) __Instance)->Library = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
}
}
}

40
src/CppParser/Bindings/CSharp/x86_64-linux-gnu/Sources.cs

@ -34,6 +34,9 @@ namespace CppSharp @@ -34,6 +34,9 @@ namespace CppSharp
internal static extern void cctor_2(global::System.IntPtr instance, global::System.IntPtr _0);
}
private SourceLocation.Internal __instance;
public SourceLocation.Internal __Instance { get { return __instance; } }
public static SourceLocation __CreateInstance(global::System.IntPtr native)
{
return new SourceLocation((SourceLocation.Internal*) native);
@ -45,43 +48,36 @@ namespace CppSharp @@ -45,43 +48,36 @@ namespace CppSharp
}
private SourceLocation(SourceLocation.Internal native)
: this(&native)
: this()
{
__instance = native;
}
private SourceLocation(SourceLocation.Internal* native, bool isInternalImpl = false) : this()
{
var __ptr = native;
ID = __ptr->ID;
}
internal Internal ToInternal()
{
var __native = new CppSharp.Parser.SourceLocation.Internal();
var __ptr = &__native;
__native.ID = ID;
return __native;
}
internal void FromInternal(Internal* native)
{
var __ptr = native;
ID = __ptr->ID;
__instance = *native;
}
public SourceLocation(uint ID)
: this()
{
var __fixedInstance = ToInternal();
Internal.ctor_1(new global::System.IntPtr(&__fixedInstance), ID);
FromInternal(&__fixedInstance);
fixed (Internal* __instancePtr = &__instance)
{
Internal.ctor_1(new global::System.IntPtr(__instancePtr), ID);
}
}
public uint ID
{
get;
get
{
return __instance.ID;
}
set;
set
{
__instance.ID = value;
}
}
}
}

228
src/CppParser/Bindings/CSharp/x86_64-linux-gnu/Target.cs

@ -245,14 +245,12 @@ namespace CppSharp @@ -245,14 +245,12 @@ namespace CppSharp
{
get
{
var __ptr = (Internal*)__Instance.ToPointer();
return __ptr->Char16Type;
return ((Internal*) __Instance)->Char16Type;
}
set
{
var __ptr = (Internal*)__Instance.ToPointer();
__ptr->Char16Type = value;
((Internal*) __Instance)->Char16Type = value;
}
}
@ -260,14 +258,12 @@ namespace CppSharp @@ -260,14 +258,12 @@ namespace CppSharp
{
get
{
var __ptr = (Internal*)__Instance.ToPointer();
return __ptr->Char32Type;
return ((Internal*) __Instance)->Char32Type;
}
set
{
var __ptr = (Internal*)__Instance.ToPointer();
__ptr->Char32Type = value;
((Internal*) __Instance)->Char32Type = value;
}
}
@ -275,14 +271,12 @@ namespace CppSharp @@ -275,14 +271,12 @@ namespace CppSharp
{
get
{
var __ptr = (Internal*)__Instance.ToPointer();
return __ptr->Int64Type;
return ((Internal*) __Instance)->Int64Type;
}
set
{
var __ptr = (Internal*)__Instance.ToPointer();
__ptr->Int64Type = value;
((Internal*) __Instance)->Int64Type = value;
}
}
@ -290,14 +284,12 @@ namespace CppSharp @@ -290,14 +284,12 @@ namespace CppSharp
{
get
{
var __ptr = (Internal*)__Instance.ToPointer();
return __ptr->IntMaxType;
return ((Internal*) __Instance)->IntMaxType;
}
set
{
var __ptr = (Internal*)__Instance.ToPointer();
__ptr->IntMaxType = value;
((Internal*) __Instance)->IntMaxType = value;
}
}
@ -305,14 +297,12 @@ namespace CppSharp @@ -305,14 +297,12 @@ namespace CppSharp
{
get
{
var __ptr = (Internal*)__Instance.ToPointer();
return __ptr->IntPtrType;
return ((Internal*) __Instance)->IntPtrType;
}
set
{
var __ptr = (Internal*)__Instance.ToPointer();
__ptr->IntPtrType = value;
((Internal*) __Instance)->IntPtrType = value;
}
}
@ -320,14 +310,12 @@ namespace CppSharp @@ -320,14 +310,12 @@ namespace CppSharp
{
get
{
var __ptr = (Internal*)__Instance.ToPointer();
return __ptr->SizeType;
return ((Internal*) __Instance)->SizeType;
}
set
{
var __ptr = (Internal*)__Instance.ToPointer();
__ptr->SizeType = value;
((Internal*) __Instance)->SizeType = value;
}
}
@ -335,14 +323,12 @@ namespace CppSharp @@ -335,14 +323,12 @@ namespace CppSharp
{
get
{
var __ptr = (Internal*)__Instance.ToPointer();
return __ptr->UIntMaxType;
return ((Internal*) __Instance)->UIntMaxType;
}
set
{
var __ptr = (Internal*)__Instance.ToPointer();
__ptr->UIntMaxType = value;
((Internal*) __Instance)->UIntMaxType = value;
}
}
@ -350,14 +336,12 @@ namespace CppSharp @@ -350,14 +336,12 @@ namespace CppSharp
{
get
{
var __ptr = (Internal*)__Instance.ToPointer();
return __ptr->WCharType;
return ((Internal*) __Instance)->WCharType;
}
set
{
var __ptr = (Internal*)__Instance.ToPointer();
__ptr->WCharType = value;
((Internal*) __Instance)->WCharType = value;
}
}
@ -365,14 +349,12 @@ namespace CppSharp @@ -365,14 +349,12 @@ namespace CppSharp
{
get
{
var __ptr = (Internal*)__Instance.ToPointer();
return __ptr->WIntType;
return ((Internal*) __Instance)->WIntType;
}
set
{
var __ptr = (Internal*)__Instance.ToPointer();
__ptr->WIntType = value;
((Internal*) __Instance)->WIntType = value;
}
}
@ -380,14 +362,12 @@ namespace CppSharp @@ -380,14 +362,12 @@ namespace CppSharp
{
get
{
var __ptr = (Internal*)__Instance.ToPointer();
return __ptr->BoolAlign;
return ((Internal*) __Instance)->BoolAlign;
}
set
{
var __ptr = (Internal*)__Instance.ToPointer();
__ptr->BoolAlign = value;
((Internal*) __Instance)->BoolAlign = value;
}
}
@ -395,14 +375,12 @@ namespace CppSharp @@ -395,14 +375,12 @@ namespace CppSharp
{
get
{
var __ptr = (Internal*)__Instance.ToPointer();
return __ptr->BoolWidth;
return ((Internal*) __Instance)->BoolWidth;
}
set
{
var __ptr = (Internal*)__Instance.ToPointer();
__ptr->BoolWidth = value;
((Internal*) __Instance)->BoolWidth = value;
}
}
@ -410,14 +388,12 @@ namespace CppSharp @@ -410,14 +388,12 @@ namespace CppSharp
{
get
{
var __ptr = (Internal*)__Instance.ToPointer();
return __ptr->CharAlign;
return ((Internal*) __Instance)->CharAlign;
}
set
{
var __ptr = (Internal*)__Instance.ToPointer();
__ptr->CharAlign = value;
((Internal*) __Instance)->CharAlign = value;
}
}
@ -425,14 +401,12 @@ namespace CppSharp @@ -425,14 +401,12 @@ namespace CppSharp
{
get
{
var __ptr = (Internal*)__Instance.ToPointer();
return __ptr->CharWidth;
return ((Internal*) __Instance)->CharWidth;
}
set
{
var __ptr = (Internal*)__Instance.ToPointer();
__ptr->CharWidth = value;
((Internal*) __Instance)->CharWidth = value;
}
}
@ -440,14 +414,12 @@ namespace CppSharp @@ -440,14 +414,12 @@ namespace CppSharp
{
get
{
var __ptr = (Internal*)__Instance.ToPointer();
return __ptr->Char16Align;
return ((Internal*) __Instance)->Char16Align;
}
set
{
var __ptr = (Internal*)__Instance.ToPointer();
__ptr->Char16Align = value;
((Internal*) __Instance)->Char16Align = value;
}
}
@ -455,14 +427,12 @@ namespace CppSharp @@ -455,14 +427,12 @@ namespace CppSharp
{
get
{
var __ptr = (Internal*)__Instance.ToPointer();
return __ptr->Char16Width;
return ((Internal*) __Instance)->Char16Width;
}
set
{
var __ptr = (Internal*)__Instance.ToPointer();
__ptr->Char16Width = value;
((Internal*) __Instance)->Char16Width = value;
}
}
@ -470,14 +440,12 @@ namespace CppSharp @@ -470,14 +440,12 @@ namespace CppSharp
{
get
{
var __ptr = (Internal*)__Instance.ToPointer();
return __ptr->Char32Align;
return ((Internal*) __Instance)->Char32Align;
}
set
{
var __ptr = (Internal*)__Instance.ToPointer();
__ptr->Char32Align = value;
((Internal*) __Instance)->Char32Align = value;
}
}
@ -485,14 +453,12 @@ namespace CppSharp @@ -485,14 +453,12 @@ namespace CppSharp
{
get
{
var __ptr = (Internal*)__Instance.ToPointer();
return __ptr->Char32Width;
return ((Internal*) __Instance)->Char32Width;
}
set
{
var __ptr = (Internal*)__Instance.ToPointer();
__ptr->Char32Width = value;
((Internal*) __Instance)->Char32Width = value;
}
}
@ -500,14 +466,12 @@ namespace CppSharp @@ -500,14 +466,12 @@ namespace CppSharp
{
get
{
var __ptr = (Internal*)__Instance.ToPointer();
return __ptr->HalfAlign;
return ((Internal*) __Instance)->HalfAlign;
}
set
{
var __ptr = (Internal*)__Instance.ToPointer();
__ptr->HalfAlign = value;
((Internal*) __Instance)->HalfAlign = value;
}
}
@ -515,14 +479,12 @@ namespace CppSharp @@ -515,14 +479,12 @@ namespace CppSharp
{
get
{
var __ptr = (Internal*)__Instance.ToPointer();
return __ptr->HalfWidth;
return ((Internal*) __Instance)->HalfWidth;
}
set
{
var __ptr = (Internal*)__Instance.ToPointer();
__ptr->HalfWidth = value;
((Internal*) __Instance)->HalfWidth = value;
}
}
@ -530,14 +492,12 @@ namespace CppSharp @@ -530,14 +492,12 @@ namespace CppSharp
{
get
{
var __ptr = (Internal*)__Instance.ToPointer();
return __ptr->FloatAlign;
return ((Internal*) __Instance)->FloatAlign;
}
set
{
var __ptr = (Internal*)__Instance.ToPointer();
__ptr->FloatAlign = value;
((Internal*) __Instance)->FloatAlign = value;
}
}
@ -545,14 +505,12 @@ namespace CppSharp @@ -545,14 +505,12 @@ namespace CppSharp
{
get
{
var __ptr = (Internal*)__Instance.ToPointer();
return __ptr->FloatWidth;
return ((Internal*) __Instance)->FloatWidth;
}
set
{
var __ptr = (Internal*)__Instance.ToPointer();
__ptr->FloatWidth = value;
((Internal*) __Instance)->FloatWidth = value;
}
}
@ -560,14 +518,12 @@ namespace CppSharp @@ -560,14 +518,12 @@ namespace CppSharp
{
get
{
var __ptr = (Internal*)__Instance.ToPointer();
return __ptr->DoubleAlign;
return ((Internal*) __Instance)->DoubleAlign;
}
set
{
var __ptr = (Internal*)__Instance.ToPointer();
__ptr->DoubleAlign = value;
((Internal*) __Instance)->DoubleAlign = value;
}
}
@ -575,14 +531,12 @@ namespace CppSharp @@ -575,14 +531,12 @@ namespace CppSharp
{
get
{
var __ptr = (Internal*)__Instance.ToPointer();
return __ptr->DoubleWidth;
return ((Internal*) __Instance)->DoubleWidth;
}
set
{
var __ptr = (Internal*)__Instance.ToPointer();
__ptr->DoubleWidth = value;
((Internal*) __Instance)->DoubleWidth = value;
}
}
@ -590,14 +544,12 @@ namespace CppSharp @@ -590,14 +544,12 @@ namespace CppSharp
{
get
{
var __ptr = (Internal*)__Instance.ToPointer();
return __ptr->ShortAlign;
return ((Internal*) __Instance)->ShortAlign;
}
set
{
var __ptr = (Internal*)__Instance.ToPointer();
__ptr->ShortAlign = value;
((Internal*) __Instance)->ShortAlign = value;
}
}
@ -605,14 +557,12 @@ namespace CppSharp @@ -605,14 +557,12 @@ namespace CppSharp
{
get
{
var __ptr = (Internal*)__Instance.ToPointer();
return __ptr->ShortWidth;
return ((Internal*) __Instance)->ShortWidth;
}
set
{
var __ptr = (Internal*)__Instance.ToPointer();
__ptr->ShortWidth = value;
((Internal*) __Instance)->ShortWidth = value;
}
}
@ -620,14 +570,12 @@ namespace CppSharp @@ -620,14 +570,12 @@ namespace CppSharp
{
get
{
var __ptr = (Internal*)__Instance.ToPointer();
return __ptr->IntAlign;
return ((Internal*) __Instance)->IntAlign;
}
set
{
var __ptr = (Internal*)__Instance.ToPointer();
__ptr->IntAlign = value;
((Internal*) __Instance)->IntAlign = value;
}
}
@ -635,14 +583,12 @@ namespace CppSharp @@ -635,14 +583,12 @@ namespace CppSharp
{
get
{
var __ptr = (Internal*)__Instance.ToPointer();
return __ptr->IntWidth;
return ((Internal*) __Instance)->IntWidth;
}
set
{
var __ptr = (Internal*)__Instance.ToPointer();
__ptr->IntWidth = value;
((Internal*) __Instance)->IntWidth = value;
}
}
@ -650,14 +596,12 @@ namespace CppSharp @@ -650,14 +596,12 @@ namespace CppSharp
{
get
{
var __ptr = (Internal*)__Instance.ToPointer();
return __ptr->IntMaxTWidth;
return ((Internal*) __Instance)->IntMaxTWidth;
}
set
{
var __ptr = (Internal*)__Instance.ToPointer();
__ptr->IntMaxTWidth = value;
((Internal*) __Instance)->IntMaxTWidth = value;
}
}
@ -665,14 +609,12 @@ namespace CppSharp @@ -665,14 +609,12 @@ namespace CppSharp
{
get
{
var __ptr = (Internal*)__Instance.ToPointer();
return __ptr->LongAlign;
return ((Internal*) __Instance)->LongAlign;
}
set
{
var __ptr = (Internal*)__Instance.ToPointer();
__ptr->LongAlign = value;
((Internal*) __Instance)->LongAlign = value;
}
}
@ -680,14 +622,12 @@ namespace CppSharp @@ -680,14 +622,12 @@ namespace CppSharp
{
get
{
var __ptr = (Internal*)__Instance.ToPointer();
return __ptr->LongWidth;
return ((Internal*) __Instance)->LongWidth;
}
set
{
var __ptr = (Internal*)__Instance.ToPointer();
__ptr->LongWidth = value;
((Internal*) __Instance)->LongWidth = value;
}
}
@ -695,14 +635,12 @@ namespace CppSharp @@ -695,14 +635,12 @@ namespace CppSharp
{
get
{
var __ptr = (Internal*)__Instance.ToPointer();
return __ptr->LongDoubleAlign;
return ((Internal*) __Instance)->LongDoubleAlign;
}
set
{
var __ptr = (Internal*)__Instance.ToPointer();
__ptr->LongDoubleAlign = value;
((Internal*) __Instance)->LongDoubleAlign = value;
}
}
@ -710,14 +648,12 @@ namespace CppSharp @@ -710,14 +648,12 @@ namespace CppSharp
{
get
{
var __ptr = (Internal*)__Instance.ToPointer();
return __ptr->LongDoubleWidth;
return ((Internal*) __Instance)->LongDoubleWidth;
}
set
{
var __ptr = (Internal*)__Instance.ToPointer();
__ptr->LongDoubleWidth = value;
((Internal*) __Instance)->LongDoubleWidth = value;
}
}
@ -725,14 +661,12 @@ namespace CppSharp @@ -725,14 +661,12 @@ namespace CppSharp
{
get
{
var __ptr = (Internal*)__Instance.ToPointer();
return __ptr->LongLongAlign;
return ((Internal*) __Instance)->LongLongAlign;
}
set
{
var __ptr = (Internal*)__Instance.ToPointer();
__ptr->LongLongAlign = value;
((Internal*) __Instance)->LongLongAlign = value;
}
}
@ -740,14 +674,12 @@ namespace CppSharp @@ -740,14 +674,12 @@ namespace CppSharp
{
get
{
var __ptr = (Internal*)__Instance.ToPointer();
return __ptr->LongLongWidth;
return ((Internal*) __Instance)->LongLongWidth;
}
set
{
var __ptr = (Internal*)__Instance.ToPointer();
__ptr->LongLongWidth = value;
((Internal*) __Instance)->LongLongWidth = value;
}
}
@ -755,14 +687,12 @@ namespace CppSharp @@ -755,14 +687,12 @@ namespace CppSharp
{
get
{
var __ptr = (Internal*)__Instance.ToPointer();
return __ptr->PointerAlign;
return ((Internal*) __Instance)->PointerAlign;
}
set
{
var __ptr = (Internal*)__Instance.ToPointer();
__ptr->PointerAlign = value;
((Internal*) __Instance)->PointerAlign = value;
}
}
@ -770,14 +700,12 @@ namespace CppSharp @@ -770,14 +700,12 @@ namespace CppSharp
{
get
{
var __ptr = (Internal*)__Instance.ToPointer();
return __ptr->PointerWidth;
return ((Internal*) __Instance)->PointerWidth;
}
set
{
var __ptr = (Internal*)__Instance.ToPointer();
__ptr->PointerWidth = value;
((Internal*) __Instance)->PointerWidth = value;
}
}
@ -785,14 +713,12 @@ namespace CppSharp @@ -785,14 +713,12 @@ namespace CppSharp
{
get
{
var __ptr = (Internal*)__Instance.ToPointer();
return __ptr->WCharAlign;
return ((Internal*) __Instance)->WCharAlign;
}
set
{
var __ptr = (Internal*)__Instance.ToPointer();
__ptr->WCharAlign = value;
((Internal*) __Instance)->WCharAlign = value;
}
}
@ -800,14 +726,12 @@ namespace CppSharp @@ -800,14 +726,12 @@ namespace CppSharp
{
get
{
var __ptr = (Internal*)__Instance.ToPointer();
return __ptr->WCharWidth;
return ((Internal*) __Instance)->WCharWidth;
}
set
{
var __ptr = (Internal*)__Instance.ToPointer();
__ptr->WCharWidth = value;
((Internal*) __Instance)->WCharWidth = value;
}
}
}

7
src/Generator/Generators/CLI/CLIGenerator.cs

@ -38,5 +38,12 @@ namespace CppSharp.Generators.CLI @@ -38,5 +38,12 @@ namespace CppSharp.Generators.CLI
Driver.TranslationUnitPasses.AddPass(new ObjectOverridesPass());
return true;
}
public static bool ShouldGenerateClassNativeField(Class @class)
{
if (@class.IsStatic)
return false;
return @class.IsRefType && (!@class.HasBase || !@class.HasRefBase());
}
}
}

4
src/Generator/Generators/CLI/CLIHeadersTemplate.cs

@ -255,7 +255,7 @@ namespace CppSharp.Generators.CLI @@ -255,7 +255,7 @@ namespace CppSharp.Generators.CLI
var nativeType = string.Format("::{0}*", @class.QualifiedOriginalName);
if (CSharpTextTemplate.ShouldGenerateClassNativeField(@class))
if (CLIGenerator.ShouldGenerateClassNativeField(@class))
GenerateClassNativeField(@class, nativeType);
GenerateClassConstructors(@class, nativeType);
@ -583,7 +583,7 @@ namespace CppSharp.Generators.CLI @@ -583,7 +583,7 @@ namespace CppSharp.Generators.CLI
if (!@class.IsStatic)
{
if (CSharpTextTemplate.HasRefBase(@class))
if (@class.HasRefBase())
Write(" : {0}", QualifiedIdentifier(@class.Bases[0].Class));
else if (@class.IsRefType)
Write(" : ICppInstance");

6
src/Generator/Generators/CLI/CLISourcesTemplate.cs

@ -140,7 +140,7 @@ namespace CppSharp.Generators.CLI @@ -140,7 +140,7 @@ namespace CppSharp.Generators.CLI
GenerateClassMethods(@class, @class);
if (CSharpTextTemplate.ShouldGenerateClassNativeField(@class))
if (CLIGenerator.ShouldGenerateClassNativeField(@class))
{
PushBlock(CLIBlockKind.Method);
WriteLine("System::IntPtr {0}::{1}::get()",
@ -252,7 +252,7 @@ namespace CppSharp.Generators.CLI @@ -252,7 +252,7 @@ namespace CppSharp.Generators.CLI
WriteLine("{0}::~{1}()", QualifiedIdentifier(@class), @class.Name);
WriteStartBraceIndent();
if (CSharpTextTemplate.ShouldGenerateClassNativeField(@class))
if (CLIGenerator.ShouldGenerateClassNativeField(@class))
WriteLine("delete NativePtr;");
WriteCloseBraceIndent();
@ -267,7 +267,7 @@ namespace CppSharp.Generators.CLI @@ -267,7 +267,7 @@ namespace CppSharp.Generators.CLI
WriteLine("{0}::!{1}()", QualifiedIdentifier(@class), @class.Name);
WriteStartBraceIndent();
if (CSharpTextTemplate.ShouldGenerateClassNativeField(@class))
if (CLIGenerator.ShouldGenerateClassNativeField(@class))
WriteLine("delete NativePtr;");
WriteCloseBraceIndent();

7
src/Generator/Generators/CSharp/CSharpMarshal.cs

@ -426,9 +426,10 @@ namespace CppSharp.Generators.CSharp @@ -426,9 +426,10 @@ namespace CppSharp.Generators.CSharp
}
else
{
Context.SupportBefore.WriteLine("var {0} = {1}.ToInternal();",
Context.SupportBefore.WriteLine("var {0} = {1}.{2};",
Generator.GeneratedIdentifier(Context.ArgName),
Context.Parameter.Name);
Context.Parameter.Name,
Helpers.InstanceIdentifier);
}
Context.Return.Write("new global::System.IntPtr(&{0})",
@ -586,7 +587,7 @@ namespace CppSharp.Generators.CSharp @@ -586,7 +587,7 @@ namespace CppSharp.Generators.CSharp
private void MarshalValueClass()
{
Context.Return.Write("{0}.ToInternal()", Context.Parameter.Name);
Context.Return.Write("{0}.{1}", Context.Parameter.Name, Helpers.InstanceIdentifier);
}
public override bool VisitFieldDecl(Field field)

284
src/Generator/Generators/CSharp/CSharpTextTemplate.cs

@ -41,6 +41,7 @@ namespace CppSharp.Generators.CSharp @@ -41,6 +41,7 @@ namespace CppSharp.Generators.CSharp
return new string(id.Select(c => char.IsLetterOrDigit(c) ? c : '_').ToArray());
}
public const string InstanceField = "__instance";
public const string InstanceIdentifier = "__Instance";
public const string OwnsNativeInstanceIdentifier = "__ownsNativeInstance";
@ -343,8 +344,17 @@ namespace CppSharp.Generators.CSharp @@ -343,8 +344,17 @@ namespace CppSharp.Generators.CSharp
if (ShouldGenerateClassNativeField(@class))
{
PushBlock(CSharpBlockKind.Field);
WriteLine("public global::System.IntPtr {0} {{ get; {1} set; }}",
Helpers.InstanceIdentifier, @class.IsValueType ? "private" : "protected");
if (@class.IsValueType)
{
WriteLine("private {0}.Internal {1};", @class.Name, Helpers.InstanceField);
WriteLine("public {0}.Internal {1} {{ get {{ return {2}; }} }}", @class.Name,
Helpers.InstanceIdentifier, Helpers.InstanceField);
}
else
{
WriteLine("public {0} {1} {{ get; protected set; }}",
"global::System.IntPtr", Helpers.InstanceIdentifier);
}
PopBlock(NewLineKind.BeforeNextBlock);
}
@ -355,9 +365,6 @@ namespace CppSharp.Generators.CSharp @@ -355,9 +365,6 @@ namespace CppSharp.Generators.CSharp
GenerateClassConstructors(@class);
if (@class.IsUnion)
GenerateUnionFields(@class);
GenerateClassMethods(@class.Methods);
GenerateClassVariables(@class);
GenerateClassProperties(@class);
@ -591,141 +598,15 @@ namespace CppSharp.Generators.CSharp @@ -591,141 +598,15 @@ namespace CppSharp.Generators.CSharp
WriteLine("partial struct Internal");
}
private void GenerateStructMarshalingProperties(Class @class)
{
foreach (var @base in @class.Bases)
{
if (!@base.IsClass || !@base.Class.IsDeclared)
continue;
GenerateStructMarshalingProperties(@base.Class);
}
for (int i = 0; i < @class.Properties.Count; i++)
{
var property = @class.Properties[i];
if (!property.IsGenerated || property.Field == null) continue;
var nativeField = string.Format("{0}->{1}",
Generator.GeneratedIdentifier("ptr"),
Helpers.SafeIdentifier(property.Field.OriginalName));
var ctx = new CSharpMarshalContext(Driver)
{
Kind = CSharpMarshalKind.NativeField,
ArgName = property.Name,
ReturnVarName = nativeField,
ReturnType = property.QualifiedType
};
var marshal = new CSharpMarshalNativeToManagedPrinter(ctx);
property.Visit(marshal);
if (!string.IsNullOrWhiteSpace(marshal.Context.SupportBefore))
Write(marshal.Context.SupportBefore);
if (marshal.Context.Return.StringBuilder.Length > 0)
{
WriteLine("{0} = {1};", property.Name, marshal.Context.Return);
}
}
}
private void GenerateStructInternalMarshaling(Class @class)
{
var marshalVar = Generator.GeneratedIdentifier("native");
WriteLine("var {0} = new {1}.Internal();", marshalVar, QualifiedIdentifier(@class));
WriteLine("var {0} = &{1};", Generator.GeneratedIdentifier("ptr"), marshalVar);
GenerateStructInternalMarshalingProperties(@class, marshalVar);
WriteLine("return {0};", marshalVar);
}
private void GenerateStructInternalMarshalingProperties(Class @class, string marshalVar)
{
foreach (var @base in @class.Bases)
{
if (!@base.IsClass || !@base.Class.IsDeclared)
continue;
var baseClass = @base.Class;
GenerateStructInternalMarshalingProperties(baseClass, marshalVar);
}
foreach (var property in @class.Properties)
{
if (!property.IsGenerated || property.Field == null)
continue;
GenerateStructInternalMarshalingProperty(property, marshalVar);
}
}
private void GenerateStructInternalMarshalingProperty(Property property, string marshalVar)
{
var nativeField = string.Format("{0}->{1}",
Generator.GeneratedIdentifier("ptr"),
Helpers.SafeIdentifier(property.Field.OriginalName));
var marshalCtx = new CSharpMarshalContext(Driver)
{
ArgName = property.Name,
ReturnVarName = nativeField,
};
var marshal = new CSharpMarshalManagedToNativePrinter(marshalCtx);
property.Visit(marshal);
Type type;
Class @class;
var isRef = property.Type.IsPointerTo(out type) &&
!(type.TryGetClass(out @class) && @class.IsValueType) &&
!type.IsPrimitiveType();
if (isRef)
{
WriteLine("if ({0} != null)", property.Name);
WriteStartBraceIndent();
}
if (!string.IsNullOrWhiteSpace(marshal.Context.SupportBefore))
WriteLine(marshal.Context.SupportBefore);
if (marshal.Context.Return.StringBuilder.Length > 0)
{
WriteLine("{0}.{1} = {2};", marshalVar,
Helpers.SafeIdentifier(property.OriginalName), marshal.Context.Return);
}
if (isRef)
WriteCloseBraceIndent();
}
public static bool HasRefBase(Class @class)
{
Class baseClass = null;
if (@class.HasBaseClass)
baseClass = @class.Bases[0].Class;
var hasRefBase = baseClass != null && baseClass.IsRefType
&& baseClass.IsDeclared;
return hasRefBase;
}
public static bool ShouldGenerateClassNativeField(Class @class)
{
if (@class.IsStatic)
return false;
return @class.IsRefType && (!@class.HasBase || !HasRefBase(@class));
return @class.IsValueType || !@class.HasBase || !@class.HasRefBase();
}
public void GenerateClassProlog(Class @class)
{
if (@class.IsUnion)
WriteLine("[StructLayout(LayoutKind.Explicit)]");
Write(@class.IsInternal ? "internal " : Helpers.GetAccess(@class.Access));
Write("unsafe ");
@ -829,8 +710,6 @@ namespace CppSharp.Generators.CSharp @@ -829,8 +710,6 @@ namespace CppSharp.Generators.CSharp
GenerateDeclarationCommon(field);
var @class = (Class) field.Namespace;
if (@class.IsUnion)
WriteLine("[FieldOffset({0})]", field.Offset);
WriteLine("{0} {1} {2};", @public ? "public" : "private",
field.Type, field.Name);
@ -928,31 +807,16 @@ namespace CppSharp.Generators.CSharp @@ -928,31 +807,16 @@ namespace CppSharp.Generators.CSharp
var field = decl as Field;
if (WrapSetterArrayOfPointers(decl.Name, field.Type))
return;
if (@class.IsValueType)
{
if (@class.IsUnion)
{
NewLine();
WriteStartBraceIndent();
WriteLine("{0} = value;", decl.Name);
WriteCloseBraceIndent();
PopBlock(NewLineKind.BeforeNextBlock);
return;
}
WriteLine(";");
PopBlock(NewLineKind.BeforeNextBlock);
return;
}
NewLine();
WriteStartBraceIndent();
WriteLine("var {0} = (Internal*){1}.ToPointer();",
Generator.GeneratedIdentifier("ptr"), Helpers.InstanceIdentifier);
var marshal = new CSharpMarshalManagedToNativePrinter(ctx);
ctx.ReturnVarName = string.Format("{0}->{1}",
Generator.GeneratedIdentifier("ptr"),
ctx.ReturnVarName = string.Format("{0}{1}{2}",
@class.IsValueType
? Helpers.InstanceField
: string.Format("((Internal*) {0})", Helpers.InstanceIdentifier),
@class.IsValueType ? "." : "->",
Helpers.SafeIdentifier(field.OriginalName));
param.Visit(marshal);
@ -1037,33 +901,19 @@ namespace CppSharp.Generators.CSharp @@ -1037,33 +901,19 @@ namespace CppSharp.Generators.CSharp
var field = decl as Field;
if (WrapGetterArrayOfPointers(decl.Name, field.Type))
return;
if (@class.IsValueType)
{
if (@class.IsUnion)
{
NewLine();
WriteStartBraceIndent();
WriteLine("return {0};", decl.Name);
WriteCloseBraceIndent();
PopBlock(NewLineKind.BeforeNextBlock);
return;
}
WriteLine(";");
PopBlock(NewLineKind.BeforeNextBlock);
return;
}
NewLine();
WriteStartBraceIndent();
WriteLine("var {0} = (Internal*){1}.ToPointer();",
Generator.GeneratedIdentifier("ptr"), Helpers.InstanceIdentifier);
var ctx = new CSharpMarshalContext(Driver)
{
Kind = CSharpMarshalKind.NativeField,
ArgName = decl.Name,
ReturnVarName = string.Format("{0}->{1}", Generator.GeneratedIdentifier("ptr"),
ReturnVarName = string.Format("{0}{1}{2}",
@class.IsValueType
? Helpers.InstanceField
: string.Format("((Internal*) {0})", Helpers.InstanceIdentifier),
@class.IsValueType ? "." : "->",
Helpers.SafeIdentifier(field.OriginalName)),
ReturnType = decl.QualifiedType
};
@ -1944,31 +1794,11 @@ namespace CppSharp.Generators.CSharp @@ -1944,31 +1794,11 @@ namespace CppSharp.Generators.CSharp
}
else
{
WriteLine("var {0} = {1};",
Generator.GeneratedIdentifier("ptr"), "native");
GenerateStructMarshalingProperties(@class);
WriteLine("{0} = *native;", Helpers.InstanceField);
}
WriteCloseBraceIndent();
PopBlock(NewLineKind.BeforeNextBlock);
if (@class.IsValueType)
{
PushBlock(CSharpBlockKind.Method);
WriteLine("internal Internal ToInternal()");
WriteStartBraceIndent();
GenerateStructInternalMarshaling(@class);
WriteCloseBraceIndent();
PopBlock(NewLineKind.BeforeNextBlock);
PushBlock(CSharpBlockKind.Method);
WriteLine("internal void FromInternal(Internal* native)");
WriteStartBraceIndent();
WriteLine("var {0} = {1};", Generator.GeneratedIdentifier("ptr"), "native");
GenerateStructMarshalingProperties(@class);
WriteCloseBraceIndent();
PopBlock(NewLineKind.BeforeNextBlock);
}
}
private void GenerateNativeConstructorByValue(Class @class, string className, string safeIdentifier)
@ -2012,11 +1842,15 @@ namespace CppSharp.Generators.CSharp @@ -2012,11 +1842,15 @@ namespace CppSharp.Generators.CSharp
}
PushBlock(CSharpBlockKind.Method);
WriteLine("private {0}({1}.Internal native)", safeIdentifier, className);
WriteLineIndent(@class.IsRefType ? ": this(__CopyValue(native))" : ": this(&native)");
WriteLineIndent(@class.IsRefType ? ": this(__CopyValue(native))" : ": this()");
WriteStartBraceIndent();
if (@class.IsRefType)
{
WriteLine("{0} = true;", Helpers.OwnsNativeInstanceIdentifier);
WriteLine("{0} = true;", Helpers.OwnsNativeInstanceIdentifier);
}
else
{
WriteLine("{0} = native;", Helpers.InstanceField);
}
WriteCloseBraceIndent();
PopBlock(NewLineKind.BeforeNextBlock);
@ -2146,7 +1980,7 @@ namespace CppSharp.Generators.CSharp @@ -2146,7 +1980,7 @@ namespace CppSharp.Generators.CSharp
if (!method.IsConstructor)
{
Type type = method.OriginalReturnType.Type;
this.WriteLine("{0}{1}({2});",
WriteLine("{0}{1}({2});",
type.IsPrimitiveType(PrimitiveType.Void) ? string.Empty : "return ",
method.Name,
string.Join(", ",
@ -2333,8 +2167,8 @@ namespace CppSharp.Generators.CSharp @@ -2333,8 +2167,8 @@ namespace CppSharp.Generators.CSharp
if (@class.HasNonTrivialCopyConstructor)
GenerateInternalFunctionCall(method);
else
WriteLine("*(({0}.Internal*) __Instance) = *(({0}.Internal*) {1}.__Instance);",
@class.Name, method.Parameters[0].Name);
WriteLine("*(({0}.Internal*) {2}) = *(({0}.Internal*) {1}.{2});",
@class.Name, method.Parameters[0].Name, Helpers.InstanceIdentifier);
}
else
{
@ -2453,8 +2287,7 @@ namespace CppSharp.Generators.CSharp @@ -2453,8 +2287,7 @@ namespace CppSharp.Generators.CSharp
if (needsFixedThis)
{
names.Insert(instanceIndex, string.Format("new global::System.IntPtr(&{0})",
GeneratedIdentifier("fixedInstance")));
names.Insert(instanceIndex, string.Format("new global::System.IntPtr(__instancePtr)"));
}
else
{
@ -2471,11 +2304,15 @@ namespace CppSharp.Generators.CSharp @@ -2471,11 +2304,15 @@ namespace CppSharp.Generators.CSharp
if (needsFixedThis)
{
WriteLine("var {0} = {1};", Generator.GeneratedIdentifier("fixedInstance"),
(method.IsOperator && method.OperatorKind != CXXOperatorKind.Subscript ?
method.Parameters.First(
p => p.Kind == ParameterKind.OperatorParameter).Name + "." :
string.Empty) + "ToInternal()");
if (operatorParam == null)
{
WriteLine("fixed (Internal* __instancePtr = &{0})", Helpers.InstanceField);
WriteStartBraceIndent();
}
else
{
WriteLine("var __instancePtr = &{0}.{1};", operatorParam.Name, Helpers.InstanceField);
}
}
if (needsReturn && !originalFunction.HasIndirectReturnTypeParameter)
@ -2488,7 +2325,8 @@ namespace CppSharp.Generators.CSharp @@ -2488,7 +2325,8 @@ namespace CppSharp.Generators.CSharp
cleanups.AddRange(
from param in @params
select param.Context into context
select param.Context
into context
where context != null && !string.IsNullOrWhiteSpace(context.Cleanup)
select context.Cleanup);
@ -2497,19 +2335,6 @@ namespace CppSharp.Generators.CSharp @@ -2497,19 +2335,6 @@ namespace CppSharp.Generators.CSharp
Write(cleanup);
}
if (needsFixedThis)
{
if (operatorParam != null)
{
WriteLine("{0}.FromInternal(&{1});",
operatorParam.Name, Generator.GeneratedIdentifier("fixedInstance"));
}
else
{
WriteLine("FromInternal(&{0});", Generator.GeneratedIdentifier("fixedInstance"));
}
}
if (needsReturn)
{
TypePrinter.PushContext(CSharpTypePrinterContextKind.Native);
@ -2554,13 +2379,16 @@ namespace CppSharp.Generators.CSharp @@ -2554,13 +2379,16 @@ namespace CppSharp.Generators.CSharp
// Special case for indexer - needs to dereference if the internal
// function is a pointer type and the property is not.
if (retType.Type.IsAddress() &&
if (retType.Type.IsAddress() &&
retType.Type.GetPointee().Equals(returnType) &&
returnType.IsPrimitiveType())
WriteLine("return *{0};", marshal.Context.Return);
else
WriteLine("return {0};", marshal.Context.Return);
}
if (needsFixedThis && operatorParam == null)
WriteCloseBraceIndent();
}
private int GetInstanceParamIndex(Function function)
@ -2608,16 +2436,6 @@ namespace CppSharp.Generators.CSharp @@ -2608,16 +2436,6 @@ namespace CppSharp.Generators.CSharp
}
}
private static bool IsInstanceFunction(Function function)
{
var isInstanceFunction = false;
var method = function as Method;
if (method != null)
isInstanceFunction = method.Conversion == MethodConversionKind.None;
return isInstanceFunction;
}
public struct ParamMarshal
{
public string Name;
@ -2707,7 +2525,7 @@ namespace CppSharp.Generators.CSharp @@ -2707,7 +2525,7 @@ namespace CppSharp.Generators.CSharp
return string.Join(", ",
from param in @params
where param.Kind != ParameterKind.IndirectReturnType && !param.Ignore
let typeName = param.CSharpType(this.TypePrinter)
let typeName = param.CSharpType(TypePrinter)
select string.Format("{0}{1} {2}", GetParameterUsage(param.Usage),
typeName, param.Name +
(param.DefaultArgument == null || !Options.GenerateDefaultValuesForArguments ?
@ -2892,7 +2710,7 @@ namespace CppSharp.Generators.CSharp @@ -2892,7 +2710,7 @@ namespace CppSharp.Generators.CSharp
var @params = new List<string>();
var typePrinter = TypePrinter as CSharpTypePrinter;
var typePrinter = TypePrinter;
typePrinter.PushContext(CSharpTypePrinterContextKind.Native);
var retParam = new Parameter { QualifiedType = function.ReturnType };

8
tests/CSharpTemp/CSharpTemp.Tests.cs

@ -174,4 +174,12 @@ public class CSharpTempTests : GeneratorTestFixture @@ -174,4 +174,12 @@ public class CSharpTempTests : GeneratorTestFixture
MethodsWithDefaultValues m1 = 5;
Assert.AreEqual(5, m1.A);
}
[Test]
public void TestStructWithPrivateFields()
{
var structWithPrivateFields = new StructWithPrivateFields(10, new Foo { A = 5 });
Assert.AreEqual(10, structWithPrivateFields.SimplePrivateField);
Assert.AreEqual(5, structWithPrivateFields.ComplexPrivateField.A);
}
}

16
tests/CSharpTemp/CSharpTemp.cpp

@ -375,3 +375,19 @@ void PropertyWithIgnoredType::setIgnoredType(const IgnoredType<int> &value) @@ -375,3 +375,19 @@ void PropertyWithIgnoredType::setIgnoredType(const IgnoredType<int> &value)
{
_ignoredType = value;
}
StructWithPrivateFields::StructWithPrivateFields(int simplePrivateField, Foo complexPrivateField)
{
this->simplePrivateField = simplePrivateField;
this->complexPrivateField = complexPrivateField;
}
int StructWithPrivateFields::getSimplePrivateField()
{
return simplePrivateField;
}
Foo StructWithPrivateFields::getComplexPrivateField()
{
return complexPrivateField;
}

1
tests/CSharpTemp/CSharpTemp.cs

@ -87,6 +87,7 @@ namespace CppSharp.Tests @@ -87,6 +87,7 @@ namespace CppSharp.Tests
{
ctx.SetClassAsValueType("TestCopyConstructorVal");
ctx.SetClassAsValueType("QGenericArgument");
ctx.SetClassAsValueType("StructWithPrivateFields");
ctx.IgnoreClassWithName("IgnoredTypeInheritingNonIgnoredWithNoEmptyCtor");
}

13
tests/CSharpTemp/CSharpTemp.h

@ -311,3 +311,16 @@ public: @@ -311,3 +311,16 @@ public:
private:
IgnoredType<int> _ignoredType;
};
class DLL_API StructWithPrivateFields
{
public:
StructWithPrivateFields(int simplePrivateField, Foo complexPrivateField);
int getSimplePrivateField();
Foo getComplexPrivateField();
protected:
int protectedField;
private:
int simplePrivateField;
Foo complexPrivateField;
};

Loading…
Cancel
Save