Browse Source

Fixed highlighting of local variable definitions.

pull/276/merge
Daniel Grunwald 14 years ago
parent
commit
1b50ad946d
  1. 8
      ICSharpCode.Decompiler/Ast/TextOutputFormatter.cs

8
ICSharpCode.Decompiler/Ast/TextOutputFormatter.cs

@ -114,6 +114,9 @@ namespace ICSharpCode.Decompiler.Ast
object GetCurrentLocalDefinition() object GetCurrentLocalDefinition()
{ {
AstNode node = nodeStack.Peek(); AstNode node = nodeStack.Peek();
if (node is Identifier && node.Parent != null)
node = node.Parent;
var parameterDef = node.Annotation<ParameterDefinition>(); var parameterDef = node.Annotation<ParameterDefinition>();
if (parameterDef != null) if (parameterDef != null)
return parameterDef; return parameterDef;
@ -126,14 +129,11 @@ namespace ICSharpCode.Decompiler.Ast
//if (variable.OriginalVariable != null) //if (variable.OriginalVariable != null)
// return variable.OriginalVariable; // return variable.OriginalVariable;
return variable; return variable;
} else {
} }
} }
var label = node as LabelStatement; var label = node as LabelStatement;
if (label != null) if (label != null) {
{
var method = nodeStack.Select(nd => nd.Annotation<MethodReference>()).FirstOrDefault(mr => mr != null); var method = nodeStack.Select(nd => nd.Annotation<MethodReference>()).FirstOrDefault(mr => mr != null);
if (method != null) if (method != null)
return method.ToString() + label.Label; return method.ToString() + label.Label;

Loading…
Cancel
Save