From 0bcf543bf1f63b148011dd0f237bd26c0845ea64 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mike=20Kr=C3=BCger?= Date: Sat, 23 Feb 2013 09:26:55 +0100 Subject: [PATCH] Improved conditional highlighting. --- .../Analysis/SemanticHighlightingVisitor.cs | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/ICSharpCode.NRefactory.CSharp/Analysis/SemanticHighlightingVisitor.cs b/ICSharpCode.NRefactory.CSharp/Analysis/SemanticHighlightingVisitor.cs index 40657b96e9..b760c19c2f 100644 --- a/ICSharpCode.NRefactory.CSharp/Analysis/SemanticHighlightingVisitor.cs +++ b/ICSharpCode.NRefactory.CSharp/Analysis/SemanticHighlightingVisitor.cs @@ -255,8 +255,8 @@ namespace ICSharpCode.NRefactory.CSharp.Analysis if (target is IdentifierExpression || target is MemberReferenceExpression || target is PointerReferenceExpression) { var invocationRR = resolver.Resolve(invocationExpression, cancellationToken) as CSharpInvocationResolveResult; if (invocationRR != null && IsInactiveConditionalMethod(invocationRR.Member)) { - // mark the whole invocation expression as inactive code - Colorize(invocationExpression, inactiveCodeColor); + // mark the whole invocation statement as inactive code + Colorize(invocationExpression.Parent, inactiveCodeColor); return; } @@ -338,6 +338,12 @@ namespace ICSharpCode.NRefactory.CSharp.Analysis public override void VisitMethodDeclaration(MethodDeclaration methodDeclaration) { + var result = resolver.Resolve (methodDeclaration, cancellationToken) as MemberResolveResult; + if (IsInactiveConditionalMethod(result.Member as IMethod)) { + Colorize(methodDeclaration, inactiveCodeColor); + return; + } + var nameToken = methodDeclaration.NameToken; VisitChildrenUntil(methodDeclaration, nameToken); if (!methodDeclaration.PrivateImplementationType.IsNull) {