Browse Source

Guard against storing the resolve result for variable name token twice

in foreach statement.
newNRvisualizers
Mike 14 years ago
parent
commit
7df3367870
  1. 4
      ICSharpCode.NRefactory.CSharp/Resolver/ResolveVisitor.cs

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

@ -2528,7 +2528,9 @@ namespace ICSharpCode.NRefactory.CSharp.Resolver @@ -2528,7 +2528,9 @@ namespace ICSharpCode.NRefactory.CSharp.Resolver
}
StoreCurrentState(foreachStatement.VariableNameToken);
resolver = resolver.AddVariable(v);
StoreResult(foreachStatement.VariableNameToken, new LocalResolveResult(v));
if (!resolveResultCache.ContainsKey(foreachStatement.VariableNameToken)) {
StoreResult(foreachStatement.VariableNameToken, new LocalResolveResult(v));
}
Scan(foreachStatement.EmbeddedStatement);
resolver = resolver.PopBlock();
return voidResult;

Loading…
Cancel
Save