Browse Source

Fixed output for overloaded unary operators.

git-svn-id: svn://svn.sharpdevelop.net/sharpdevelop/branches/3.0@4741 1ccf3a8d-04fe-1044-b7c0-cef0b8235c61
shortcuts
Daniel Grunwald 16 years ago
parent
commit
4c32ea2a50
  1. 2
      src/Libraries/NRefactory/Project/Src/PrettyPrinter/CSharp/CSharpOutputVisitor.cs
  2. 2
      src/Libraries/NRefactory/Project/Src/PrettyPrinter/VBNet/VBNetOutputVisitor.cs
  3. 9
      src/Libraries/NRefactory/Test/Output/CSharp/CSharpOutputTest.cs
  4. BIN
      src/Main/StartUp/Project/Resources/BitmapResources.resources

2
src/Libraries/NRefactory/Project/Src/PrettyPrinter/CSharp/CSharpOutputVisitor.cs

@ -820,6 +820,7 @@ namespace ICSharpCode.NRefactory.PrettyPrinter
} else { } else {
switch (operatorDeclaration.OverloadableOperator) { switch (operatorDeclaration.OverloadableOperator) {
case OverloadableOperatorType.Add: case OverloadableOperatorType.Add:
case OverloadableOperatorType.UnaryPlus:
outputFormatter.PrintToken(Tokens.Plus); outputFormatter.PrintToken(Tokens.Plus);
break; break;
case OverloadableOperatorType.BitNot: case OverloadableOperatorType.BitNot:
@ -893,6 +894,7 @@ namespace ICSharpCode.NRefactory.PrettyPrinter
outputFormatter.PrintToken(Tokens.GreaterThan); outputFormatter.PrintToken(Tokens.GreaterThan);
outputFormatter.PrintToken(Tokens.GreaterThan); outputFormatter.PrintToken(Tokens.GreaterThan);
break; break;
case OverloadableOperatorType.UnaryMinus:
case OverloadableOperatorType.Subtract: case OverloadableOperatorType.Subtract:
outputFormatter.PrintToken(Tokens.Minus); outputFormatter.PrintToken(Tokens.Minus);
break; break;

2
src/Libraries/NRefactory/Project/Src/PrettyPrinter/VBNet/VBNetOutputVisitor.cs

@ -1071,8 +1071,10 @@ namespace ICSharpCode.NRefactory.PrettyPrinter
switch(operatorDeclaration.OverloadableOperator) switch(operatorDeclaration.OverloadableOperator)
{ {
case OverloadableOperatorType.Add: case OverloadableOperatorType.Add:
case OverloadableOperatorType.UnaryPlus:
op = Tokens.Plus; op = Tokens.Plus;
break; break;
case OverloadableOperatorType.UnaryMinus:
case OverloadableOperatorType.Subtract: case OverloadableOperatorType.Subtract:
op = Tokens.Minus; op = Tokens.Minus;
break; break;

9
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}"); 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] [Test]
public void PropertyWithAccessorAccessModifiers() public void PropertyWithAccessorAccessModifiers()
{ {

BIN
src/Main/StartUp/Project/Resources/BitmapResources.resources

Binary file not shown.
Loading…
Cancel
Save