public ElseClause([NotNull] FlowBuilder builder, [NotNull] ConditionNode conditionNode)
        {
            myBuilder       = builder.NotNull();
            myConditionNode = conditionNode.NotNull();

            InitialConditionNode = null;
        }
 public IEnumerable <IFlowNode> VisitCondition(ConditionNode conditionNode)
 {
     if (conditionNode.WhenFalse != null)
     {
         yield return(conditionNode.WhenFalse);
     }
     if (conditionNode.WhenTrue != null)
     {
         yield return(conditionNode.WhenTrue);
     }
 }
Esempio n. 3
0
        protected override void VisitCondition(ConditionNode conditionNode)
        {
            if (conditionNode.Condition == null)
            {
                Result.AddError(conditionNode, "Condition isn't set");
            }

            if (conditionNode.WhenTrue == null)
            {
                Result.AddError(conditionNode, "True branch isn't set");
            }

            CheckSelfReference(conditionNode, conditionNode.WhenFalse);
            CheckSelfReference(conditionNode, conditionNode.WhenTrue);
        }
Esempio n. 4
0
        public Task VisitCondition(ConditionNode conditionNode)
        {
            conditionNode.AssertNotNull("conditionNode != null");

            Log.Info("At node: {0}. Condition entered", conditionNode);

            bool condition = conditionNode.EvaluateCondition();

            Log.Info("At node: {0}. Condition evaluated to: '{1}'", conditionNode, condition);

            IFlowNode branch = condition ? conditionNode.WhenTrue : conditionNode.WhenFalse;

            if (branch == null)
            {
                return(TaskHelper.CompletedTask);
            }

            return(branch.Accept(this));
        }
 protected override void VisitCondition(ConditionNode conditionNode)
 {
     CheckIfNodeIsInsideBlock(conditionNode.WhenFalse);
     CheckIfNodeIsInsideBlock(conditionNode.WhenTrue);
 }
 protected override void VisitCondition(ConditionNode conditionNode)
 {
 }
Esempio n. 7
0
 protected abstract void VisitCondition([NotNull] ConditionNode conditionNode);
Esempio n. 8
0
 Null INodeVisitor <Null> .VisitCondition(ConditionNode conditionNode)
 {
     VisitCondition(conditionNode);
     return(null);
 }
Esempio n. 9
0
 protected override void VisitCondition(ConditionNode conditionNode)
 {
     AddReachable(conditionNode.WhenFalse);
     AddReachable(conditionNode.WhenTrue);
 }