Browse Source

Added the new default values based on expressions, to parameters.

Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
pull/1182/head
Dimitar Dobrev 7 years ago
parent
commit
9840d8a267
  1. 17
      src/AST/Function.cs
  2. 10
      src/CppParser/AST.cpp
  3. 8
      src/CppParser/Bindings/CLI/Decl.cpp
  4. 2
      src/CppParser/Bindings/CLI/Decl.h
  5. 14
      src/CppParser/Bindings/CSharp/i686-apple-darwin12.4.0/CppSharp.CppParser.cs
  6. 14
      src/CppParser/Bindings/CSharp/i686-pc-win32-msvc/CppSharp.CppParser.cs
  7. 14
      src/CppParser/Bindings/CSharp/x86_64-apple-darwin12.4.0/CppSharp.CppParser.cs
  8. 14
      src/CppParser/Bindings/CSharp/x86_64-linux-gnu-cxx11abi/CppSharp.CppParser.cs
  9. 2
      src/CppParser/Bindings/CSharp/x86_64-linux-gnu-cxx11abi/Std.cs
  10. 14
      src/CppParser/Bindings/CSharp/x86_64-linux-gnu/CppSharp.CppParser.cs
  11. 2
      src/CppParser/Bindings/CSharp/x86_64-linux-gnu/Std.cs
  12. 14
      src/CppParser/Bindings/CSharp/x86_64-pc-win32-msvc/CppSharp.CppParser.cs
  13. 2
      src/CppParser/Decl.h
  14. 4
      src/Parser/ASTConverter.cs

17
src/AST/Function.cs

@ -63,6 +63,22 @@ namespace CppSharp.AST
public ParameterUsage Usage { get; set; } public ParameterUsage Usage { get; set; }
public bool HasDefaultValue { get; set; } public bool HasDefaultValue { get; set; }
public Stmt DefaultValue
{
get { return defaultValue; }
set
{
if (defaultValue != value)
{
defaultValue = value;
if (OriginalDefaultValue == null)
OriginalDefaultValue = value;
}
}
}
public Stmt OriginalDefaultValue { get; private set; }
public ExpressionObsolete DefaultArgument public ExpressionObsolete DefaultArgument
{ {
get get
@ -101,6 +117,7 @@ namespace CppSharp.AST
} }
ExpressionObsolete defaultArgument; ExpressionObsolete defaultArgument;
private Stmt defaultValue;
} }
public class ParameterTypeComparer : IEqualityComparer<Parameter> public class ParameterTypeComparer : IEqualityComparer<Parameter>

10
src/CppParser/AST.cpp

