private static DependencyTargetCollection ToRuleV1()

in src/PSRule/Host/HostHelper.cs [392:439]


        private static DependencyTargetCollection<IRuleV1> ToRuleV1(ILanguageBlock[] blocks, RunspaceContext context)
        {
            // Index rules by RuleId
            var results = new DependencyTargetCollection<IRuleV1>();
            try
            {
                foreach (var block in blocks.OfType<RuleBlock>())
                {
                    results.TryAdd(new Rule
                    {
                        Id = block.Id,
                        Ref = block.Ref,
                        Alias = block.Alias,
                        Source = block.Source,
                        Tag = block.Tag,
                        Level = block.Level,
                        Info = block.Info,
                        DependsOn = block.DependsOn,
                        Flags = block.Flags,
                    });
                    //throw ThrowDuplicateRuleId(block);
                }

                foreach (var block in blocks.OfType<RuleV1>())
                {
                    context.EnterSourceScope(block.Source);
                    var info = GetHelpInfo(context, block.Name, block.Synopsis);
                    results.TryAdd(new Rule
                    {
                        Id = block.Id,
                        Ref = block.Ref,
                        Alias = block.Alias,
                        Source = block.Source,
                        Tag = block.Metadata.Tags,
                        Level = block.Level,
                        Info = info,
                        DependsOn = null, // TODO: No support for DependsOn yet
                        Flags = block.Flags,
                    });
                    //throw ThrowDuplicateRuleId(block);
                }
            }
            finally
            {
                context.ExitSourceScope();
            }
            return results;
        }