private ITreeRange AdjustExpression(ITreeRange range, ICompoundExpression expression) { var expressionStatement = ExpressionStatementNavigator.GetByExpression(expression); if (expressionStatement != null) return AdjustStatement(new TreeRange(expressionStatement, expressionStatement), expressionStatement); var ifStatement = IfStatementNavigator.GetByCondition(expression); if (ifStatement != null) { if (ifStatement.Else == null) { return new TreeRange(ifStatement, ifStatement); } if (_executing) { var block = ifStatement.Else as IBlock; if (block == null) { ifStatement.ReplaceBy(ifStatement.Else); } else { //StatementUtil.ReplaceStatementWithBlock(block, ifStatementByCondition); } } return null; } var switchStatement = SwitchStatementNavigator.GetByCondition(expression); if (switchStatement != null) return new TreeRange(switchStatement, switchStatement); var whileStatement = WhileStatementNavigator.GetByCondition(expression); if (whileStatement != null) return new TreeRange(whileStatement, whileStatement); var doStatement = DoStatementNavigator.GetByCondition(expression); if (doStatement != null) { if (!_executing) return range; var block = doStatement.Statement as IBlock; if (block != null && block.Statements.Count == 1) { doStatement.ReplaceBy(block.Statements[0]); } else { doStatement.ReplaceBy(doStatement.Statement); } return null; } var forStatement = ForStatementNavigator.GetByForCondition(expression); if (forStatement != null) return new TreeRange(forStatement, forStatement); return range; }
private ITreeRange AdjustExpression(ITreeRange range, ICompoundExpression expression) { var expressionStatement = ExpressionStatementNavigator.GetByExpression(expression); if (expressionStatement != null) { return(AdjustStatement(new TreeRange(expressionStatement, expressionStatement), expressionStatement)); } var ifStatement = IfStatementNavigator.GetByCondition(expression); if (ifStatement != null) { if (ifStatement.Else == null) { return(new TreeRange(ifStatement, ifStatement)); } if (_executing) { var block = ifStatement.Else as IBlock; if (block == null) { ifStatement.ReplaceBy(ifStatement.Else); } else { //StatementUtil.ReplaceStatementWithBlock(block, ifStatementByCondition); } } return(null); } var switchStatement = SwitchStatementNavigator.GetByCondition(expression); if (switchStatement != null) { return(new TreeRange(switchStatement, switchStatement)); } var whileStatement = WhileStatementNavigator.GetByCondition(expression); if (whileStatement != null) { return(new TreeRange(whileStatement, whileStatement)); } var doStatement = DoStatementNavigator.GetByCondition(expression); if (doStatement != null) { if (!_executing) { return(range); } var block = doStatement.Statement as IBlock; if (block != null && block.Statements.Count == 1) { doStatement.ReplaceBy(block.Statements[0]); } else { doStatement.ReplaceBy(doStatement.Statement); } return(null); } var forStatement = ForStatementNavigator.GetByForCondition(expression); if (forStatement != null) { return(new TreeRange(forStatement, forStatement)); } return(range); }
public virtual void Visit(ICompoundExpression instance) { }