+2008-10-16 Martin Baulig <martin@ximian.com>
+
+ * anonymous.cs (AnonymousMethodStorey): Put back the
+ `hoisted_locals' hashtable and use it in EmitType().
+
2008-10-15 Marek Safar <marek.safar@gmail.com>
* cs-tokenizer.cs, nullable.cs, expression.cs, statement.cs,
// A list of hoisted parameters
protected ArrayList hoisted_params;
+ protected ArrayList hoisted_locals;
// Hoisted this
protected HoistedThis hoisted_this;
HoistedVariable var = new HoistedLocalVariable (this, local_info, GetVariableMangledName (local_info));
local_info.HoistedVariableReference = var;
has_hoisted_variable = true;
+
+ if (hoisted_locals == null)
+ hoisted_locals = new ArrayList ();
+
+ hoisted_locals.Add (var);
}
public void CaptureParameter (EmitContext ec, ParameterReference param_ref)
if (hoisted_this != null)
hoisted_this.EmitSymbolInfo ();
- foreach (LocalInfo li in OriginalSourceBlock.Variables.Values) {
- HoistedVariable hv = li.HoistedVariableReference;
- if (hv != null)
- hv.EmitSymbolInfo ();
+ if (hoisted_locals != null) {
+ foreach (HoistedVariable local in hoisted_locals)
+ local.EmitSymbolInfo ();
}
if (hoisted_params != null) {