@ -602,8 +602,14 @@ CXXConstructExprObsolete::~CXXConstructExprObsolete()
DEF_VECTOR(CXXConstructExprObsolete, ExpressionObsolete*, Arguments) DEF_VECTOR(CXXConstructExprObsolete, ExpressionObsolete*, Arguments)
Parameter::Parameter() : Declaration(DeclarationKind::Parameter), Parameter::Parameter()
isIndirect(false), hasDefaultValue(false), defaultArgument(0) {} : Declaration(DeclarationKind::Parameter)
, isIndirect(false)
, hasDefaultValue(false)
, defaultArgument(0)
, defaultValue(0)
{
}
Parameter::~Parameter() Parameter::~Parameter()
{ {

8
src/CppParser/Bindings/CLI/Decl.cpp

@ -1462,14 +1462,14 @@ void CppSharp::Parser::AST::Parameter::DefaultArgument::set(CppSharp::Parser::AS
((::CppSharp::CppParser::AST::Parameter*)NativePtr)->defaultArgument = (::CppSharp::CppParser::AST::ExpressionObsolete*)value->NativePtr; ((::CppSharp::CppParser::AST::Parameter*)NativePtr)->defaultArgument = (::CppSharp::CppParser::AST::ExpressionObsolete*)value->NativePtr;
} }
CppSharp::Parser::AST::Expr^ CppSharp::Parser::AST::Parameter::DefaultArgumentNew::get() CppSharp::Parser::AST::Expr^ CppSharp::Parser::AST::Parameter::DefaultValue::get()
{ {
return (((::CppSharp::CppParser::AST::Parameter*)NativePtr)->defaultArgumentNew == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::Expr((::CppSharp::CppParser::AST::Expr*)((::CppSharp::CppParser::AST::Parameter*)NativePtr)->defaultArgumentNew); return (((::CppSharp::CppParser::AST::Parameter*)NativePtr)->defaultValue == nullptr) ? nullptr : gcnew CppSharp::Parser::AST::Expr((::CppSharp::CppParser::AST::Expr*)((::CppSharp::CppParser::AST::Parameter*)NativePtr)->defaultValue);
} }
void CppSharp::Parser::AST::Parameter::DefaultArgumentNew::set(CppSharp::Parser::AST::Expr^ value) void CppSharp::Parser::AST::Parameter::DefaultValue::set(CppSharp::Parser::AST::Expr^ value)
{ {
((::CppSharp::CppParser::AST::Parameter*)NativePtr)->defaultArgumentNew = (::CppSharp::CppParser::AST::Expr*)value->NativePtr; ((::CppSharp::CppParser::AST::Parameter*)NativePtr)->defaultValue = (::CppSharp::CppParser::AST::Expr*)value->NativePtr;
} }
CppSharp::Parser::AST::Function::Function(::CppSharp::CppParser::AST::Function* native) CppSharp::Parser::AST::Function::Function(::CppSharp::CppParser::AST::Function* native)

2
src/CppParser/Bindings/CLI/Decl.h

@ -858,7 +858,7 @@ namespace CppSharp
void set(CppSharp::Parser::AST::ExpressionObsolete^); void set(CppSharp::Parser::AST::ExpressionObsolete^);
} }
property CppSharp::Parser::AST::Expr^ DefaultArgumentNew property CppSharp::Parser::AST::Expr^ DefaultValue
{ {
CppSharp::Parser::AST::Expr^ get(); CppSharp::Parser::AST::Expr^ get();
void set(CppSharp::Parser::AST::Expr^); void set(CppSharp::Parser::AST::Expr^);

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

@ -8969,7 +8969,7 @@ namespace CppSharp
internal global::System.IntPtr defaultArgument; internal global::System.IntPtr defaultArgument;
[FieldOffset(128)] [FieldOffset(128)]
internal global::System.IntPtr defaultArgumentNew; internal global::System.IntPtr defaultValue;
[SuppressUnmanagedCodeSecurity] [SuppressUnmanagedCodeSecurity]
[DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl,
@ -9124,21 +9124,21 @@ namespace CppSharp
} }
} }
public global::CppSharp.Parser.AST.Expr DefaultArgumentNew public global::CppSharp.Parser.AST.Expr DefaultValue
{ {
get get
{ {
global::CppSharp.Parser.AST.Expr __result0; global::CppSharp.Parser.AST.Expr __result0;
if (((global::CppSharp.Parser.AST.Parameter.__Internal*) __Instance)->defaultArgumentNew == IntPtr.Zero) __result0 = null; if (((global::CppSharp.Parser.AST.Parameter.__Internal*) __Instance)->defaultValue == IntPtr.Zero) __result0 = null;
else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.Parameter.__Internal*) __Instance)->defaultArgumentNew)) else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.Parameter.__Internal*) __Instance)->defaultValue))
__result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.Parameter.__Internal*) __Instance)->defaultArgumentNew]; __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.Parameter.__Internal*) __Instance)->defaultValue];
else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.Parameter.__Internal*) __Instance)->defaultArgumentNew); else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.Parameter.__Internal*) __Instance)->defaultValue);
return __result0; return __result0;
} }
set set
{ {
((global::CppSharp.Parser.AST.Parameter.__Internal*)__Instance)->defaultArgumentNew = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; ((global::CppSharp.Parser.AST.Parameter.__Internal*)__Instance)->defaultValue = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
} }
} }
} }

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

@ -8969,7 +8969,7 @@ namespace CppSharp
internal global::System.IntPtr defaultArgument; internal global::System.IntPtr defaultArgument;
[FieldOffset(164)] [FieldOffset(164)]
internal global::System.IntPtr defaultArgumentNew; internal global::System.IntPtr defaultValue;
[SuppressUnmanagedCodeSecurity] [SuppressUnmanagedCodeSecurity]
[DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall,
@ -9124,21 +9124,21 @@ namespace CppSharp
} }
} }
public global::CppSharp.Parser.AST.Expr DefaultArgumentNew public global::CppSharp.Parser.AST.Expr DefaultValue
{ {
get get
{ {
global::CppSharp.Parser.AST.Expr __result0; global::CppSharp.Parser.AST.Expr __result0;
if (((global::CppSharp.Parser.AST.Parameter.__Internal*) __Instance)->defaultArgumentNew == IntPtr.Zero) __result0 = null; if (((global::CppSharp.Parser.AST.Parameter.__Internal*) __Instance)->defaultValue == IntPtr.Zero) __result0 = null;
else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.Parameter.__Internal*) __Instance)->defaultArgumentNew)) else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.Parameter.__Internal*) __Instance)->defaultValue))
__result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.Parameter.__Internal*) __Instance)->defaultArgumentNew]; __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.Parameter.__Internal*) __Instance)->defaultValue];
else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.Parameter.__Internal*) __Instance)->defaultArgumentNew); else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.Parameter.__Internal*) __Instance)->defaultValue);
return __result0; return __result0;
} }
set set
{ {
((global::CppSharp.Parser.AST.Parameter.__Internal*)__Instance)->defaultArgumentNew = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; ((global::CppSharp.Parser.AST.Parameter.__Internal*)__Instance)->defaultValue = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
} }
} }
} }

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

