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); }
public CommonFieldType(Field_type_declaration declaration) { //declaration.type = Constants.type_fields. }
public static FieldType Create_type_manager(Field_type_declaration type_declaration) { return((FieldType)null); }