public IStatementContext AddStatement(StatementSyntax statement) { if (this.condition == null) { var expStatement = statement as ExpressionStatementSyntax; Debug.Assert(expStatement != null, "First statement was not an expression statement, but is required for the condition of the 'if'"); this.condition = expStatement.Expression; } else if (this.doneWithTrueBlock == false) { whenTrueStatements.Add(statement); if (statement.HasAnnotation(ScriptGenAnnotations.ResultStatement) || statement.HasAnnotation(ScriptGenAnnotations.FinalScopeStatement)) { doneWithTrueBlock = true; } } else { whenFalseStatements.Add(statement); } return(this); }
private static SyntaxList <StatementSyntax> RewriteStatements(SyntaxList <StatementSyntax> statements) { for (int i = statements.Count - 1; i >= 0; i--) { StatementSyntax statement = statements[i]; if (statement.HasAnnotation(_asyncAwaitAnnotation[0])) { statements = statements.Replace( statement, statement.WithoutAnnotations(_asyncAwaitAnnotation).WithTrailingTrivia(NewLine())); statements = statements.Insert( i + 1, ReturnStatement().WithTrailingTrivia(statement.GetTrailingTrivia()).WithFormatterAnnotation()); } } return(statements); }