diff --git a/src/AddIns/Misc/Debugger/Debugger.Core/Project/Src/Wrappers/CorSym/Autogenerated/ISymUnmanagedDispose.cs b/src/AddIns/Misc/Debugger/Debugger.Core/Project/Src/Wrappers/CorSym/Autogenerated/ISymUnmanagedDispose.cs index d8999c49de..1db171edb8 100644 --- a/src/AddIns/Misc/Debugger/Debugger.Core/Project/Src/Wrappers/CorSym/Autogenerated/ISymUnmanagedDispose.cs +++ b/src/AddIns/Misc/Debugger/Debugger.Core/Project/Src/Wrappers/CorSym/Autogenerated/ISymUnmanagedDispose.cs @@ -33,7 +33,13 @@ namespace Debugger.Wrappers.CorSym public static ISymUnmanagedDispose Wrap(Debugger.Interop.CorSym.ISymUnmanagedDispose objectToWrap) { - return new ISymUnmanagedDispose(objectToWrap); + if ((objectToWrap != null)) + { + return new ISymUnmanagedDispose(objectToWrap); + } else + { + return null; + } } ~ISymUnmanagedDispose() diff --git a/src/Tools/WrapperGenerator/CodeGenerator.cs b/src/Tools/WrapperGenerator/CodeGenerator.cs index 6ae91c236a..379ef6071e 100644 --- a/src/Tools/WrapperGenerator/CodeGenerator.cs +++ b/src/Tools/WrapperGenerator/CodeGenerator.cs @@ -286,10 +286,23 @@ namespace WrapperGenerator */ method.Statements.Add( - new CodeMethodReturnStatement( - new CodeObjectCreateExpression( - wrappedType.Name, - new CodeArgumentReferenceExpression("objectToWrap")))); + // if + new CodeConditionStatement( + // objectToWrap != null + new CodeBinaryOperatorExpression( + new CodeArgumentReferenceExpression("objectToWrap"), + CodeBinaryOperatorType.IdentityInequality, + new CodePrimitiveExpression(null)), + // return new TheType(objectToWrap); + new CodeStatement[] { + new CodeMethodReturnStatement( + new CodeObjectCreateExpression( + wrappedType.Name, + new CodeArgumentReferenceExpression("objectToWrap")))}, + // else return null; + new CodeStatement[] { + new CodeMethodReturnStatement( + new CodePrimitiveExpression(null))})); return method; }