TranformExpressions() private method

private TranformExpressions ( IList arguments, AstExpressions result ) : AstExpressions
arguments IList
result AstExpressions
return AstExpressions
コード例 #1
0
ファイル: HashConstructor.cs プロジェクト: jxnmaomao/ironruby
        internal override MSA.Expression/*!*/ TransformRead(AstGenerator/*!*/ gen) {
            Assert.NotNull(gen);

            if (_maplets != null) {
                return gen.MakeHashOpCall(gen.TransformMapletsToExpressions(_maplets));
            } else if (_expressions != null) {
                return gen.MakeHashOpCall(gen.TranformExpressions(_expressions));
            } else {
                return Methods.MakeHash0.OpCall(gen.CurrentScopeVariable);
            }
        }
コード例 #2
0
ファイル: Arguments.cs プロジェクト: joshholmes/ironruby
        private List<MSA.Expression>/*!*/ MakeSimpleArgumentExpressionList(AstGenerator/*!*/ gen) {
            var args = new List<MSA.Expression>();

            if (_expressions != null) {
                gen.TranformExpressions(_expressions, args);
            }

            if (_maplets != null) {
                args.Add(gen.TransformToHashConstructor(_maplets));
            }

            return args;
        }
コード例 #3
0
ファイル: Arguments.cs プロジェクト: gaybro8777/ironruby
        private List <MSA.Expression> /*!*/ MakeSimpleArgumentExpressionList(AstGenerator /*!*/ gen)
        {
            var args = new List <MSA.Expression>();

            if (_expressions != null)
            {
                gen.TranformExpressions(_expressions, args);
            }

            if (_maplets != null)
            {
                args.Add(gen.TransformToHashConstructor(_maplets));
            }

            return(args);
        }
コード例 #4
0
ファイル: Arguments.cs プロジェクト: gaybro8777/ironruby
        internal MSA.Expression /*!*/ TransformToYield(AstGenerator /*!*/ gen, MSA.Expression /*!*/ bfcVariable, MSA.Expression /*!*/ selfExpression)
        {
            var args = (_expressions != null) ? gen.TranformExpressions(_expressions) : new List <MSA.Expression>();

            if (_maplets != null)
            {
                args.Add(gen.TransformToHashConstructor(_maplets));
            }

            return(AstFactory.YieldExpression(
                       args,
                       (_array != null) ? _array.TransformRead(gen) : null,  // splatted argument
                       null,                                                 // rhs argument
                       bfcVariable,
                       selfExpression
                       ));
        }
コード例 #5
0
ファイル: HashConstructor.cs プロジェクト: ltwlf/IronSP
        internal override MSA.Expression /*!*/ TransformRead(AstGenerator /*!*/ gen)
        {
            Assert.NotNull(gen);

            if (_maplets != null)
            {
                return(gen.MakeHashOpCall(gen.TransformMapletsToExpressions(_maplets)));
            }
            else if (_expressions != null)
            {
                return(gen.MakeHashOpCall(gen.TranformExpressions(_expressions)));
            }
            else
            {
                return(Methods.MakeHash0.OpCall(gen.CurrentScopeVariable));
            }
        }
コード例 #6
0
 internal MSA.Expression /*!*/ TransformWrite(AstGenerator /*!*/ gen, CompoundRightValue /*!*/ rhs)
 {
     return(TransformWrite(gen, gen.TranformExpressions(rhs.RightValues), (rhs.SplattedValue != null) ? rhs.SplattedValue.TransformRead(gen) : null));
 }
コード例 #7
0
 internal MSA.Expression/*!*/ TransformWrite(AstGenerator/*!*/ gen, CompoundRightValue/*!*/ rhs) {
     return TransformWrite(gen, gen.TranformExpressions(rhs.RightValues), (rhs.SplattedValue != null) ? rhs.SplattedValue.TransformRead(gen) : null);
 }
コード例 #8
0
ファイル: Arguments.cs プロジェクト: jxnmaomao/ironruby
        internal MSA.Expression/*!*/ TransformToYield(AstGenerator/*!*/ gen, MSA.Expression/*!*/ bfcVariable, MSA.Expression/*!*/ selfExpression) {
            var args = (_expressions != null) ? gen.TranformExpressions(_expressions) : new AstExpressions();

            if (_maplets != null) {
                args.Add(gen.TransformToHashConstructor(_maplets));
            }

            return AstFactory.YieldExpression(
                gen.Context,
                args,
                (_array != null) ? _array.TransformRead(gen) : null,         // splatted argument
                null,                                                        // rhs argument
                bfcVariable,
                selfExpression
            );
        }