public override Node Visit(ExpressionStatement expressionStatement)
        {
            base.Visit(expressionStatement);

            if (appendMethodsList.Contains(expressionStatement.Expression))
            {
                var appendMethodCall = expressionStatement.Expression as MethodInvocationExpression;
                var blockStatement = new BlockStatement();
                blockStatement.Statements.AddRange(outputStatements);
                appendMethodCall.Arguments[0] = outputVre;
                blockStatement.Statements.Add(expressionStatement);
                return blockStatement;
            }
            return expressionStatement;
        }
Ejemplo n.º 2
0
 public virtual void Visit(ExpressionStatement expressionStatement)
 {
     WriteLinkLine(expressionStatement);
     VisitDynamic(expressionStatement.Expression);
     WriteLine(";");
 }
Ejemplo n.º 3
0
 private void AddPushPopParameters(BlockStatement blockStatement, Identifier parameterType, Identifier parameterMember, Expression paramValue, SourceSpan span)
 {
     var pushStatement = new ExpressionStatement(new MethodInvocationExpression(new MemberReferenceExpression(new VariableReferenceExpression("context"), "PushParameters"), paramValue)) {Span = span};
     var popStatement = new ExpressionStatement(new MethodInvocationExpression(new MemberReferenceExpression(new VariableReferenceExpression("context"), "PopParameters"))) {Span = span};
     blockStatement.Statements.Insert(0, pushStatement);
     ;
     blockStatement.Statements.Add(popStatement);
 }