コード例 #1
0
 public static List<INode> GetDependencies(this TreeContext context, IDepend depend)
 {
     List<INode> dependencies = depend.Dependencies.DistinctDependencies()
                                      .Select(context.GetDependencyNode)
                                      .ToList();
     context.GetParentGroup(depend)?.AddGroupDependency(context, dependencies);
     return dependencies;
 }
コード例 #2
0
        public static void ReorderNodes(this TreeContext context,
            IDepend depend,
            IDependency dependency1,
            IDependency dependency2)
        {
            var node1 = context.GetDependencyNode(dependency1);
            var node2 = context.GetDependencyNode(dependency2);
            if (node1 == node2)
            {
                return;
            }

            ReorderNodes(node1, node2, depend.DiagInfo);
            context.CreateNonEqualFilter(node1, node2, context.GetParentGroup(depend), depend.DiagInfo);
        }
コード例 #3
0
 public Aggregator(IDepend depend, IAnother another)
 {
     _depend = depend;
     _another = another;
 }
コード例 #4
0
 public static IFilterGroup GetParentGroup(this TreeContext context, IDepend depend)
 {
     return depend.ParentGroupToken == null
         ? null
         : context.Groups[depend.ParentGroupToken];
 }
コード例 #5
0
 public TestClassWithDepend(IDepend idepend)
 {
     Depend = idepend;
 }
コード例 #6
0
 public static INode GetAssignmentNode(this TreeContext context, IDepend depend)
 {
     return context.GetDependencies(depend)
                .OrderByDescending(x => x.GetParentalChain().Count)
                .First();
 }
コード例 #7
0
 public Aggregator(IDepend depend, IAnother another)
 {
     _depend  = depend;
     _another = another;
 }