Beispiel #1
0
        public static V8Field Field_from_tree(Tree field_tree, ref bool has_version, V8Table parent)
        {
            V8Field fld = new V8Field(parent);

            if (field_tree.Get_Type() != Node_Type.nd_string)
            {
                throw new Exception("Ошибка получения имени поля таблицы. Узел не является строкой.");
            }
            fld.Name = field_tree.Get_Value();

            field_tree = field_tree.Get_Next();


            Field_type_declaration type_declaration;

            try
            {
                type_declaration = Field_type_declaration.Parse_tree(field_tree);
            }
            catch
            {
                throw new Exception($"Поле {fld.Name}");
            }

            fld.Type         = type_declaration.Type;
            fld.Null_exists  = type_declaration.Null_exists;
            fld.Type_manager = FieldType.Create_type_manager(type_declaration);

            if (fld.Type == TypeFields.tf_version)
            {
                has_version = true;
            }
            return(fld);
        }
Beispiel #2
0
 public CommonFieldType(Field_type_declaration declaration)
 {
     //declaration.type = Constants.type_fields.
 }
Beispiel #3
0
 public static FieldType Create_type_manager(Field_type_declaration type_declaration)
 {
     return((FieldType)null);
 }