@ -8969,7 +8969,7 @@ namespace CppSharp
internal global::System.IntPtr defaultArgument; internal global::System.IntPtr defaultArgument;
[FieldOffset(232)] [FieldOffset(232)]
internal global::System.IntPtr defaultArgumentNew; internal global::System.IntPtr defaultValue;
[SuppressUnmanagedCodeSecurity] [SuppressUnmanagedCodeSecurity]
[DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl,
@ -9124,21 +9124,21 @@ namespace CppSharp
} }
} }
public global::CppSharp.Parser.AST.Expr DefaultArgumentNew public global::CppSharp.Parser.AST.Expr DefaultValue
{ {
get get
{ {
global::CppSharp.Parser.AST.Expr __result0; global::CppSharp.Parser.AST.Expr __result0;
if (((global::CppSharp.Parser.AST.Parameter.__Internal*) __Instance)->defaultArgumentNew == IntPtr.Zero) __result0 = null; if (((global::CppSharp.Parser.AST.Parameter.__Internal*) __Instance)->defaultValue == IntPtr.Zero) __result0 = null;
else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.Parameter.__Internal*) __Instance)->defaultArgumentNew)) else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.Parameter.__Internal*) __Instance)->defaultValue))
__result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.Parameter.__Internal*) __Instance)->defaultArgumentNew]; __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.Parameter.__Internal*) __Instance)->defaultValue];
else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.Parameter.__Internal*) __Instance)->defaultArgumentNew); else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.Parameter.__Internal*) __Instance)->defaultValue);
return __result0; return __result0;
} }
set set
{ {
((global::CppSharp.Parser.AST.Parameter.__Internal*)__Instance)->defaultArgumentNew = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; ((global::CppSharp.Parser.AST.Parameter.__Internal*)__Instance)->defaultValue = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
} }
} }
} }

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

@ -8969,7 +8969,7 @@ namespace CppSharp
internal global::System.IntPtr defaultArgument; internal global::System.IntPtr defaultArgument;
[FieldOffset(256)] [FieldOffset(256)]
internal global::System.IntPtr defaultArgumentNew; internal global::System.IntPtr defaultValue;
[SuppressUnmanagedCodeSecurity] [SuppressUnmanagedCodeSecurity]
[DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl,
@ -9124,21 +9124,21 @@ namespace CppSharp
} }
} }
public global::CppSharp.Parser.AST.Expr DefaultArgumentNew public global::CppSharp.Parser.AST.Expr DefaultValue
{ {
get get
{ {
global::CppSharp.Parser.AST.Expr __result0; global::CppSharp.Parser.AST.Expr __result0;
if (((global::CppSharp.Parser.AST.Parameter.__Internal*) __Instance)->defaultArgumentNew == IntPtr.Zero) __result0 = null; if (((global::CppSharp.Parser.AST.Parameter.__Internal*) __Instance)->defaultValue == IntPtr.Zero) __result0 = null;
else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.Parameter.__Internal*) __Instance)->defaultArgumentNew)) else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.Parameter.__Internal*) __Instance)->defaultValue))
__result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.Parameter.__Internal*) __Instance)->defaultArgumentNew]; __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.Parameter.__Internal*) __Instance)->defaultValue];
else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.Parameter.__Internal*) __Instance)->defaultArgumentNew); else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.Parameter.__Internal*) __Instance)->defaultValue);
return __result0; return __result0;
} }
set set
{ {
((global::CppSharp.Parser.AST.Parameter.__Internal*)__Instance)->defaultArgumentNew = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; ((global::CppSharp.Parser.AST.Parameter.__Internal*)__Instance)->defaultValue = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
} }
} }
} }

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

