Beispiel #1
0
        static RefV Mk(IOption <string> id, IOption <Value> cls, IOption <Value> db)
        {
            var idE       = id.Value;
            var classE    = Cast <RefV>(cls);
            var databaseE = Cast <DatabaseV>(db);

            if (classE == null && databaseE == null)
            {
                return(BuiltIn.FromName(idE));
            }

            if (BuiltIn.DATABASES == classE)
            {
                return(new DatabaseV(id: idE, database: databaseE));
            }

            if (BuiltIn.CLASSES == classE)
            {
                return(new ClassV(id: idE, database: databaseE));
            }

            if (BuiltIn.INDEXES == classE)
            {
                return(new IndexV(id: idE, database: databaseE));
            }

            if (BuiltIn.FUNCTIONS == classE)
            {
                return(new FunctionV(id: idE, database: databaseE));
            }

            if (BuiltIn.KEYS == classE)
            {
                return(new KeyV(id: idE, database: databaseE));
            }

            return(new RefV(id: idE, @class: classE, database: databaseE));
        }