private static void ParseSplitField(Dictionary <string, SplitField> parent, string fieldPartName, VirtualType type, string description) { fieldPartName.TrySplit2By('.', out var name, out var body); if (!parent.TryGetValue(name, out var splitField)) { splitField = new SplitField(); parent.Add(name, splitField); } //check consist splitField.Type?.CheckImportField(body, type); if (body.Contains(".")) { ParseSplitField(splitField.ChildFields, body, type, description); } else { splitField.DeclaredMembers.Add(new DeclaredMember { Name = body, Type = type, Description = description, }); } }
private static void ParseDefineTypes(Dictionary <string, SplitField> rootSplitFields, TableConfig.DefineType typeDefine, string fieldPartName) { if (fieldPartName.TrySplit2By('.', out var name, out var body)) { if (!rootSplitFields.TryGetValue(name, out var splitField)) { splitField = new SplitField(); rootSplitFields.Add(name, splitField); } ParseDefineTypes(splitField.ChildFields, typeDefine, body); }