|
|
|
@ -85,7 +85,7 @@ namespace ICSharpCode.Decompiler
@@ -85,7 +85,7 @@ namespace ICSharpCode.Decompiler
|
|
|
|
|
return; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
var localDefinition = GetCurrentLocalDefinition(); |
|
|
|
|
var localDefinition = GetCurrentLocalDefinition(identifier); |
|
|
|
|
if (localDefinition != null) |
|
|
|
|
{ |
|
|
|
|
output.WriteLocalReference(name, localDefinition, isDefinition: true); |
|
|
|
@ -169,7 +169,7 @@ namespace ICSharpCode.Decompiler
@@ -169,7 +169,7 @@ namespace ICSharpCode.Decompiler
|
|
|
|
|
return null; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
object GetCurrentLocalDefinition() |
|
|
|
|
object GetCurrentLocalDefinition(Identifier id) |
|
|
|
|
{ |
|
|
|
|
AstNode node = nodeStack.Peek(); |
|
|
|
|
if (node is Identifier && node.Parent != null) |
|
|
|
@ -182,6 +182,13 @@ namespace ICSharpCode.Decompiler
@@ -182,6 +182,13 @@ namespace ICSharpCode.Decompiler
|
|
|
|
|
return variable; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
if (id.Role == QueryJoinClause.IntoIdentifierRole || id.Role == QueryJoinClause.JoinIdentifierRole) |
|
|
|
|
{ |
|
|
|
|
var variable = id.Annotation<ILVariableResolveResult>()?.Variable; |
|
|
|
|
if (variable != null) |
|
|
|
|
return variable; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
if (node is QueryLetClause) |
|
|
|
|
{ |
|
|
|
|
var variable = node.Annotation<CSharp.Transforms.LetIdentifierAnnotation>(); |
|
|
|
|