@@ -4,45 +4,20 @@ public static class AccessibilityCheck
4
4
{
5
5
public static bool IsAccessible ( Declaration callingProject , Declaration callingModule , Declaration callingParent , Declaration callee )
6
6
{
7
- if ( callee == null )
8
- {
9
- return false ;
10
- }
11
- else if ( callee . DeclarationType . HasFlag ( DeclarationType . Project ) )
12
- {
13
- return true ;
14
- }
15
- else if ( callee . DeclarationType . HasFlag ( DeclarationType . Module ) )
16
- {
17
- return IsModuleAccessible ( callingProject , callingModule , callee ) ;
18
- }
19
- else
20
- {
21
- return IsMemberAccessible ( callingProject , callingModule , callingParent , callee ) ;
22
- }
7
+ return callee != null
8
+ && ( callee . DeclarationType . HasFlag ( DeclarationType . Project )
9
+ || ( callee . DeclarationType . HasFlag ( DeclarationType . Module ) && IsModuleAccessible ( callingProject , callingModule , callee ) )
10
+ || ( ! callee . DeclarationType . HasFlag ( DeclarationType . Module ) && IsMemberAccessible ( callingProject , callingModule , callingParent , callee ) ) ) ;
23
11
}
24
12
25
13
26
14
public static bool IsModuleAccessible ( Declaration callingProject , Declaration callingModule , Declaration calleeModule )
27
15
{
28
- if ( calleeModule == null )
29
- {
30
- return false ;
31
- }
32
- else if ( IsTheSameModule ( callingModule , calleeModule ) || IsEnclosingProject ( callingProject , calleeModule ) )
33
- {
34
- return true ;
35
- }
36
- else if ( calleeModule . DeclarationType . HasFlag ( DeclarationType . ProceduralModule ) )
37
- {
38
- bool isPrivate = ( ( ProceduralModuleDeclaration ) calleeModule ) . IsPrivateModule ;
39
- return ! isPrivate ;
40
- }
41
- else
42
- {
43
- bool isExposed = ( ( ClassModuleDeclaration ) calleeModule ) . IsExposed ;
44
- return isExposed ;
45
- }
16
+ return calleeModule != null
17
+ && ( IsTheSameModule ( callingModule , calleeModule )
18
+ || IsEnclosingProject ( callingProject , calleeModule )
19
+ || ( calleeModule . DeclarationType . HasFlag ( DeclarationType . ProceduralModule ) && ! ( ( ProceduralModuleDeclaration ) calleeModule ) . IsPrivateModule )
20
+ || ( ! calleeModule . DeclarationType . HasFlag ( DeclarationType . ProceduralModule ) && ( ( ClassModuleDeclaration ) calleeModule ) . IsExposed ) ) ;
46
21
}
47
22
48
23
private static bool IsTheSameModule ( Declaration callingModule , Declaration calleeModule )
@@ -63,34 +38,17 @@ public static bool IsMemberAccessible(Declaration callingProject, Declaration ca
63
38
{
64
39
return false ;
65
40
}
66
- else if ( IsEnclosingModuleOfInstanceMember ( callingModule , calleeMember ) )
67
- {
68
- return true ;
69
- }
70
- else if ( IsLocalMemberOfTheCallingSubroutineOrProperty ( callingParent , calleeMember ) )
41
+ if ( IsEnclosingModuleOfInstanceMember ( callingModule , calleeMember )
42
+ || IsLocalMemberOfTheCallingSubroutineOrProperty ( callingParent , calleeMember ) )
71
43
{
72
44
return true ;
73
45
}
74
46
var memberModule = Declaration . GetModuleParent ( calleeMember ) ;
75
- if ( IsModuleAccessible ( callingProject , callingModule , memberModule ) )
76
- {
77
- if ( calleeMember . DeclarationType . HasFlag ( DeclarationType . EnumerationMember ) || calleeMember . DeclarationType . HasFlag ( DeclarationType . UserDefinedTypeMember ) )
78
- {
79
- return true ;
80
- }
81
- else if ( IsEnclosingProject ( callingProject , memberModule ) && IsAccessibleThroughoutTheSameProject ( calleeMember ) )
82
- {
83
- return true ;
84
- }
85
- else
86
- {
87
- return HasPublicScope ( calleeMember ) ;
88
- }
89
- }
90
- else
91
- {
92
- return false ;
93
- }
47
+ return IsModuleAccessible ( callingProject , callingModule , memberModule )
48
+ && ( calleeMember . DeclarationType . HasFlag ( DeclarationType . EnumerationMember )
49
+ || calleeMember . DeclarationType . HasFlag ( DeclarationType . UserDefinedTypeMember )
50
+ || HasPublicScope ( calleeMember )
51
+ || ( IsEnclosingProject ( callingProject , memberModule ) && IsAccessibleThroughoutTheSameProject ( calleeMember ) ) ) ;
94
52
}
95
53
96
54
private static bool IsEnclosingModuleOfInstanceMember ( Declaration callingModule , Declaration calleeMember )
0 commit comments