private static LPCValue ParseArrayType(string text) { LPCValue arr = LPCValue.CreateArray(); if (text == "0") { return(arr); } arr = LPCRestoreString.RestoreFromString(text); return(arr); }
private static LPCValue ParseAutoType(string text) { if (text.Length < 1) { return(LPCValue.Create(text)); } char first_char = text [0]; if (first_char == '@') { // alias string alias = text.Substring(1); if (!AliasMgr.ContainsAlias(alias)) { //LogMgr.Error("字段没有配置别名 " + alias); return(LPCValue.Create(text)); } object v = AliasMgr.Get(alias); if (v is string) { return(LPCValue.Create((string)v)); } if (v is int) { return(LPCValue.Create((int)v)); } throw new Exception(string.Format("Unexpected alias name: {0}", alias)); } if ((first_char == '"') || (first_char == ':')) { // string or buffer return(LPCRestoreString.RestoreFromString(text)); } if ((first_char == '(') && (text.Length > 1)) { char second_char = text [1]; if ((second_char == '{') || (second_char == '[')) { // mapping or array return(LPCRestoreString.RestoreFromString(text)); } } if (((first_char >= '0') && (first_char <= '9')) || (first_char == '.') || (first_char == '-')) { // number return(LPCRestoreString.RestoreFromString(text)); } return(LPCValue.Create(text)); }
private static LPCValue ParseMappingType(string text) { LPCValue m = LPCValue.CreateMapping(); if (text == "0") { return(m); } m = LPCRestoreString.RestoreFromString(text); return(m); }