@@ -5,9 +5,10 @@ use crate::names::Names;
55use crate :: pre_linter:: PreLinterResult ;
66
77pub struct Context {
8- pre_linter_result : PreLinterResult ,
8+ pub functions : SignatureMap ,
9+ pub subs : SignatureMap ,
10+ pub user_defined_types : UserDefinedTypes ,
911 pub resolver : TypeResolverImpl ,
10- // TODO make this private
1112 pub names : Names ,
1213}
1314
@@ -17,25 +18,12 @@ impl TypeResolver for Context {
1718 }
1819}
1920
20- impl HasSubprograms for Context {
21- fn functions ( & self ) -> & SignatureMap {
22- self . pre_linter_result . functions ( )
23- }
24- fn subs ( & self ) -> & SignatureMap {
25- self . pre_linter_result . subs ( )
26- }
27- }
28-
29- impl HasUserDefinedTypes for Context {
30- fn user_defined_types ( & self ) -> & UserDefinedTypes {
31- self . pre_linter_result . user_defined_types ( )
32- }
33- }
34-
3521impl Context {
3622 pub fn new ( pre_linter_result : PreLinterResult ) -> Self {
3723 Self {
38- pre_linter_result,
24+ functions : pre_linter_result. functions ,
25+ subs : pre_linter_result. subs ,
26+ user_defined_types : pre_linter_result. user_defined_types ,
3927 resolver : TypeResolverImpl :: new ( ) ,
4028 names : Names :: new ( ) ,
4129 }
@@ -48,14 +36,8 @@ impl Context {
4836 /// Gets the function qualifier of the function identified by the given bare name.
4937 /// If no such function exists, returns `None`.
5038 pub fn function_qualifier ( & self , bare_name : & BareName ) -> Option < TypeQualifier > {
51- self . functions ( )
39+ self . functions
5240 . get ( bare_name)
5341 . and_then ( |function_signature_pos| function_signature_pos. element . qualifier ( ) )
5442 }
5543}
56-
57- impl From < Context > for ( PreLinterResult , Names ) {
58- fn from ( value : Context ) -> Self {
59- ( value. pre_linter_result , value. names )
60- }
61- }
0 commit comments