public static IModelParser HierarchyParser(int level)
        {
            if (LevelDictionary.ContainsKey(level))
            {
                HierarchyParser hierarchyParser;
                if (!ParserDictionary.TryGetValue(level, out hierarchyParser))
                {
                    hierarchyParser = new HierarchyParser(
                        new LineParser(level),
                        new[]
                    {
                        PropertyParser.HierarchyParser(level + 1),
                        DataTypeParser.HierarchyParser(level + 1),
                        RedefinesParser.HierarchyParser(level + 1),
                        OccursParser.HierarchyParser(level + 1),
                        EnumValueParser.HierarchyParser(level + 1)
                    });

                    ParserDictionary.Add(level, hierarchyParser);
                }
                return(hierarchyParser);
            }

            return(new EmptyParser());
        }
Exemple #2
0
 public static IModelParser HierarchyParser(int level)
 {
     if (LevelDictionary.ContainsKey(level))
     {
         HierarchyParser hierarchyParser;
         if (!ParserDictionary.TryGetValue(level, out hierarchyParser))
         {
             hierarchyParser = new HierarchyParser(
                 SimpleLevelParser(level),
                 new[]
             {
                 EnumValueParser.HierarchyParser(level + 1)
             }
                 );
             ParserDictionary.Add(level, hierarchyParser);
         }
         return(hierarchyParser);
     }
     return(new EmptyParser());
 }