From 6955acf53e56adc79a38b9fef39fecf5884a5df3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?David=20Srbeck=C3=BD?= Date: Sun, 2 Apr 2006 09:24:59 +0000 Subject: [PATCH] Forgot to commit modified WrapperGenerator git-svn-id: svn://svn.sharpdevelop.net/sharpdevelop/branches/2.0@1249 1ccf3a8d-04fe-1044-b7c0-cef0b8235c61 --- .../Autogenerated/ISymUnmanagedDispose.cs | 8 ++++++- src/Tools/WrapperGenerator/CodeGenerator.cs | 21 +++++++++++++++---- 2 files changed, 24 insertions(+), 5 deletions(-) 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; }