Пример #1
0
        private Variable ParseValue(Token token)
        {
            string   value   = token.Value;
            Variable the_var = null;

            switch (token.Kind)
            {
            case TokenKind.QuotedString:
                the_var = new StringVariable(value);
                break;

            case TokenKind.Number:
                int num = Convert.ToInt32(value);
                the_var = new NumberVariable(num);
                break;

            case TokenKind.Word:
                if (value == "true")
                {
                    the_var = new BoolVariable(true);
                }
                else if (value == "false")
                {
                    the_var = new BoolVariable(false);
                }
                else if (value == "null")
                {
                    the_var = new NullVariable();
                }
                else
                {
                    if (variables.ContainsKey(value))
                    {
                        the_var = variables[value].Clone();
                    }
                    else if (functions.ContainsKey(value))
                    {
                        the_var = ParseFunction(token, false);
                    }
                }
                break;
            }

            if (the_var == null)
            {
                throw new ScriptException(token, "Variable value is not string/number/bool/keyword");
            }

            return(the_var);
        }
Пример #2
0
        protected sealed override void initialize()
        {
            if (Args == null)
            {
                Args = new NullVariable <object[]>();
            }

            if (EventId == null)
            {
                EventId = new NullVariable <EventId>();
            }

            if (Exception == null)
            {
                Exception = new NullVariable <Exception>();
            }
        }
Пример #3
0
 public Pointer(string _name, string _pointer_type)
 {
     name = _name;
     pointer = true;
     type = _pointer_type;
     value = new NullVariable();
 }
Пример #4
0
 public Pointer(string _name)
 {
     name = _name;
     pointer = true;
     type = "pointer";
     value = new NullVariable();
 }
Пример #5
0
 public Pointer()
 {
     pointer = true;
     type = "pointer";
     value = new NullVariable();
 }
Пример #6
0
        public void Test___Method_GetValue___Generic()
        {
            var testee = new NullVariable <int>();

            Assert.IsNull(testee.GetValueAsObject());
        }