@@ -899,9 +899,9 @@ def __init__(
899899 self .invalidated_callback = invalidated_callback
900900 self ._document = weakref .ref (document ) if document is not None else None
901901 self ._libraries : OrderedDict [str , LibraryEntry ] = OrderedDict ()
902- self ._libraries_matchers : Optional [List [KeywordMatcher ]] = None
902+ self ._libraries_matchers : Optional [Dict [KeywordMatcher , LibraryEntry ]] = None
903903 self ._resources : OrderedDict [str , ResourceEntry ] = OrderedDict ()
904- self ._resources_matchers : Optional [List [KeywordMatcher ]] = None
904+ self ._resources_matchers : Optional [Dict [KeywordMatcher , ResourceEntry ]] = None
905905 self ._variables : OrderedDict [str , VariablesEntry ] = OrderedDict ()
906906 self ._initialized = False
907907 self ._initialize_lock = asyncio .Lock ()
@@ -948,11 +948,11 @@ async def get_libraries(self) -> OrderedDict[str, LibraryEntry]:
948948
949949 return self ._libraries
950950
951- async def get_libraries_matchers (self ) -> List [KeywordMatcher ]:
951+ async def get_libraries_matchers (self ) -> Dict [KeywordMatcher , LibraryEntry ]:
952952 if self ._libraries_matchers is None :
953- self ._libraries_matchers = [
954- KeywordMatcher (v .alias or v .name or v .import_name ) for v in (await self .get_libraries ()).values ()
955- ]
953+ self ._libraries_matchers = {
954+ KeywordMatcher (v .alias or v .name or v .import_name ): v for v in (await self .get_libraries ()).values ()
955+ }
956956 return self ._libraries_matchers
957957
958958 @_logger .call
@@ -961,11 +961,11 @@ async def get_resources(self) -> OrderedDict[str, ResourceEntry]:
961961
962962 return self ._resources
963963
964- async def get_resources_matchers (self ) -> List [KeywordMatcher ]:
964+ async def get_resources_matchers (self ) -> Dict [KeywordMatcher , ResourceEntry ]:
965965 if self ._resources_matchers is None :
966- self ._resources_matchers = [
967- KeywordMatcher (v .alias or v .name or v .import_name ) for v in (await self .get_resources ()).values ()
968- ]
966+ self ._resources_matchers = {
967+ KeywordMatcher (v .alias or v .name or v .import_name ): v for v in (await self .get_resources ()).values ()
968+ }
969969 return self ._resources_matchers
970970
971971 async def get_library_doc (self ) -> LibraryDoc :
@@ -1021,6 +1021,7 @@ async def ensure_initialized(self) -> bool:
10211021 if e not in new_imports :
10221022 new_imports .append (e )
10231023 self .document .set_data (Namespace , new_imports )
1024+ self .document .set_data (Namespace .DataEntry , None )
10241025 else :
10251026 data_entry = self .document .get_data (Namespace .DataEntry )
10261027
0 commit comments