IronRuby.Compiler.Ast.AstGenerator.AddFileInitializer C# (CSharp) Method

AddFileInitializer() private method

private AddFileInitializer ( System.Linq.Expressions expression ) : void
expression System.Linq.Expressions
return void
        internal void AddFileInitializer(MSA.Expression/*!*/ expression) {
            if (_fileInitializers == null) {
                _fileInitializers = new List<MSA.Expression>();
            }
            _fileInitializers.Add(expression);
        }

Usage Example

Esempio n. 1
0
        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
                    )
                );
        }
All Usage Examples Of IronRuby.Compiler.Ast.AstGenerator::AddFileInitializer