Browse Source

fix #320: C# Ambience does not escape parameter names

pull/326/merge
Siegfried Pammer 12 years ago
parent
commit
d3921651bd
  1. 2
      src/Libraries/NRefactory/ICSharpCode.NRefactory.CSharp/OutputVisitor/InsertRequiredSpacesDecorator.cs
  2. 4
      src/Libraries/NRefactory/ICSharpCode.NRefactory.CSharp/OutputVisitor/TextWriterOutputFormatter.cs
  3. 2
      src/Libraries/NRefactory/ICSharpCode.NRefactory.CSharp/Refactoring/TypeSystemAstBuilder.cs

2
src/Libraries/NRefactory/ICSharpCode.NRefactory.CSharp/OutputVisitor/InsertRequiredSpacesDecorator.cs

@ -56,7 +56,7 @@ namespace ICSharpCode.NRefactory.CSharp @@ -56,7 +56,7 @@ namespace ICSharpCode.NRefactory.CSharp
public override void WriteIdentifier(Identifier identifier)
{
if (identifier.IsVerbatim) {
if (identifier.IsVerbatim || CSharpOutputVisitor.IsKeyword(identifier.Name, identifier)) {
if (lastWritten == LastWritten.KeywordOrIdentifier) {
// this space is not strictly required, so we call Space()
Space();

4
src/Libraries/NRefactory/ICSharpCode.NRefactory.CSharp/OutputVisitor/TextWriterOutputFormatter.cs

@ -58,7 +58,7 @@ namespace ICSharpCode.NRefactory.CSharp @@ -58,7 +58,7 @@ namespace ICSharpCode.NRefactory.CSharp
public override void WriteIdentifier(Identifier identifier)
{
WriteIndentation();
if (identifier.IsVerbatim) {
if (identifier.IsVerbatim || CSharpOutputVisitor.IsKeyword(identifier.Name, identifier)) {
textWriter.Write('@');
column++;
}
@ -135,7 +135,7 @@ namespace ICSharpCode.NRefactory.CSharp @@ -135,7 +135,7 @@ namespace ICSharpCode.NRefactory.CSharp
textWriter.Write("/*");
textWriter.Write(content);
textWriter.Write("*/");
column += 2;
column += 2;
UpdateEndLocation(content, ref line, ref column);
column += 2;
isAtStartOfLine = false;

2
src/Libraries/NRefactory/ICSharpCode.NRefactory.CSharp/Refactoring/TypeSystemAstBuilder.cs

@ -806,6 +806,8 @@ namespace ICSharpCode.NRefactory.CSharp.Refactoring @@ -806,6 +806,8 @@ namespace ICSharpCode.NRefactory.CSharp.Refactoring
{
MethodDeclaration decl = new MethodDeclaration();
decl.Modifiers = GetMemberModifiers(method);
if (method.IsAsync)
decl.Modifiers |= Modifiers.Async;
decl.ReturnType = ConvertType(method.ReturnType);
decl.Name = method.Name;

Loading…
Cancel
Save