@@ -14,12 +14,14 @@ internal class DependencySearch
14
14
{
15
15
private readonly bool explainYourself ;
16
16
private readonly IDependencyFilter dependencyFilter ;
17
+ private readonly bool serachForDependencyInFieldConstant ;
17
18
18
19
19
- public DependencySearch ( bool explainYourself , IDependencyFilter dependencyFilter = null )
20
+ public DependencySearch ( bool explainYourself , bool serachForDependencyInFieldConstant = false , IDependencyFilter dependencyFilter = null )
20
21
{
21
22
this . explainYourself = explainYourself ;
22
23
this . dependencyFilter = dependencyFilter ;
24
+ this . serachForDependencyInFieldConstant = serachForDependencyInFieldConstant ;
23
25
}
24
26
25
27
@@ -28,42 +30,42 @@ public DependencySearch(bool explainYourself, IDependencyFilter dependencyFilter
28
30
/// </summary>
29
31
public IEnumerable < TypeSpec > FindTypesThatHaveDependencyOnAny ( IEnumerable < TypeSpec > input , IEnumerable < string > dependencies )
30
32
{
31
- return FindTypes ( input , HaveDependency_CheckingStrategy . TypeOfCheck . HaveDependencyOnAny , dependencies , true ) ;
33
+ return FindTypes ( input , HaveDependency_CheckingStrategy . TypeOfCheck . HaveDependencyOnAny , dependencies ) ;
32
34
}
33
35
34
36
/// <summary>
35
37
/// Finds types that have a dependency on every item in the given list of dependencies.
36
38
/// </summary>
37
39
public IEnumerable < TypeSpec > FindTypesThatHaveDependencyOnAll ( IEnumerable < TypeSpec > input , IEnumerable < string > dependencies )
38
40
{
39
- return FindTypes ( input , HaveDependency_CheckingStrategy . TypeOfCheck . HaveDependencyOnAll , dependencies , true ) ;
41
+ return FindTypes ( input , HaveDependency_CheckingStrategy . TypeOfCheck . HaveDependencyOnAll , dependencies ) ;
40
42
}
41
43
42
44
/// <summary>
43
45
/// Finds types that may have a dependency on any item in the given list of dependencies, but cannot have a dependency that is not in the list.
44
46
/// </summary>
45
47
public IEnumerable < TypeSpec > FindTypesThatOnlyHaveDependencyOnAnyOrNone ( IEnumerable < TypeSpec > input , IEnumerable < string > dependencies )
46
48
{
47
- return FindTypes ( input , HaveDependency_CheckingStrategy . TypeOfCheck . OnlyHaveDependenciesOnAnyOrNone , dependencies , false ) ;
49
+ return FindTypes ( input , HaveDependency_CheckingStrategy . TypeOfCheck . OnlyHaveDependenciesOnAnyOrNone , dependencies ) ;
48
50
}
49
51
50
52
/// <summary>
51
53
/// Finds types that have a dependency on any item in the given list of dependencies, but cannot have a dependency that is not in the list.
52
54
/// </summary>
53
55
public IEnumerable < TypeSpec > FindTypesThatOnlyHaveDependencyOnAny ( IEnumerable < TypeSpec > input , IEnumerable < string > dependencies )
54
56
{
55
- return FindTypes ( input , HaveDependency_CheckingStrategy . TypeOfCheck . OnlyHaveDependenciesOnAny , dependencies , false ) ;
57
+ return FindTypes ( input , HaveDependency_CheckingStrategy . TypeOfCheck . OnlyHaveDependenciesOnAny , dependencies ) ;
56
58
}
57
59
58
60
/// <summary>
59
61
/// Finds types that have a dependency on every item in the given list of dependencies, but cannot have a dependency that is not in the list.
60
62
/// </summary>
61
63
public IEnumerable < TypeSpec > FindTypesThatOnlyOnlyHaveDependencyOnAll ( IEnumerable < TypeSpec > input , IEnumerable < string > dependencies )
62
64
{
63
- return FindTypes ( input , HaveDependency_CheckingStrategy . TypeOfCheck . OnlyHaveDependenciesOnAll , dependencies , false ) ;
65
+ return FindTypes ( input , HaveDependency_CheckingStrategy . TypeOfCheck . OnlyHaveDependenciesOnAll , dependencies ) ;
64
66
}
65
67
66
- private IEnumerable < TypeSpec > FindTypes ( IEnumerable < TypeSpec > input , HaveDependency_CheckingStrategy . TypeOfCheck typeOfCheck , IEnumerable < string > dependencies , bool serachForDependencyInFieldConstant )
68
+ private IEnumerable < TypeSpec > FindTypes ( IEnumerable < TypeSpec > input , HaveDependency_CheckingStrategy . TypeOfCheck typeOfCheck , IEnumerable < string > dependencies )
67
69
{
68
70
var searchTree = new CachedNamespaceTree ( dependencies ) ;
69
71
var context = new TypeCheckingContext ( serachForDependencyInFieldConstant , explainYourself , dependencyFilter ) ;
@@ -82,7 +84,7 @@ private IEnumerable<TypeSpec> FindTypes(IEnumerable<TypeSpec> input, HaveDepende
82
84
public IEnumerable < TypeSpec > FindTypesThatAreUsedByAny ( IEnumerable < TypeSpec > input , IEnumerable < string > users , IEnumerable < TypeSpec > allTypes )
83
85
{
84
86
var filterTree = new CachedNamespaceTree ( users ) ;
85
- var context = new TypeCheckingContext ( false , explainYourself , dependencyFilter ) ;
87
+ var context = new TypeCheckingContext ( serachForDependencyInFieldConstant , explainYourself , dependencyFilter ) ;
86
88
var strategy = new AreUsedBy_CheckingStrategy ( ) ;
87
89
88
90
0 commit comments