public void SetNeedForParallelizedVersion(ExpressionOrYielding expyield) { expyield.SetNeedForParallelizedVersion(true); foreach(ExpressionOrYielding child in expyield) { SetNeedForParallelizedVersion(child); } }
public static void SetNeedForProfiling(ExpressionOrYielding expyield) { expyield.SetNeedForProfiling(true); foreach(ExpressionOrYielding child in expyield) { SetNeedForProfiling(child); } }
public void ReplaceVariableByIterationVariable(ExpressionOrYielding curr) { // traverses the yielding and expression tree, if it visits a reference to the iteration variable // it switches it from a normal variable reference into a iteration variable reference foreach(ExpressionOrYielding eoy in curr) ReplaceVariableByIterationVariable(eoy); if(curr is VariableExpression) { VariableExpression ve = (VariableExpression)curr; if(ve.Entity == Variable) { ve.MatchEntity = IteratedMatchVariable; } } }