5050 strip_variable_token ,
5151 tokenize_variables ,
5252)
53- from ..utils .async_ast import AsyncVisitor
53+ from ..utils .async_ast import Visitor
5454from ..utils .match import eq
5555from ..utils .variables import BUILTIN_VARIABLES
5656from ..utils .version import get_robot_version
@@ -97,20 +97,20 @@ class NameSpaceError(Exception):
9797 pass
9898
9999
100- class VariablesVisitor (AsyncVisitor ):
101- async def get (self , source : str , model : ast .AST ) -> List [VariableDefinition ]:
100+ class VariablesVisitor (Visitor ):
101+ def get (self , source : str , model : ast .AST ) -> List [VariableDefinition ]:
102102 self ._results : List [VariableDefinition ] = []
103103 self .source = source
104- await self .visit (model )
104+ self .visit (model )
105105 return self ._results
106106
107- async def visit_Section (self , node : ast .AST ) -> None : # noqa: N802
107+ def visit_Section (self , node : ast .AST ) -> None : # noqa: N802
108108 from robot .parsing .model .blocks import VariableSection
109109
110110 if isinstance (node , VariableSection ):
111- await self .generic_visit (node )
111+ self .generic_visit (node )
112112
113- async def visit_Variable (self , node : ast .AST ) -> None : # noqa: N802
113+ def visit_Variable (self , node : ast .AST ) -> None : # noqa: N802
114114 from robot .parsing .lexer .tokens import Token as RobotToken
115115 from robot .parsing .model .statements import Variable
116116 from robot .variables import search_variable
@@ -152,38 +152,38 @@ async def visit_Variable(self, node: ast.AST) -> None: # noqa: N802
152152 )
153153
154154
155- class BlockVariableVisitor (AsyncVisitor ):
155+ class BlockVariableVisitor (Visitor ):
156156 def __init__ (
157- self , namespace : Namespace , source : str , position : Optional [Position ] = None , in_args : bool = True
157+ self , library_doc : LibraryDoc , source : str , position : Optional [Position ] = None , in_args : bool = True
158158 ) -> None :
159159 super ().__init__ ()
160- self .namespace = namespace
160+ self .library_doc = library_doc
161161 self .source = source
162162 self .position = position
163163 self .in_args = in_args
164164
165165 self ._results : Dict [str , VariableDefinition ] = {}
166166 self .current_kw_doc : Optional [KeywordDoc ] = None
167167
168- async def get (self , model : ast .AST ) -> List [VariableDefinition ]:
168+ def get (self , model : ast .AST ) -> List [VariableDefinition ]:
169169
170170 self ._results = {}
171171
172- await self .visit (model )
172+ self .visit (model )
173173
174174 return list (self ._results .values ())
175175
176- async def visit (self , node : ast .AST ) -> None :
176+ def visit (self , node : ast .AST ) -> None :
177177 if self .position is None or self .position >= range_from_node (node ).start :
178- return await super ().visit (node )
178+ return super ().visit (node )
179179
180- async def visit_Keyword (self , node : ast .AST ) -> None : # noqa: N802
180+ def visit_Keyword (self , node : ast .AST ) -> None : # noqa: N802
181181 try :
182- await self .generic_visit (node )
182+ self .generic_visit (node )
183183 finally :
184184 self .current_kw_doc = None
185185
186- async def visit_KeywordName (self , node : ast .AST ) -> None : # noqa: N802
186+ def visit_KeywordName (self , node : ast .AST ) -> None : # noqa: N802
187187 from robot .parsing .lexer .tokens import Token as RobotToken
188188 from robot .parsing .model .statements import KeywordName
189189 from robot .variables .search import search_variable
@@ -194,7 +194,8 @@ async def visit_KeywordName(self, node: ast.AST) -> None: # noqa: N802
194194 name_token = cast (Token , n .get_token (RobotToken .KEYWORD_NAME ))
195195
196196 if name_token is not None and name_token .value :
197- keyword = await ModelHelperMixin .get_keyword_definition_at_token (self .namespace , name_token )
197+
198+ keyword = ModelHelperMixin .get_keyword_definition_at_token (self .library_doc , name_token )
198199 self .current_kw_doc = keyword
199200
200201 for variable_token in filter (
@@ -236,7 +237,7 @@ def get_variable_token(self, token: Token) -> Optional[Token]:
236237 None ,
237238 )
238239
239- async def visit_Arguments (self , node : ast .AST ) -> None : # noqa: N802
240+ def visit_Arguments (self , node : ast .AST ) -> None : # noqa: N802
240241 from robot .errors import VariableError
241242 from robot .parsing .lexer .tokens import Token as RobotToken
242243 from robot .parsing .model .statements import Arguments
@@ -280,7 +281,7 @@ async def visit_Arguments(self, node: ast.AST) -> None: # noqa: N802
280281 if self .current_kw_doc is not None :
281282 self .current_kw_doc .argument_definitions = argument_definitions
282283
283- async def visit_ExceptHeader (self , node : ast .AST ) -> None : # noqa: N802
284+ def visit_ExceptHeader (self , node : ast .AST ) -> None : # noqa: N802
284285 from robot .errors import VariableError
285286 from robot .parsing .lexer .tokens import Token as RobotToken
286287 from robot .parsing .model .statements import ExceptHeader
@@ -306,7 +307,7 @@ async def visit_ExceptHeader(self, node: ast.AST) -> None: # noqa: N802
306307 except VariableError :
307308 pass
308309
309- async def visit_KeywordCall (self , node : ast .AST ) -> None : # noqa: N802
310+ def visit_KeywordCall (self , node : ast .AST ) -> None : # noqa: N802
310311 from robot .errors import VariableError
311312 from robot .parsing .lexer .tokens import Token as RobotToken
312313 from robot .parsing .model .statements import KeywordCall
@@ -341,7 +342,7 @@ async def visit_KeywordCall(self, node: ast.AST) -> None: # noqa: N802
341342 except VariableError :
342343 pass
343344
344- async def visit_InlineIfHeader (self , node : ast .AST ) -> None : # noqa: N802
345+ def visit_InlineIfHeader (self , node : ast .AST ) -> None : # noqa: N802
345346 from robot .errors import VariableError
346347 from robot .parsing .lexer .tokens import Token as RobotToken
347348 from robot .parsing .model .statements import InlineIfHeader
@@ -374,7 +375,7 @@ async def visit_InlineIfHeader(self, node: ast.AST) -> None: # noqa: N802
374375 except VariableError :
375376 pass
376377
377- async def visit_ForHeader (self , node : ast .AST ) -> None : # noqa: N802
378+ def visit_ForHeader (self , node : ast .AST ) -> None : # noqa: N802
378379 from robot .parsing .lexer .tokens import Token as RobotToken
379380 from robot .parsing .model .statements import ForHeader
380381
@@ -394,20 +395,20 @@ async def visit_ForHeader(self, node: ast.AST) -> None: # noqa: N802
394395 )
395396
396397
397- class ImportVisitor (AsyncVisitor ):
398- async def get (self , source : str , model : ast .AST ) -> List [Import ]:
398+ class ImportVisitor (Visitor ):
399+ def get (self , source : str , model : ast .AST ) -> List [Import ]:
399400 self ._results : List [Import ] = []
400401 self .source = source
401- await self .visit (model )
402+ self .visit (model )
402403 return self ._results
403404
404- async def visit_Section (self , node : ast .AST ) -> None : # noqa: N802
405+ def visit_Section (self , node : ast .AST ) -> None : # noqa: N802
405406 from robot .parsing .model .blocks import SettingSection
406407
407408 if isinstance (node , SettingSection ):
408- await self .generic_visit (node )
409+ self .generic_visit (node )
409410
410- async def visit_LibraryImport (self , node : ast .AST ) -> None : # noqa: N802
411+ def visit_LibraryImport (self , node : ast .AST ) -> None : # noqa: N802
411412 from robot .parsing .lexer .tokens import Token as RobotToken
412413 from robot .parsing .model .statements import LibraryImport as RobotLibraryImport
413414
@@ -440,7 +441,7 @@ async def visit_LibraryImport(self, node: ast.AST) -> None: # noqa: N802
440441 )
441442 )
442443
443- async def visit_ResourceImport (self , node : ast .AST ) -> None : # noqa: N802
444+ def visit_ResourceImport (self , node : ast .AST ) -> None : # noqa: N802
444445 from robot .parsing .lexer .tokens import Token as RobotToken
445446 from robot .parsing .model .statements import ResourceImport as RobotResourceImport
446447
@@ -470,7 +471,7 @@ async def visit_ResourceImport(self, node: ast.AST) -> None: # noqa: N802
470471 )
471472 )
472473
473- async def visit_VariablesImport (self , node : ast .AST ) -> None : # noqa: N802
474+ def visit_VariablesImport (self , node : ast .AST ) -> None : # noqa: N802
474475 from robot .parsing .lexer .tokens import Token as RobotToken
475476 from robot .parsing .model .statements import (
476477 VariablesImport as RobotVariablesImport ,
@@ -864,15 +865,15 @@ def initialized(self) -> bool:
864865 @_logger .call
865866 async def get_imports (self ) -> List [Import ]:
866867 if self ._imports is None :
867- self ._imports = await ImportVisitor ().get (self .source , self .model )
868+ self ._imports = ImportVisitor ().get (self .source , self .model )
868869
869870 return self ._imports
870871
871872 @_logger .call
872873 async def get_own_variables (self ) -> List [VariableDefinition ]:
873874 async with self ._own_variables_lock :
874875 if self ._own_variables is None :
875- self ._own_variables = await VariablesVisitor ().get (self .source , self .model )
876+ self ._own_variables = VariablesVisitor ().get (self .source , self .model )
876877
877878 return self ._own_variables
878879
@@ -927,8 +928,8 @@ async def yield_variables(
927928 for var in chain (
928929 * [
929930 (
930- await BlockVariableVisitor (
931- self ,
931+ BlockVariableVisitor (
932+ await self . get_library_doc () ,
932933 self .source ,
933934 position ,
934935 isinstance (test_or_keyword_nodes [- 1 ], Arguments ) if nodes else False ,
0 commit comments