Exemplo n.º 1
0
    private static LPCValue ParseArrayType(string text)
    {
        LPCValue arr = LPCValue.CreateArray();

        if (text == "0")
        {
            return(arr);
        }

        arr = LPCRestoreString.RestoreFromString(text);
        return(arr);
    }
Exemplo n.º 2
0
    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));
    }
Exemplo n.º 3
0
    private static LPCValue ParseMappingType(string text)
    {
        LPCValue m = LPCValue.CreateMapping();

        if (text == "0")
        {
            return(m);
        }

        m = LPCRestoreString.RestoreFromString(text);
        return(m);
    }