private void TransformBody(AstGenerator/*!*/ gen) { ScopeBuilder scope = DefineLocals(); var scopeVariable = gen.TopLevelScope.Builder.DefineHiddenVariable("#scope", typeof(RubyScope)); gen.EnterFileInitializer( scope, gen.TopLevelScope.SelfVariable, scopeVariable ); // visit nested initializers depth-first: var body = gen.TransformStatements(_statements, ResultOperation.Ignore); gen.LeaveFileInitializer(); gen.AddFileInitializer( scope.CreateScope( scopeVariable, Methods.CreateFileInitializerScope.OpCall( scope.MakeLocalsStorage(), scope.GetVariableNamesExpression(), gen.TopLevelScope.RuntimeScopeVariable ), body ) ); }