public Operand this[string localName] // Named locals support.
{
get
{
Operand target;
if (!_namedLocals.TryGetValue(localName, out target))
throw new InvalidOperationException(Properties.Messages.ErrUninitializedVarAccess);
return target;
}
set
{
Operand target;
if (_namedLocals.TryGetValue(localName, out target))
// run in statement form; C# left-to-right evaluation semantics "just work"
Assign(target, value);
else
_namedLocals.Add(localName, Local(value));
}
}