Example #1
0
 public NamespaceBasedRuleTarget(
     AssemblyName assemblyName,
     IReadOnlyList <ISourceCodeFileUsingNamespaces> sourceCodeFiles,
     INamespacesDependenciesCache namespacesDependenciesCache)
 {
     _sourceCodeFiles             = sourceCodeFiles;
     _namespacesDependenciesCache = namespacesDependenciesCache;
     _projectAssemblyName         = assemblyName;
 }
Example #2
0
 public void AddNamespaceMappingTo(INamespacesDependenciesCache namespacesDependenciesCache)
 {
     foreach (var declaredNamespace in _declaredNamespaces)
     {
         foreach (var @using in _usings)
         {
             namespacesDependenciesCache
             .AddMapping(declaredNamespace, @using);
         }
     }
 }
        public void Evaluate(AssemblyName projectAssemblyName,
                             INamespacesDependenciesCache namespacesCache,
                             IAnalysisReportInProgress report)
        {
            var cycles = namespacesCache.RetrieveCycles();

            if (cycles.Any())
            {
                report.Add(
                    _ruleViolationFactory.NoCyclesRuleViolation(Description(), projectAssemblyName, cycles));
            }
        }
        public void Evaluate(AssemblyName projectAssemblyName,
                             INamespacesDependenciesCache namespacesCache,
                             IAnalysisReportInProgress report)
        {
            var paths = namespacesCache.RetrievePathsBetween(_dto.FromPattern, _dto.ToPattern);

            if (paths.Any())
            {
                report.Add(
                    _ruleViolationFactory.NoUsingsRuleViolation(Description(), projectAssemblyName, paths));
            }
        }