Example #1
0
        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,
                });
            }
        }
Example #2
0
 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);
     }