diff --git a/src/AddIns/BackendBindings/Boo/BooBinding/Project/Src/ConvertBuffer.cs b/src/AddIns/BackendBindings/Boo/BooBinding/Project/Src/ConvertBuffer.cs index f4c1b08f60..5135306bfc 100644 --- a/src/AddIns/BackendBindings/Boo/BooBinding/Project/Src/ConvertBuffer.cs +++ b/src/AddIns/BackendBindings/Boo/BooBinding/Project/Src/ConvertBuffer.cs @@ -37,8 +37,6 @@ namespace Grunwald.BooBinding IWorkbenchWindow window = WorkbenchSingleton.Workbench.ActiveWorkbenchWindow; if (window != null && window.ViewContent is IEditable) { - StringBuilder errorBuilder = new StringBuilder(); - CompilerErrorCollection errors = new CompilerErrorCollection(); CompilerWarningCollection warnings = new CompilerWarningCollection(); Module module; @@ -48,13 +46,18 @@ namespace Grunwald.BooBinding string fileName = window.ViewContent.FileName ?? window.ViewContent.UntitledName; module = Parser.ParseModule(compileUnit, r, ApplySettings(fileName, errors, warnings), out specials); } - foreach (CompilerError error in errors) { - errorBuilder.AppendLine(error.ToString()); - } - if (warnings.Count > 0) { - foreach (CompilerWarning warning in warnings) { - errorBuilder.AppendLine(warning.ToString()); + if (module == null) { + StringBuilder errorBuilder = new StringBuilder(); + foreach (CompilerError error in errors) { + errorBuilder.AppendLine(error.ToString()); + } + if (warnings.Count > 0) { + foreach (CompilerWarning warning in warnings) { + errorBuilder.AppendLine(warning.ToString()); + } } + MessageService.ShowError(errorBuilder.ToString()); + return; } using (StringWriter w = new StringWriter()) { foreach (CompilerError error in errors) { diff --git a/src/AddIns/BackendBindings/Boo/NRefactoryToBooConverter/Project/ConvertVisitorExpressions.cs b/src/AddIns/BackendBindings/Boo/NRefactoryToBooConverter/Project/ConvertVisitorExpressions.cs index 23425400fc..a672b3d821 100644 --- a/src/AddIns/BackendBindings/Boo/NRefactoryToBooConverter/Project/ConvertVisitorExpressions.cs +++ b/src/AddIns/BackendBindings/Boo/NRefactoryToBooConverter/Project/ConvertVisitorExpressions.cs @@ -247,6 +247,8 @@ namespace NRefactoryToBooConverter return B.BinaryOperatorType.Modulus; case BinaryOperatorType.Multiply: return B.BinaryOperatorType.Multiply; + case BinaryOperatorType.NullCoalescing: + return B.BinaryOperatorType.Or; case BinaryOperatorType.Power: return B.BinaryOperatorType.Exponentiation; case BinaryOperatorType.ReferenceEquality: diff --git a/src/AddIns/BackendBindings/Boo/NRefactoryToBooConverter/Test/ExpressionTests.cs b/src/AddIns/BackendBindings/Boo/NRefactoryToBooConverter/Test/ExpressionTests.cs index c449e501dd..ceb23c8071 100644 --- a/src/AddIns/BackendBindings/Boo/NRefactoryToBooConverter/Test/ExpressionTests.cs +++ b/src/AddIns/BackendBindings/Boo/NRefactoryToBooConverter/Test/ExpressionTests.cs @@ -214,19 +214,19 @@ namespace NRefactoryToBooConverter.Tests [Test] public void CreateEmptyArray() { - TestExpr("new int[] { }", "(,)"); + TestExpr("new int[] { }", "(of System.Int32: ,)"); } [Test] public void CreateArrayWithOneElement() { - TestExpr("new int[] { 1 }", "(1,)"); + TestExpr("new int[] { 1 }", "(of System.Int32: 1)"); } [Test] public void CreateArrayWithTwoElements() { - TestExpr("new int[] { 1 , 2 }", "(1, 2)"); + TestExpr("new int[] { 1 , 2 }", "(of System.Int32: 1, 2)"); } [Test] @@ -253,10 +253,10 @@ namespace NRefactoryToBooConverter.Tests TestExpr("a ? b : c", "a ? b : c"); } - [Test, Ignore("ConditionalExpression does not have a boo syntax")] + [Test] public void NullCoalescing() { - TestExpr("a ?? b", "(a != null) ? a : b"); + TestExpr("a ?? b", "(a or b)"); } } } diff --git a/src/AddIns/Misc/SubversionAddIn/Project/Src/Commands/Checkout/CheckoutCommand.cs b/src/AddIns/Misc/SubversionAddIn/Project/Src/Commands/Checkout/CheckoutCommand.cs index a6319c52f2..2de3529480 100644 --- a/src/AddIns/Misc/SubversionAddIn/Project/Src/Commands/Checkout/CheckoutCommand.cs +++ b/src/AddIns/Misc/SubversionAddIn/Project/Src/Commands/Checkout/CheckoutCommand.cs @@ -23,17 +23,13 @@ namespace ICSharpCode.Svn.Commands bool recurse; Revision revision = null; - /// - /// Creates a new CheckoutCommand - /// - public CheckoutCommand() - { - - } - void DoCheckoutCommand() { - SvnClient.Instance.Client.Checkout(from, to, revision, recurse); + try { + SvnClient.Instance.Client.Checkout(from, to, revision, recurse); + } catch (SvnClientException ex) { + MessageService.ShowError(ex.Message); + } } /// diff --git a/src/AddIns/Misc/SubversionAddIn/Project/Src/Commands/Export/ExportCommand.cs b/src/AddIns/Misc/SubversionAddIn/Project/Src/Commands/Export/ExportCommand.cs index 3698d599e7..0bb1c5b5b1 100644 --- a/src/AddIns/Misc/SubversionAddIn/Project/Src/Commands/Export/ExportCommand.cs +++ b/src/AddIns/Misc/SubversionAddIn/Project/Src/Commands/Export/ExportCommand.cs @@ -36,7 +36,11 @@ namespace ICSharpCode.Svn.Commands void DoExportCommand() { - SvnClient.Instance.Client.Export(from, to, revision, false); + try { + SvnClient.Instance.Client.Export(from, to, revision, false); + } catch (SvnClientException ex) { + MessageService.ShowError(ex.Message); + } } /// diff --git a/src/AddIns/Misc/SubversionAddIn/Project/Src/Commands/Export/ExportDialog.cs b/src/AddIns/Misc/SubversionAddIn/Project/Src/Commands/Export/ExportDialog.cs index 31eb2e9cb7..194389c722 100644 --- a/src/AddIns/Misc/SubversionAddIn/Project/Src/Commands/Export/ExportDialog.cs +++ b/src/AddIns/Misc/SubversionAddIn/Project/Src/Commands/Export/ExportDialog.cs @@ -48,6 +48,8 @@ namespace ICSharpCode.Svn.Commands string ConvertPathToURL(string path) { + if (path.Length == 0) + return ""; return "file:///" + path.Replace('\\', '/'); } @@ -67,13 +69,13 @@ namespace ICSharpCode.Svn.Commands { SetupFromXmlStream(Assembly.GetExecutingAssembly().GetManifestResourceStream("ICSharpCode.Svn.Resources.ExportDialog.xfrm")); ((ComboBox)ControlDictionary["revisionComboBox"]).Items.AddRange(new string[] { - "Head", - "Committed", - "Base", - "Previous", - "Working", - "Date" - }); + "Head", + "Committed", + "Base", + "Previous", + "Working", + "Date" + }); ((ComboBox)ControlDictionary["revisionComboBox"]).Text = "Head"; ((ComboBox)ControlDictionary["revisionComboBox"]).TextChanged += new EventHandler(RevisionComboBoxTextChanged); RevisionComboBoxTextChanged(this, EventArgs.Empty); @@ -84,6 +86,16 @@ namespace ICSharpCode.Svn.Commands ControlDictionary["sourceDirectoryBrowseButton"].Click += new EventHandler(SourceDirectoryBrowseButtonClick); ControlDictionary["localDirectoryBrowseButton"].Click += new EventHandler(LocalDirectoryBrowseButtonClick); + + ControlDictionary["sourceDirectoryTextBox"].TextChanged += UrlChanged; + ControlDictionary["urlTextBox"].TextChanged += UrlChanged; + ControlDictionary["localDirectoryTextBox"].TextChanged += UrlChanged; + UrlChanged(null, null); + } + + void UrlChanged(object sender, EventArgs e) + { + Get