Exemple #1
0
        private IEnumerable <DependencyRule> CreateDependencyRules([CanBeNull] ItemType usingItemTypeHint, [CanBeNull] ItemType usedItemTypeHint,
                                                                   [NotNull] string ruleSourceName, int lineNo, [NotNull] string usingPattern, [NotNull] string dependencyPattern, [NotNull] string usedPattern,
                                                                   [NotNull] string leftRepresentationPart, [NotNull] string rightRepresentationPart, bool questionableRule, bool ignoreCase)
        {
            string trimmedUsingPattern      = usingPattern.Trim();
            string trimmedDependencyPattern = dependencyPattern.Trim();
            string trimmedUsedPattern       = usedPattern.Trim();

            string repString         = trimmedUsingPattern + " " + leftRepresentationPart + trimmedDependencyPattern + rightRepresentationPart + trimmedUsedPattern;
            DependencyRuleSource rep = new DependencyRuleSource(ruleSourceName, lineNo, repString, questionableRule, trimmedUsingPattern);

            var match = new SingleDependencyMatch(usingItemTypeHint, trimmedUsingPattern, trimmedDependencyPattern, usedItemTypeHint, trimmedUsedPattern, ignoreCase);
            var head  = new DependencyRule(match, rep);

            var result = new List <DependencyRule> {
                head
            };

            if (Log.IsVerboseEnabled)
            {
                Log.WriteInfo($"Matchers used for checking {repString} ({ruleSourceName}:{lineNo})");
                // TODO: Put into DependencyMatch constructor
                ////Log.WriteInfo("  Using: " + string.Join<IMatcher>(", ", head.Using.Matchers));
                ////Log.WriteInfo("   Used: " + string.Join<IMatcher>(", ", head.Used.Matchers));
            }

            return(result);
        }
Exemple #2
0
 public DependencyRule([NotNull] SingleDependencyMatch match, [NotNull] DependencyRuleSource source)
 {
     _match = match;
     Source = source;
 }