コード例 #1
0
        public override ifElseBlockClass ifElseBlock(ifElseBlockClass context)
        {
            List <BaseAHKNode> toExecute = null;

            traverser.objectDispatcher(context.ifBlock.condition);
            if (isTrue(context.ifBlock.condition))
            {
                toExecute = context.ifBlock.body;
            }
            else if (context.elseBlock != null)
            {
                toExecute = context.elseBlock.body;
            }

            foreach (var node in toExecute)
            {
                var retVal = traverser.objectDispatcher(node);
                if (retVal.extraInfo is returnBlockClass r)
                {
                    context.extraInfo = r;
                    break;
                }
            }

            return(context);
        }
コード例 #2
0
 public virtual string ifElseBlock(ifElseBlockClass context)
 {
     return(context.defaultValue);
 }
コード例 #3
0
 public override ifElseBlockClass ifElseBlock(ifElseBlockClass context)
 {
     return(visitor.ifElseBlock(context));
 }