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; }
public virtual void Visit(ExpressionStatement expressionStatement) { WriteLinkLine(expressionStatement); VisitDynamic(expressionStatement.Expression); WriteLine(";"); }
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); }