Exemplo n.º 1
0
        public static MethodInvocationExpression GenerateIExpressionInvocationFor(string expressionName, params Expression[] arguments)
        {
            var @this  = new SelfLiteralExpression();
            var invoke = new MemberReferenceExpression(@this, "InvokeExpression");

            Expression args;

            if (arguments == null)
            {
                args = new NullLiteralExpression();
            }
            else if (arguments.Length == 1)
            {
                args = arguments[0];
            }
            else
            {
                args = new ArrayLiteralExpression {
                    Items = ExpressionCollection.FromArray(arguments)
                }
            };

            return(new MethodInvocationExpression(invoke,
                                                  new StringLiteralExpression(expressionName),
                                                  args,
                                                  new ReferenceExpression("context")
                                                  ));
        }
Exemplo n.º 2
0
        public NullLiteralExpression CreateNullLiteral()
        {
            NullLiteralExpression expression = new NullLiteralExpression();

            expression.ExpressionType = Null.Default;
            return(expression);
        }
Exemplo n.º 3
0
        public override void Switch(IAstTransformer transformer, out Node resultingNode)
        {
            NullLiteralExpression thisNode           = (NullLiteralExpression)this;
            Expression            resultingTypedNode = thisNode;

            transformer.OnNullLiteralExpression(thisNode, ref resultingTypedNode);
            resultingNode = resultingTypedNode;
        }
Exemplo n.º 4
0
        public static Expression CreateCallableFromMacroBody(BooCodeBuilder builder, MacroStatement macro)
        {
            // create closure for macro's body or null
            Expression macroBody = new NullLiteralExpression();

            if (macro.Block.Statements.Count > 0)
            {
                var callableExpr = new BlockExpression {
                    Body = macro.Block
                };
                callableExpr.Parameters.Add(
                    new ParameterDeclaration("OutputStream",
                                             builder.CreateTypeReference(typeof(TextWriter))));

                macroBody = callableExpr;
            }
            return(macroBody);
        }
Exemplo n.º 5
0
 public override void OnNullLiteralExpression(NullLiteralExpression node)
 {
     Write("null");
 }
Exemplo n.º 6
0
 override public void OnNullLiteralExpression(NullLiteralExpression node)
 {
     WriteKeyword("null");
 }
Exemplo n.º 7
0
 public override void OnNullLiteralExpression(NullLiteralExpression node)
 {
     this._currentStatement.Expression = new CodePrimitiveExpression(null);
 }
Exemplo n.º 8
0
 override public void OnNullLiteralExpression(NullLiteralExpression node)
 {
     OnExpression(node);
 }
Exemplo n.º 9
0
 public override void OnNullLiteralExpression(NullLiteralExpression node)
 {
     _expression = new CodePrimitiveExpression(null);
 }
Exemplo n.º 10
0
 public override void OnNullLiteralExpression(NullLiteralExpression node)
 {
     MakeResult(NullReturnType.Instance);
 }
Exemplo n.º 11
0
 public override void OnNullLiteralExpression(NullLiteralExpression node)
 {
     base.OnNullLiteralExpression(node);
     Check(node);
 }