From 4c32ea2a50539fb6680d2a300b242682fce73fd0 Mon Sep 17 00:00:00 2001 From: Daniel Grunwald Date: Wed, 19 Aug 2009 20:27:52 +0000 Subject: [PATCH] Fixed output for overloaded unary operators. git-svn-id: svn://svn.sharpdevelop.net/sharpdevelop/branches/3.0@4741 1ccf3a8d-04fe-1044-b7c0-cef0b8235c61 --- .../CSharp/CSharpOutputVisitor.cs | 2 ++ .../PrettyPrinter/VBNet/VBNetOutputVisitor.cs | 2 ++ .../Test/Output/CSharp/CSharpOutputTest.cs | 9 +++++++++ .../Resources/BitmapResources.resources | Bin 574883 -> 575367 bytes 4 files changed, 13 insertions(+) diff --git a/src/Libraries/NRefactory/Project/Src/PrettyPrinter/CSharp/CSharpOutputVisitor.cs b/src/Libraries/NRefactory/Project/Src/PrettyPrinter/CSharp/CSharpOutputVisitor.cs index 22d405e6f7..4c704adbaf 100644 --- a/src/Libraries/NRefactory/Project/Src/PrettyPrinter/CSharp/CSharpOutputVisitor.cs +++ b/src/Libraries/NRefactory/Project/Src/PrettyPrinter/CSharp/CSharpOutputVisitor.cs @@ -820,6 +820,7 @@ namespace ICSharpCode.NRefactory.PrettyPrinter } else { switch (operatorDeclaration.OverloadableOperator) { case OverloadableOperatorType.Add: + case OverloadableOperatorType.UnaryPlus: outputFormatter.PrintToken(Tokens.Plus); break; case OverloadableOperatorType.BitNot: @@ -893,6 +894,7 @@ namespace ICSharpCode.NRefactory.PrettyPrinter outputFormatter.PrintToken(Tokens.GreaterThan); outputFormatter.PrintToken(Tokens.GreaterThan); break; + case OverloadableOperatorType.UnaryMinus: case OverloadableOperatorType.Subtract: outputFormatter.PrintToken(Tokens.Minus); break; diff --git a/src/Libraries/NRefactory/Project/Src/PrettyPrinter/VBNet/VBNetOutputVisitor.cs b/src/Libraries/NRefactory/Project/Src/PrettyPrinter/VBNet/VBNetOutputVisitor.cs index a1b5d5013a..c21847984f 100644 --- a/src/Libraries/NRefactory/Project/Src/PrettyPrinter/VBNet/VBNetOutputVisitor.cs +++ b/src/Libraries/NRefactory/Project/Src/PrettyPrinter/VBNet/VBNetOutputVisitor.cs @@ -1071,8 +1071,10 @@ namespace ICSharpCode.NRefactory.PrettyPrinter switch(operatorDeclaration.OverloadableOperator) { case OverloadableOperatorType.Add: + case OverloadableOperatorType.UnaryPlus: op = Tokens.Plus; break; + case OverloadableOperatorType.UnaryMinus: case OverloadableOperatorType.Subtract: op = Tokens.Minus; break; diff --git a/src/Libraries/NRefactory/Test/Output/CSharp/CSharpOutputTest.cs b/src/Libraries/NRefactory/Test/Output/CSharp/CSharpOutputTest.cs index 508f38ff3f..8aaef637d5 100644 --- a/src/Libraries/NRefactory/Test/Output/CSharp/CSharpOutputTest.cs +++ b/src/Libraries/NRefactory/Test/Output/CSharp/CSharpOutputTest.cs @@ -541,6 +541,15 @@ namespace ICSharpCode.NRefactory.Tests.PrettyPrinter TestTypeMember("public static TheBug operator >>(TheBug bugNode, int b)\n{\n}"); } + [Test] + public void OverloadedUnaryOperators() + { + TestTypeMember("public static TheBug operator +(TheBug bugNode)\n{\n}"); + TestTypeMember("public static TheBug operator -(TheBug bugNode)\n{\n}"); + TestTypeMember("public static TheBug operator ~(TheBug bugNode)\n{\n}"); + TestTypeMember("public static TheBug operator !(TheBug bugNode)\n{\n}"); + } + [Test] public void PropertyWithAccessorAccessModifiers() { diff --git a/src/Main/StartUp/Project/Resources/BitmapResources.resources b/src/Main/StartUp/Project/Resources/BitmapResources.resources index 841b74faec7896b000d41aa670255b554e8e4b49..d6ebebbdd4d36150b0fdff612589e0d9a87608aa 100644 GIT binary patch delta 5112 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 Rv{({Lho#@wT<7L&{C{}dL4N=M