public virtual void StartWhenConditionClause(List <TypeCobol.Compiler.CodeElements.CodeElement> conditions) { Enter(new WhenGroup(), null);// enter WHEN group foreach (var cond in conditions) { TypeCobol.Compiler.CodeElements.WhenCondition condition = null; if (cond is TypeCobol.Compiler.CodeElements.WhenSearchCondition) { TypeCobol.Compiler.CodeElements.WhenSearchCondition whensearch = cond as TypeCobol.Compiler.CodeElements.WhenSearchCondition; condition = new WhenCondition(); whensearch.ApplyPropertiesToCE(condition); condition.SelectionObjects = new EvaluateSelectionObject[1]; condition.SelectionObjects[0] = new EvaluateSelectionObject(); condition.SelectionObjects[0].BooleanComparisonVariable = new BooleanValueOrExpression(whensearch.Condition); var conditionNameConditionOrSwitchStatusCondition = whensearch.Condition as ConditionNameConditionOrSwitchStatusCondition; if (conditionNameConditionOrSwitchStatusCondition != null) { condition.StorageAreaReads = new List <StorageArea> { conditionNameConditionOrSwitchStatusCondition.ConditionReference } } ; } else { condition = cond as TypeCobol.Compiler.CodeElements.WhenCondition; } Enter(new When(condition), condition); Exit(); } Exit(); // exit WHEN group Enter(new Then(), conditions[0]); // enter THEN }
public virtual void StartWhenSearchConditionClause(TypeCobol.Compiler.CodeElements.WhenSearchCondition condition) { Enter(new WhenSearch(condition), condition); }