TransformToHashConstructor() public method

public TransformToHashConstructor ( IList maplets ) : Expression
maplets IList
return System.Linq.Expressions.Expression
Example #1
0
        private MSA.Expression /*!*/ TransformToReturnValue(AstGenerator /*!*/ gen)
        {
            Assert.NotNull(gen);

            if (_maplets != null && _expressions == null && _array == null)
            {
                return(gen.TransformToHashConstructor(_maplets));
            }

            return(TransformRead(gen, true /* Splat */));
        }
Example #2
0
        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;
        }
Example #3
0
        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);
        }
Example #4
0
        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
                       ));
        }
Example #5
0
        internal void TransformToCall(AstGenerator /*!*/ gen, CallBuilder callBuilder)
        {
            if (_expressions != null)
            {
                foreach (var arg in _expressions)
                {
                    callBuilder.Add(arg.TransformRead(gen));
                }
            }

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

            if (_array != null)
            {
                callBuilder.SplattedArgument = _array.TransformRead(gen);
            }
        }
Example #6
0
        internal void TransformToCall(AstGenerator /*!*/ gen, CallSiteBuilder /*!*/ siteBuilder)
        {
            if (_expressions != null)
            {
                foreach (var arg in _expressions)
                {
                    siteBuilder.Add(arg.TransformRead(gen));
                }
            }

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

            if (_array != null)
            {
                siteBuilder.SplattedArgument =
                    AstUtils.LightDynamic(SplatAction.Make(gen.Context), typeof(IList), _array.TransformRead(gen));
            }
        }
Example #7
0
        internal void TransformToCall(AstGenerator/*!*/ gen, CallBuilder callBuilder) {
            if (_expressions != null) {
                foreach (var arg in _expressions) {
                    callBuilder.Add(arg.TransformRead(gen));
                }
            }

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

            if (_array != null) {
                callBuilder.SplattedArgument = 
                    Ast.Dynamic(SplatAction.Make(gen.Context), typeof(IList), _array.TransformRead(gen));
            }
        }
Example #8
0
        private MSA.Expression/*!*/ TransformToReturnValue(AstGenerator/*!*/ gen) {
            Assert.NotNull(gen);
            
            if (_maplets != null && _expressions == null && _array == null) {
                return gen.TransformToHashConstructor(_maplets);
            }

            return TransformRead(gen, true /* Splat */);
        }
Example #9
0
        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
            );
        }
Example #10
0
        internal void TransformToCall(AstGenerator/*!*/ gen, CallBuilder callBuilder) {
            if (_expressions != null) {
                foreach (var arg in _expressions) {
                    callBuilder.Add(arg.TransformRead(gen));
                }
            }

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

            if (_array != null) {
                callBuilder.SplattedArgument = _array.TransformRead(gen);
            }
        }