diff --git a/src/AST/Function.cs b/src/AST/Function.cs index 5ba7d562..9bca8599 100644 --- a/src/AST/Function.cs +++ b/src/AST/Function.cs @@ -63,6 +63,22 @@ namespace CppSharp.AST public ParameterUsage Usage { 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 { get @@ -101,6 +117,7 @@ namespace CppSharp.AST } ExpressionObsolete defaultArgument; + private Stmt defaultValue; } public class ParameterTypeComparer : IEqualityComparer diff --git a/src/CppParser/AST.cpp b/src/CppParser/AST.cpp index bfe3bab0..c06fe90a 100644 --- a/src/CppParser/AST.cpp +++ b/src/CppParser/AST.cpp @@ -602,8 +602,14 @@ CXXConstructExprObsolete::~CXXConstructExprObsolete() DEF_VECTOR(CXXConstructExprObsolete, ExpressionObsolete*, Arguments) -Parameter::Parameter() : Declaration(DeclarationKind::Parameter), - isIndirect(false), hasDefaultValue(false), defaultArgument(0) {} +Parameter::Parameter() + : Declaration(DeclarationKind::Parameter) + , isIndirect(false) + , hasDefaultValue(false) + , defaultArgument(0) + , defaultValue(0) +{ +} Parameter::~Parameter() { diff --git a/src/CppParser/Bindings/CLI/Decl.cpp b/src/CppParser/Bindings/CLI/Decl.cpp index 00175313..36026b56 100644 --- a/src/CppParser/Bindings/CLI/Decl.cpp +++ b/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::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) diff --git a/src/CppParser/Bindings/CLI/Decl.h b/src/CppParser/Bindings/CLI/Decl.h index dbd792ea..7608647b 100644 --- a/src/CppParser/Bindings/CLI/Decl.h +++ b/src/CppParser/Bindings/CLI/Decl.h @@ -858,7 +858,7 @@ namespace CppSharp void set(CppSharp::Parser::AST::ExpressionObsolete^); } - property CppSharp::Parser::AST::Expr^ DefaultArgumentNew + property CppSharp::Parser::AST::Expr^ DefaultValue { CppSharp::Parser::AST::Expr^ get(); void set(CppSharp::Parser::AST::Expr^); diff --git a/src/CppParser/Bindings/CSharp/i686-apple-darwin12.4.0/CppSharp.CppParser.cs b/src/CppParser/Bindings/CSharp/i686-apple-darwin12.4.0/CppSharp.CppParser.cs index 4f3ab48d..b06af64a 100644 --- a/src/CppParser/Bindings/CSharp/i686-apple-darwin12.4.0/CppSharp.CppParser.cs +++ b/src/CppParser/Bindings/CSharp/i686-apple-darwin12.4.0/CppSharp.CppParser.cs @@ -8969,7 +8969,7 @@ namespace CppSharp internal global::System.IntPtr defaultArgument; [FieldOffset(128)] - internal global::System.IntPtr defaultArgumentNew; + internal global::System.IntPtr defaultValue; [SuppressUnmanagedCodeSecurity] [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 { global::CppSharp.Parser.AST.Expr __result0; - if (((global::CppSharp.Parser.AST.Parameter.__Internal*) __Instance)->defaultArgumentNew == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((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)->defaultArgumentNew]; - else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.Parameter.__Internal*) __Instance)->defaultArgumentNew); + 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)->defaultValue)) + __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)->defaultValue); return __result0; } 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; } } } diff --git a/src/CppParser/Bindings/CSharp/i686-pc-win32-msvc/CppSharp.CppParser.cs b/src/CppParser/Bindings/CSharp/i686-pc-win32-msvc/CppSharp.CppParser.cs index f9aa9060..16a83cdf 100644 --- a/src/CppParser/Bindings/CSharp/i686-pc-win32-msvc/CppSharp.CppParser.cs +++ b/src/CppParser/Bindings/CSharp/i686-pc-win32-msvc/CppSharp.CppParser.cs @@ -8969,7 +8969,7 @@ namespace CppSharp internal global::System.IntPtr defaultArgument; [FieldOffset(164)] - internal global::System.IntPtr defaultArgumentNew; + internal global::System.IntPtr defaultValue; [SuppressUnmanagedCodeSecurity] [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 { global::CppSharp.Parser.AST.Expr __result0; - if (((global::CppSharp.Parser.AST.Parameter.__Internal*) __Instance)->defaultArgumentNew == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((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)->defaultArgumentNew]; - else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.Parameter.__Internal*) __Instance)->defaultArgumentNew); + 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)->defaultValue)) + __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)->defaultValue); return __result0; } 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; } } } diff --git a/src/CppParser/Bindings/CSharp/x86_64-apple-darwin12.4.0/CppSharp.CppParser.cs b/src/CppParser/Bindings/CSharp/x86_64-apple-darwin12.4.0/CppSharp.CppParser.cs index 53cbbbd5..920ec234 100644 --- a/src/CppParser/Bindings/CSharp/x86_64-apple-darwin12.4.0/CppSharp.CppParser.cs +++ b/src/CppParser/Bindings/CSharp/x86_64-apple-darwin12.4.0/CppSharp.CppParser.cs @@ -8969,7 +8969,7 @@ namespace CppSharp internal global::System.IntPtr defaultArgument; [FieldOffset(232)] - internal global::System.IntPtr defaultArgumentNew; + internal global::System.IntPtr defaultValue; [SuppressUnmanagedCodeSecurity] [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 { global::CppSharp.Parser.AST.Expr __result0; - if (((global::CppSharp.Parser.AST.Parameter.__Internal*) __Instance)->defaultArgumentNew == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((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)->defaultArgumentNew]; - else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.Parameter.__Internal*) __Instance)->defaultArgumentNew); + 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)->defaultValue)) + __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)->defaultValue); return __result0; } 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; } } } diff --git a/src/CppParser/Bindings/CSharp/x86_64-linux-gnu-cxx11abi/CppSharp.CppParser.cs b/src/CppParser/Bindings/CSharp/x86_64-linux-gnu-cxx11abi/CppSharp.CppParser.cs index 704ae20b..9f32257a 100644 --- a/src/CppParser/Bindings/CSharp/x86_64-linux-gnu-cxx11abi/CppSharp.CppParser.cs +++ b/src/CppParser/Bindings/CSharp/x86_64-linux-gnu-cxx11abi/CppSharp.CppParser.cs @@ -8969,7 +8969,7 @@ namespace CppSharp internal global::System.IntPtr defaultArgument; [FieldOffset(256)] - internal global::System.IntPtr defaultArgumentNew; + internal global::System.IntPtr defaultValue; [SuppressUnmanagedCodeSecurity] [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 { global::CppSharp.Parser.AST.Expr __result0; - if (((global::CppSharp.Parser.AST.Parameter.__Internal*) __Instance)->defaultArgumentNew == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((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)->defaultArgumentNew]; - else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.Parameter.__Internal*) __Instance)->defaultArgumentNew); + 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)->defaultValue)) + __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)->defaultValue); return __result0; } 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; } } } diff --git a/src/CppParser/Bindings/CSharp/x86_64-linux-gnu-cxx11abi/Std.cs b/src/CppParser/Bindings/CSharp/x86_64-linux-gnu-cxx11abi/Std.cs index 58590a8b..6419e48b 100644 --- a/src/CppParser/Bindings/CSharp/x86_64-linux-gnu-cxx11abi/Std.cs +++ b/src/CppParser/Bindings/CSharp/x86_64-linux-gnu-cxx11abi/Std.cs @@ -683,8 +683,6 @@ namespace Std { public enum RbTreeColor : uint { - S_red = 0, - S_black = 1 } namespace RbTree diff --git a/src/CppParser/Bindings/CSharp/x86_64-linux-gnu/CppSharp.CppParser.cs b/src/CppParser/Bindings/CSharp/x86_64-linux-gnu/CppSharp.CppParser.cs index c1539c1d..0b56a3a6 100644 --- a/src/CppParser/Bindings/CSharp/x86_64-linux-gnu/CppSharp.CppParser.cs +++ b/src/CppParser/Bindings/CSharp/x86_64-linux-gnu/CppSharp.CppParser.cs @@ -8969,7 +8969,7 @@ namespace CppSharp internal global::System.IntPtr defaultArgument; [FieldOffset(184)] - internal global::System.IntPtr defaultArgumentNew; + internal global::System.IntPtr defaultValue; [SuppressUnmanagedCodeSecurity] [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 { global::CppSharp.Parser.AST.Expr __result0; - if (((global::CppSharp.Parser.AST.Parameter.__Internal*) __Instance)->defaultArgumentNew == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((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)->defaultArgumentNew]; - else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.Parameter.__Internal*) __Instance)->defaultArgumentNew); + 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)->defaultValue)) + __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)->defaultValue); return __result0; } 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; } } } diff --git a/src/CppParser/Bindings/CSharp/x86_64-linux-gnu/Std.cs b/src/CppParser/Bindings/CSharp/x86_64-linux-gnu/Std.cs index 16f26f05..973efc57 100644 --- a/src/CppParser/Bindings/CSharp/x86_64-linux-gnu/Std.cs +++ b/src/CppParser/Bindings/CSharp/x86_64-linux-gnu/Std.cs @@ -683,8 +683,6 @@ namespace Std { public enum RbTreeColor : uint { - S_red = 0, - S_black = 1 } namespace RbTree diff --git a/src/CppParser/Bindings/CSharp/x86_64-pc-win32-msvc/CppSharp.CppParser.cs b/src/CppParser/Bindings/CSharp/x86_64-pc-win32-msvc/CppSharp.CppParser.cs index a6006bca..0f6304c2 100644 --- a/src/CppParser/Bindings/CSharp/x86_64-pc-win32-msvc/CppSharp.CppParser.cs +++ b/src/CppParser/Bindings/CSharp/x86_64-pc-win32-msvc/CppSharp.CppParser.cs @@ -8969,7 +8969,7 @@ namespace CppSharp internal global::System.IntPtr defaultArgument; [FieldOffset(256)] - internal global::System.IntPtr defaultArgumentNew; + internal global::System.IntPtr defaultValue; [SuppressUnmanagedCodeSecurity] [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 { global::CppSharp.Parser.AST.Expr __result0; - if (((global::CppSharp.Parser.AST.Parameter.__Internal*) __Instance)->defaultArgumentNew == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.Expr.NativeToManagedMap.ContainsKey(((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)->defaultArgumentNew]; - else __result0 = global::CppSharp.Parser.AST.Expr.__CreateInstance(((global::CppSharp.Parser.AST.Parameter.__Internal*) __Instance)->defaultArgumentNew); + 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)->defaultValue)) + __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)->defaultValue); return __result0; } 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; } } } diff --git a/src/CppParser/Decl.h b/src/CppParser/Decl.h index ef939047..da561763 100644 --- a/src/CppParser/Decl.h +++ b/src/CppParser/Decl.h @@ -248,7 +248,7 @@ public: bool hasDefaultValue; unsigned int index; ExpressionObsolete* defaultArgument; - Expr* defaultArgumentNew; + Expr* defaultValue; }; enum class CXXMethodKind diff --git a/src/Parser/ASTConverter.cs b/src/Parser/ASTConverter.cs index 5d6ece61..f4be1cb1 100644 --- a/src/Parser/ASTConverter.cs +++ b/src/Parser/ASTConverter.cs @@ -1129,6 +1129,10 @@ namespace CppSharp _param.HasDefaultValue = decl.HasDefaultValue; _param.Index = decl.Index; _param.DefaultArgument = VisitStatement(decl.DefaultArgument); + if (decl.DefaultValue != null) + { + _param.DefaultValue = stmtConverter.Visit(decl.DefaultValue); + } return _param; }