|
8 | 8 | from pathlib import Path |
9 | 9 | from typing import ( |
10 | 10 | Any, |
11 | | - Callable, |
12 | 11 | Iterable, |
13 | 12 | Iterator, |
14 | 13 | List, |
@@ -176,43 +175,16 @@ def __get_document_type(self, document: TextDocument) -> DocumentType: |
176 | 175 | return DocumentType.UNKNOWN |
177 | 176 |
|
178 | 177 | def get_tokens(self, document: TextDocument, data_only: bool = False) -> List[Token]: |
179 | | - if data_only: |
180 | | - return self.__get_tokens_data_only(document) |
181 | | - return self.__get_tokens(document) |
182 | | - |
183 | | - def __get_tokens_data_only(self, document: TextDocument) -> List[Token]: |
184 | | - document_type = self.get_document_type(document) |
185 | | - if document_type == DocumentType.INIT: |
186 | | - return self.get_init_tokens(document, True) |
187 | | - if document_type == DocumentType.GENERAL: |
188 | | - return self.get_general_tokens(document, True) |
189 | | - if document_type == DocumentType.RESOURCE: |
190 | | - return self.get_resource_tokens(document, True) |
191 | | - |
192 | | - raise UnknownFileTypeError(str(document.uri)) |
193 | | - |
194 | | - def __get_tokens(self, document: TextDocument) -> List[Token]: |
195 | 178 | document_type = self.get_document_type(document) |
196 | 179 | if document_type == DocumentType.INIT: |
197 | | - return self.get_init_tokens(document) |
| 180 | + return self.__get_init_tokens(document, data_only) |
198 | 181 | if document_type == DocumentType.GENERAL: |
199 | | - return self.get_general_tokens(document) |
| 182 | + return self.__get_general_tokens(document, data_only) |
200 | 183 | if document_type == DocumentType.RESOURCE: |
201 | | - return self.get_resource_tokens(document) |
| 184 | + return self.__get_resource_tokens(document, data_only) |
202 | 185 |
|
203 | 186 | raise UnknownFileTypeError(str(document.uri)) |
204 | 187 |
|
205 | | - def get_general_tokens(self, document: TextDocument, data_only: bool = False) -> List[Token]: |
206 | | - if document.version is None: |
207 | | - if data_only: |
208 | | - return self.__get_general_tokens_data_only(document) |
209 | | - |
210 | | - return self.__get_general_tokens(document) |
211 | | - |
212 | | - if data_only: |
213 | | - return document.get_cache(self.__get_general_tokens_data_only) |
214 | | - return document.get_cache(self.__get_general_tokens) |
215 | | - |
216 | 188 | def __internal_get_tokens( |
217 | 189 | self, |
218 | 190 | source: Any, |
@@ -270,85 +242,20 @@ def __internal_get_init_tokens( |
270 | 242 |
|
271 | 243 | return robot.api.get_init_tokens(source, data_only=data_only, tokenize_variables=tokenize_variables) |
272 | 244 |
|
273 | | - def __get_general_tokens_data_only(self, document: TextDocument) -> List[Token]: |
274 | | - lang = self.get_languages_for_document(document) |
275 | | - |
276 | | - def get(text: str) -> List[Token]: |
277 | | - with io.StringIO(text) as content: |
278 | | - return [e for e in self.__internal_get_tokens(content, True, lang=lang)] |
279 | | - |
280 | | - return self.__get_tokens_internal(document, get) |
281 | | - |
282 | | - def __get_general_tokens(self, document: TextDocument) -> List[Token]: |
283 | | - lang = self.get_languages_for_document(document) |
284 | | - |
285 | | - def get(text: str) -> List[Token]: |
286 | | - with io.StringIO(text) as content: |
287 | | - return [e for e in self.__internal_get_tokens(content, lang=lang)] |
288 | | - |
289 | | - return self.__get_tokens_internal(document, get) |
290 | | - |
291 | | - def __get_tokens_internal(self, document: TextDocument, get: Callable[[str], List[Token]]) -> List[Token]: |
292 | | - return get(document.text()) |
293 | | - |
294 | | - def get_resource_tokens(self, document: TextDocument, data_only: bool = False) -> List[Token]: |
295 | | - if document.version is None: |
296 | | - if data_only: |
297 | | - return self.__get_resource_tokens_data_only(document) |
298 | | - |
299 | | - return self.__get_resource_tokens(document) |
300 | | - |
301 | | - if data_only: |
302 | | - return document.get_cache(self.__get_resource_tokens_data_only) |
303 | | - |
304 | | - return document.get_cache(self.__get_resource_tokens) |
305 | | - |
306 | | - def __get_resource_tokens_data_only(self, document: TextDocument) -> List[Token]: |
307 | | - lang = self.get_languages_for_document(document) |
308 | | - |
309 | | - def get(text: str) -> List[Token]: |
310 | | - with io.StringIO(text) as content: |
311 | | - return [e for e in self.__internal_get_resource_tokens(content, True, lang=lang)] |
312 | | - |
313 | | - return self.__get_tokens_internal(document, get) |
314 | | - |
315 | | - def __get_resource_tokens(self, document: TextDocument) -> List[Token]: |
| 245 | + def __get_general_tokens(self, document: TextDocument, data_only: bool = False) -> List[Token]: |
316 | 246 | lang = self.get_languages_for_document(document) |
| 247 | + with io.StringIO(document.text()) as content: |
| 248 | + return [e for e in self.__internal_get_tokens(content, data_only, lang=lang)] |
317 | 249 |
|
318 | | - def get(text: str) -> List[Token]: |
319 | | - with io.StringIO(text) as content: |
320 | | - return [e for e in self.__internal_get_resource_tokens(content, lang=lang)] |
321 | | - |
322 | | - return self.__get_tokens_internal(document, get) |
323 | | - |
324 | | - def get_init_tokens(self, document: TextDocument, data_only: bool = False) -> List[Token]: |
325 | | - if document.version is None: |
326 | | - if data_only: |
327 | | - return self.__get_init_tokens_data_only(document) |
328 | | - |
329 | | - return self.__get_init_tokens(document) |
330 | | - |
331 | | - if data_only: |
332 | | - return document.get_cache(self.__get_init_tokens_data_only) |
333 | | - return document.get_cache(self.__get_init_tokens) |
334 | | - |
335 | | - def __get_init_tokens_data_only(self, document: TextDocument) -> List[Token]: |
| 250 | + def __get_resource_tokens(self, document: TextDocument, data_only: bool = False) -> List[Token]: |
336 | 251 | lang = self.get_languages_for_document(document) |
| 252 | + with io.StringIO(document.text()) as content: |
| 253 | + return [e for e in self.__internal_get_resource_tokens(content, data_only, lang=lang)] |
337 | 254 |
|
338 | | - def get(text: str) -> List[Token]: |
339 | | - with io.StringIO(text) as content: |
340 | | - return [e for e in self.__internal_get_init_tokens(content, True, lang=lang)] |
341 | | - |
342 | | - return self.__get_tokens_internal(document, get) |
343 | | - |
344 | | - def __get_init_tokens(self, document: TextDocument) -> List[Token]: |
| 255 | + def __get_init_tokens(self, document: TextDocument, data_only: bool = False) -> List[Token]: |
345 | 256 | lang = self.get_languages_for_document(document) |
346 | | - |
347 | | - def get(text: str) -> List[Token]: |
348 | | - with io.StringIO(text) as content: |
349 | | - return [e for e in self.__internal_get_init_tokens(content, lang=lang)] |
350 | | - |
351 | | - return self.__get_tokens_internal(document, get) |
| 257 | + with io.StringIO(document.text()) as content: |
| 258 | + return [e for e in self.__internal_get_init_tokens(content, data_only, lang=lang)] |
352 | 259 |
|
353 | 260 | def get_model(self, document: TextDocument, data_only: bool = True) -> ast.AST: |
354 | 261 | document_type = self.get_document_type(document) |
@@ -387,59 +294,56 @@ def get_tokens(source: str, data_only: bool = False, lang: Any = None) -> Iterat |
387 | 294 | def get_general_model(self, document: TextDocument, data_only: bool = True) -> ast.AST: |
388 | 295 | if document.version is None: |
389 | 296 | if data_only: |
390 | | - return self.__get_general_model_data_only(document, self.get_general_tokens(document, True)) |
| 297 | + return self.__get_general_model_data_only(document) |
391 | 298 |
|
392 | | - return self.__get_general_model(document, self.get_general_tokens(document)) |
| 299 | + return self.__get_general_model(document) |
393 | 300 |
|
394 | 301 | if data_only: |
395 | | - return document.get_cache(self.__get_general_model_data_only, self.get_general_tokens(document, True)) |
| 302 | + return document.get_cache(self.__get_general_model_data_only) |
396 | 303 |
|
397 | | - return document.get_cache(self.__get_general_model, self.get_general_tokens(document)) |
| 304 | + return document.get_cache(self.__get_general_model) |
398 | 305 |
|
399 | | - def __get_general_model_data_only(self, document: TextDocument, tokens: Iterable[Any]) -> ast.AST: |
400 | | - return self.__get_model(document, tokens, DocumentType.GENERAL) |
| 306 | + def __get_general_model_data_only(self, document: TextDocument) -> ast.AST: |
| 307 | + return self.__get_model(document, self.__get_general_tokens(document, True), DocumentType.GENERAL) |
401 | 308 |
|
402 | | - def __get_general_model(self, document: TextDocument, tokens: Iterable[Any]) -> ast.AST: |
403 | | - return self.__get_model(document, tokens, DocumentType.GENERAL) |
| 309 | + def __get_general_model(self, document: TextDocument) -> ast.AST: |
| 310 | + return self.__get_model(document, self.__get_general_tokens(document), DocumentType.GENERAL) |
404 | 311 |
|
405 | 312 | def get_resource_model(self, document: TextDocument, data_only: bool = True) -> ast.AST: |
406 | 313 | if document.version is None: |
407 | 314 | if data_only: |
408 | | - return self.__get_resource_model_data_only(document, self.get_resource_tokens(document, True)) |
| 315 | + return self.__get_resource_model_data_only(document) |
409 | 316 |
|
410 | | - return self.__get_resource_model(document, self.get_resource_tokens(document)) |
| 317 | + return self.__get_resource_model(document) |
411 | 318 |
|
412 | 319 | if data_only: |
413 | | - return document.get_cache( |
414 | | - self.__get_resource_model_data_only, |
415 | | - self.get_resource_tokens(document, True), |
416 | | - ) |
| 320 | + return document.get_cache(self.__get_resource_model_data_only) |
417 | 321 |
|
418 | | - return document.get_cache(self.__get_resource_model, self.get_resource_tokens(document)) |
| 322 | + return document.get_cache(self.__get_resource_model) |
419 | 323 |
|
420 | | - def __get_resource_model_data_only(self, document: TextDocument, tokens: Iterable[Any]) -> ast.AST: |
421 | | - return self.__get_model(document, tokens, DocumentType.RESOURCE) |
| 324 | + def __get_resource_model_data_only(self, document: TextDocument) -> ast.AST: |
| 325 | + return self.__get_model(document, self.__get_resource_tokens(document, True), DocumentType.RESOURCE) |
422 | 326 |
|
423 | | - def __get_resource_model(self, document: TextDocument, tokens: Iterable[Any]) -> ast.AST: |
424 | | - return self.__get_model(document, tokens, DocumentType.RESOURCE) |
| 327 | + def __get_resource_model(self, document: TextDocument) -> ast.AST: |
| 328 | + return self.__get_model(document, self.__get_resource_tokens(document), DocumentType.RESOURCE) |
425 | 329 |
|
426 | 330 | def get_init_model(self, document: TextDocument, data_only: bool = True) -> ast.AST: |
427 | 331 | if document.version is None: |
428 | 332 | if data_only: |
429 | | - return self.__get_init_model_data_only(document, self.get_init_tokens(document, True)) |
| 333 | + return self.__get_init_model_data_only(document) |
430 | 334 |
|
431 | | - return self.__get_init_model(document, self.get_init_tokens(document)) |
| 335 | + return self.__get_init_model(document) |
432 | 336 |
|
433 | 337 | if data_only: |
434 | | - return document.get_cache(self.__get_init_model_data_only, self.get_init_tokens(document, True)) |
| 338 | + return document.get_cache(self.__get_init_model_data_only) |
435 | 339 |
|
436 | | - return document.get_cache(self.__get_init_model, self.get_init_tokens(document)) |
| 340 | + return document.get_cache(self.__get_init_model) |
437 | 341 |
|
438 | | - def __get_init_model_data_only(self, document: TextDocument, tokens: Iterable[Any]) -> ast.AST: |
439 | | - return self.__get_model(document, tokens, DocumentType.INIT) |
| 342 | + def __get_init_model_data_only(self, document: TextDocument) -> ast.AST: |
| 343 | + return self.__get_model(document, self.__get_init_tokens(document, True), DocumentType.INIT) |
440 | 344 |
|
441 | | - def __get_init_model(self, document: TextDocument, tokens: Iterable[Any]) -> ast.AST: |
442 | | - return self.__get_model(document, tokens, DocumentType.INIT) |
| 345 | + def __get_init_model(self, document: TextDocument) -> ast.AST: |
| 346 | + return self.__get_model(document, self.__get_init_tokens(document), DocumentType.INIT) |
443 | 347 |
|
444 | 348 | def get_namespace(self, document: TextDocument) -> Namespace: |
445 | 349 | document_type = self.get_document_type(document) |
|
0 commit comments