Irontalk.Compiler.EvaluateStatement C# (CSharp) Method

EvaluateStatement() public method

public EvaluateStatement ( PerCederberg.Grammatica.Runtime.Node statement, Context context ) : STObject
statement PerCederberg.Grammatica.Runtime.Node
context Context
return STObject
        public STObject EvaluateStatement(Node statement, Context context)
        {
            int exprIndex = 0;
            bool returning = false;
            Console.WriteLine (statement.Name);
            if (statement[0].Name == "RETURN") {
                returning = true;
                ++exprIndex;
            }

            if (statement[exprIndex].Name != "expression")
                return STUndefinedObject.Instance;

            var value = EvaluateExpression(statement[exprIndex], context);

            if (returning)
                throw new ReturnException(value, context);

            return value;
        }