void DefineAndSet(string name, System.Type type, Object obj) { CQ_Value value = new CQ_Value(); value.SetObject(type, obj); content.DefineAndSet(name, type, value); }
public void SetValue(string name, object v) { CQ_Value val = new CQ_Value(); val.SetObject(v.GetType(), v); content.DefineAndSet(name, v.GetType(), val); }
CQ_Value SetMember(string name, System.Type type, Object obj) { CQ_Value val = new CQ_Value(); val.SetObject(type, obj); inst.member[name] = val; return(val); }
public static ICQ_Expression Compiler_Expression_Value(Token value, int pos) { if (value.type == TokenType.VALUE) { if (value.text[value.text.Length - 1] == 'f') { CQ_Value v = new CQ_Value(); v.SetNumber(typeof(float), float.Parse(value.text.Substring(0, value.text.Length - 1))); return(new CQ_Expression_Value(v)); } else if (value.text.Contains(".")) { CQ_Value v = new CQ_Value(); v.SetNumber(typeof(double), double.Parse(value.text)); return(new CQ_Expression_Value(v)); } else { if (value.text.Contains("'")) { CQ_Value v = new CQ_Value(); v.SetNumber(typeof(char), (char)value.text[1]); return(new CQ_Expression_Value(v)); } else { ulong lv = ulong.Parse(value.text); if (lv > uint.MaxValue) { CQ_Value v = new CQ_Value(); v.SetNumber(typeof(long), (long)lv); return(new CQ_Expression_Value(v)); } else { CQ_Value v = new CQ_Value(); v.SetNumber(typeof(int), (int)lv); return(new CQ_Expression_Value(v)); } } } } else if (value.type == TokenType.STRING) { CQ_Value v = new CQ_Value(); v.SetObject(typeof(string), value.text.Substring(1, value.text.Length - 2)); return(new CQ_Expression_Value(v)); } else if (value.type == TokenType.IDENTIFIER) { CQ_Expression_GetValue getvalue = new CQ_Expression_GetValue(pos, pos, value.line, value.line); getvalue.value_name = value.text; return(getvalue); } else if (value.type == TokenType.TYPE) { CQ_Expression_GetValue getvalue = new CQ_Expression_GetValue(pos, pos, value.line, value.line); int l = value.text.LastIndexOf('.'); if (l >= 0) { getvalue.value_name = value.text.Substring(l + 1); } else { getvalue.value_name = value.text; } return(getvalue); } else { DebugUtil.LogError("无法识别的简单表达式" + value); return(null); } }