int? resolving_init_idx;
- Block original;
+ protected Block original;
#if DEBUG
static int id;
b.am_storey.AddParentStoreyReference (ec, am_storey);
// Stop propagation inside same top block
- if (b.ParametersBlock.am_storey == ParametersBlock.am_storey)
+ if (b.ParametersBlock.Original == ParametersBlock.Original)
break;
b = b.ParametersBlock;
ParametersBlock = this;
}
+ //
+ // It's supposed to be used by method body implementation of anonymous methods
+ //
protected ParametersBlock (ParametersBlock source, ParametersCompiled parameters)
: base (null, 0, source.StartLocation, source.EndLocation)
{
this.am_storey = source.am_storey;
ParametersBlock = this;
+
+ //
+ // Overwrite original for comparison purposes when linking cross references
+ // between anonymous methods
+ //
+ original = source;
}
#region Properties