Browse Source

C# OutputVisitor: improve indentation of query expressions

pull/118/head
Daniel Grunwald 15 years ago
parent
commit
89d0b7b54b
  1. 12
      NRefactory/ICSharpCode.NRefactory/CSharp/OutputVisitor/OutputVisitor.cs
  2. 4
      NRefactory/ICSharpCode.NRefactory/CSharp/Resolver/CSharpResolver.cs

12
NRefactory/ICSharpCode.NRefactory/CSharp/OutputVisitor/OutputVisitor.cs

@ -1032,15 +1032,21 @@ namespace ICSharpCode.NRefactory.CSharp
public object VisitQueryExpression(QueryExpression queryExpression, object data) public object VisitQueryExpression(QueryExpression queryExpression, object data)
{ {
StartNode(queryExpression); StartNode(queryExpression);
bool indent = !(queryExpression.Parent is QueryContinuationClause);
if (indent) {
formatter.Indent();
NewLine();
}
bool first = true; bool first = true;
foreach (var clause in queryExpression.Clauses) { foreach (var clause in queryExpression.Clauses) {
if (first) { if (first)
first = false; first = false;
} else { else
NewLine(); NewLine();
}
clause.AcceptVisitor(this, data); clause.AcceptVisitor(this, data);
} }
if (indent)
formatter.Unindent();
return EndNode(queryExpression); return EndNode(queryExpression);
} }

4
NRefactory/ICSharpCode.NRefactory/CSharp/Resolver/CSharpResolver.cs

@ -1761,9 +1761,9 @@ namespace ICSharpCode.NRefactory.CSharp.Resolver
{ {
return return
from c in context.GetClasses(namespaceName, StringComparer.Ordinal) from c in context.GetClasses(namespaceName, StringComparer.Ordinal)
where c.IsStatic where c.IsStatic && c.HasExtensionMethods
from m in c.Methods from m in c.Methods
where (m.IsExtensionMethod) where m.IsExtensionMethod
select m; select m;
} }
#endregion #endregion

Loading…
Cancel
Save