Exemplo n.º 1
0
        public override ExpressionResult Invoke()
        {
            var result = Condition.Invoke().Data;

            if (result.Type != ObjectModel.BOOL)
            {
                throw new Exception();
            }
            while (result.Value == "true")
            {
                var res = Body.Invoke();
                if (res.Type == ResultType.RETURN)
                {
                }
                result = Condition.Invoke().Data;
            }

            return(ExpressionResult.Default);
        }
Exemplo n.º 2
0
        public override ExpressionResult Invoke()
        {
            var result = Condition.Invoke().Data;

            if (result.Type == ObjectModel.BOOL)
            {
                if (result.Value == "true")
                {
                    return(Body.Invoke());
                }
                else
                {
                    return(ElseBody == null ? ExpressionResult.Default : ElseBody.Invoke());
                }
            }
            else
            {
                throw new Exception();
            }
        }