@ -683,8 +683,6 @@ namespace Std
{ {
public enum RbTreeColor : uint public enum RbTreeColor : uint
{ {
S_red = 0,
S_black = 1
} }
namespace RbTree namespace RbTree

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

@ -8969,7 +8969,7 @@ namespace CppSharp
internal global::System.IntPtr defaultArgument; internal global::System.IntPtr defaultArgument;
[FieldOffset(184)] [FieldOffset(184)]
internal global::System.IntPtr defaultArgumentNew; internal global::System.IntPtr defaultValue;
[SuppressUnmanagedCodeSecurity] [SuppressUnmanagedCodeSecurity]
[DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl,
@ -9124,21 +9124,21 @@ namespace CppSharp
} }
} }
public global::CppSharp.Parser.AST.Expr DefaultArgumentNew public global::CppSharp.Parser.AST.Expr DefaultValue
{ {
get get
{ {
global::CppSharp.Parser.AST.Expr __result0; global::CppSharp.Parser.AST.Expr __result0;
if (((global::CppSharp.Parser.AST.Parameter.__Internal*) __Instance)->defaultArgumentNew == IntPtr.Zero) __result0 = null; if (((global::CppSharp.Parser.AST.Parameter.__Internal*) __Instance)->defaultValue == IntPtr.Zero) __result0 = null;
else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.Parameter.__Internal*) __Instance)->defaultArgumentNew)) else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.Parameter.__Internal*) __Instance)->defaultValue))
__result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.Parameter.__Internal*) __Instance)->defaultArgumentNew]; __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.Parameter.__Internal*) __Instance)->defaultValue];
else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.Parameter.__Internal*) __Instance)->defaultArgumentNew); else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.Parameter.__Internal*) __Instance)->defaultValue);
return __result0; return __result0;
} }
set set
{ {
((global::CppSharp.Parser.AST.Parameter.__Internal*)__Instance)->defaultArgumentNew = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; ((global::CppSharp.Parser.AST.Parameter.__Internal*)__Instance)->defaultValue = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
} }
} }
} }

2
src/CppParser/Bindings/CSharp/x86_64-linux-gnu/Std.cs

@ -683,8 +683,6 @@ namespace Std
{ {
public enum RbTreeColor : uint public enum RbTreeColor : uint
{ {
S_red = 0,
S_black = 1
} }
namespace RbTree namespace RbTree

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

@ -8969,7 +8969,7 @@ namespace CppSharp
internal global::System.IntPtr defaultArgument; internal global::System.IntPtr defaultArgument;
[FieldOffset(256)] [FieldOffset(256)]
internal global::System.IntPtr defaultArgumentNew; internal global::System.IntPtr defaultValue;
[SuppressUnmanagedCodeSecurity] [SuppressUnmanagedCodeSecurity]
[DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl,
@ -9124,21 +9124,21 @@ namespace CppSharp
} }
} }
public global::CppSharp.Parser.AST.Expr DefaultArgumentNew public global::CppSharp.Parser.AST.Expr DefaultValue
{ {
get get
{ {
global::CppSharp.Parser.AST.Expr __result0; global::CppSharp.Parser.AST.Expr __result0;
if (((global::CppSharp.Parser.AST.Parameter.__Internal*) __Instance)->defaultArgumentNew == IntPtr.Zero) __result0 = null; if (((global::CppSharp.Parser.AST.Parameter.__Internal*) __Instance)->defaultValue == IntPtr.Zero) __result0 = null;
else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.Parameter.__Internal*) __Instance)->defaultArgumentNew)) else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.Parameter.__Internal*) __Instance)->defaultValue))
__result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.Parameter.__Internal*) __Instance)->defaultArgumentNew]; __result0 = (global::CppSharp.Parser.AST.Expr) global::CppSharp.Parser.AST.Expr.NativeToManagedMap[((global::CppSharp.Parser.AST.Parameter.__Internal*) __Instance)->defaultValue];
else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.Parameter.__Internal*) __Instance)->defaultArgumentNew); else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.Parameter.__Internal*) __Instance)->defaultValue);
return __result0; return __result0;
} }
set set
{ {
((global::CppSharp.Parser.AST.Parameter.__Internal*)__Instance)->defaultArgumentNew = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; ((global::CppSharp.Parser.AST.Parameter.__Internal*)__Instance)->defaultValue = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance;
} }
} }
} }

2
src/CppParser/Decl.h

@ -248,7 +248,7 @@ public:
bool hasDefaultValue; bool hasDefaultValue;
unsigned int index; unsigned int index;
ExpressionObsolete* defaultArgument; ExpressionObsolete* defaultArgument;
Expr* defaultArgumentNew; Expr* defaultValue;
}; };
enum class CXXMethodKind enum class CXXMethodKind

4
src/Parser/ASTConverter.cs

@ -1129,6 +1129,10 @@ namespace CppSharp
_param.HasDefaultValue = decl.HasDefaultValue; _param.HasDefaultValue = decl.HasDefaultValue;
_param.Index = decl.Index; _param.Index = decl.Index;
_param.DefaultArgument = VisitStatement(decl.DefaultArgument); _param.DefaultArgument = VisitStatement(decl.DefaultArgument);
if (decl.DefaultValue != null)
{
_param.DefaultValue = stmtConverter.Visit(decl.DefaultValue);
}
return _param; return _param;
} }

Loading…
Cancel
Save