- void DefineStoreyReferences ()
- {
- if (used_parent_storeys == null || references_defined)
- return;
-
- references_defined = true;
- if (!IsParentStoreyUsed) {
- used_parent_storeys = null;
- return;
- }
-
- //
- // For each used variable from parent scope we allocate its local reference point
- //
- for (int i = 0; i < used_parent_storeys.Count; ++i) {
- StoreyFieldPair sf = (StoreyFieldPair) used_parent_storeys [i];
- AnonymousMethodStorey p_storey = sf.Storey;
- TypeExpr type_expr = new TypeExpression (p_storey.TypeBuilder, Location);
-
- sf.Field = AddCompilerGeneratedField ("<>f__ref$" + p_storey.ID, type_expr);
- sf.Field.Define ();
- }
- }
-