astToolkit 0.3.0__tar.gz → 0.3.1__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {asttoolkit-0.3.0 → asttoolkit-0.3.1}/PKG-INFO +1 -1
- {asttoolkit-0.3.0 → asttoolkit-0.3.1}/astToolkit/__init__.py +3 -4
- {asttoolkit-0.3.0 → asttoolkit-0.3.1}/astToolkit/_astTypes.py +4 -1
- asttoolkit-0.3.0/astToolkit/theSSOT.py → asttoolkit-0.3.1/astToolkit/_theSSOT.py +0 -2
- {asttoolkit-0.3.0 → asttoolkit-0.3.1}/astToolkit/_toolGrab.py +45 -45
- {asttoolkit-0.3.0 → asttoolkit-0.3.1}/astToolkit/_toolMake.py +75 -74
- {asttoolkit-0.3.0 → asttoolkit-0.3.1}/astToolkit/_toolThen.py +3 -3
- {asttoolkit-0.3.0 → asttoolkit-0.3.1}/astToolkit/_toolkitAST.py +25 -36
- {asttoolkit-0.3.0 → asttoolkit-0.3.1}/astToolkit/_toolkitNodeVisitor.py +4 -4
- {asttoolkit-0.3.0 → asttoolkit-0.3.1}/astToolkit/_types.py +1 -6
- {asttoolkit-0.3.0 → asttoolkit-0.3.1}/astToolkit/transformationTools.py +6 -8
- {asttoolkit-0.3.0 → asttoolkit-0.3.1}/astToolkit.egg-info/PKG-INFO +1 -1
- {asttoolkit-0.3.0 → asttoolkit-0.3.1}/astToolkit.egg-info/SOURCES.txt +1 -1
- {asttoolkit-0.3.0 → asttoolkit-0.3.1}/pyproject.toml +1 -1
- asttoolkit-0.3.1/toolFactory/Z0Z_hardcoded.py +135 -0
- {asttoolkit-0.3.0 → asttoolkit-0.3.1}/toolFactory/__init__.py +1 -1
- {asttoolkit-0.3.0 → asttoolkit-0.3.1}/toolFactory/datacenter.py +62 -74
- {asttoolkit-0.3.0 → asttoolkit-0.3.1}/toolFactory/factory3.py +35 -25
- {asttoolkit-0.3.0 → asttoolkit-0.3.1}/toolFactory/factory_annex.py +15 -17
- asttoolkit-0.3.0/toolFactory/Z0Z_hardcoded.py +0 -113
- {asttoolkit-0.3.0 → asttoolkit-0.3.1}/LICENSE +0 -0
- {asttoolkit-0.3.0 → asttoolkit-0.3.1}/README.md +0 -0
- {asttoolkit-0.3.0 → asttoolkit-0.3.1}/astToolkit/_toolBe.py +0 -0
- {asttoolkit-0.3.0 → asttoolkit-0.3.1}/astToolkit/_toolClassIsAndAttribute.py +0 -0
- {asttoolkit-0.3.0 → asttoolkit-0.3.1}/astToolkit/_toolDOT.py +0 -0
- {asttoolkit-0.3.0 → asttoolkit-0.3.1}/astToolkit/_toolIfThis.py +0 -0
- {asttoolkit-0.3.0 → asttoolkit-0.3.1}/astToolkit/_toolkitContainers.py +0 -0
- {asttoolkit-0.3.0 → asttoolkit-0.3.1}/astToolkit/py.typed +0 -0
- {asttoolkit-0.3.0 → asttoolkit-0.3.1}/astToolkit.egg-info/dependency_links.txt +0 -0
- {asttoolkit-0.3.0 → asttoolkit-0.3.1}/astToolkit.egg-info/requires.txt +0 -0
- {asttoolkit-0.3.0 → asttoolkit-0.3.1}/astToolkit.egg-info/top_level.txt +0 -0
- {asttoolkit-0.3.0 → asttoolkit-0.3.1}/setup.cfg +0 -0
- {asttoolkit-0.3.0 → asttoolkit-0.3.1}/tests/test_basic.py +0 -0
- {asttoolkit-0.3.0 → asttoolkit-0.3.1}/toolFactory/_snippets.py +0 -0
- {asttoolkit-0.3.0 → asttoolkit-0.3.1}/toolFactory/docstrings.py +0 -0
- {asttoolkit-0.3.0 → asttoolkit-0.3.1}/toolFactory/py.typed +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: astToolkit
|
|
3
|
-
Version: 0.3.
|
|
3
|
+
Version: 0.3.1
|
|
4
4
|
Summary: A powerfully composable, type-safe toolkit for Python abstract syntax tree (AST) manipulation, analysis, transformation, and code generation with a layered architecture designed for building sophisticated code processing assembly-lines.
|
|
5
5
|
Author-email: Hunter Hogan <HunterHogan@pm.me>
|
|
6
6
|
License: CC-BY-NC-4.0
|
|
@@ -1,12 +1,11 @@
|
|
|
1
|
+
# import astToolkit._extendPython_ast
|
|
2
|
+
|
|
1
3
|
from astToolkit._astTypes import * # noqa: F403
|
|
2
4
|
|
|
3
|
-
from astToolkit.
|
|
5
|
+
from astToolkit._theSSOT import The as The
|
|
4
6
|
|
|
5
7
|
from astToolkit._types import (
|
|
6
|
-
NodeORattribute as NodeORattribute,
|
|
7
8
|
str_nameDOTname as str_nameDOTname,
|
|
8
|
-
个 as 个,
|
|
9
|
-
个return as 个return,
|
|
10
9
|
)
|
|
11
10
|
|
|
12
11
|
from astToolkit._toolkitNodeVisitor import (
|
|
@@ -1,10 +1,13 @@
|
|
|
1
1
|
"""This file is generated automatically, so changes to this file will be lost."""
|
|
2
|
-
from typing import Any, TypeAlias as typing_TypeAlias
|
|
2
|
+
from typing import Any, TypeAlias as typing_TypeAlias, TypeVar as typing_TypeVar
|
|
3
3
|
import ast
|
|
4
4
|
import sys
|
|
5
5
|
intORstr: typing_TypeAlias = Any
|
|
6
6
|
intORstrORtype_params: typing_TypeAlias = Any
|
|
7
7
|
intORtype_params: typing_TypeAlias = Any
|
|
8
|
+
木 = typing_TypeVar('木', bound=ast.AST, covariant=True)
|
|
9
|
+
个 = typing_TypeVar('个', covariant=True)
|
|
10
|
+
个return = typing_TypeVar('个return', covariant=True)
|
|
8
11
|
hasDOTannotation_expr: typing_TypeAlias = ast.AnnAssign
|
|
9
12
|
hasDOTannotation_exprOrNone: typing_TypeAlias = ast.arg
|
|
10
13
|
hasDOTannotation: typing_TypeAlias = hasDOTannotation_expr | hasDOTannotation_exprOrNone
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# ruff: noqa: F403, F405
|
|
2
2
|
"""This file is generated automatically, so changes to this file will be lost."""
|
|
3
|
-
from astToolkit import
|
|
3
|
+
from astToolkit import 个
|
|
4
4
|
from astToolkit._astTypes import *
|
|
5
5
|
from collections.abc import Callable, Sequence
|
|
6
6
|
from typing import Any, Literal
|
|
@@ -20,9 +20,9 @@ class Grab:
|
|
|
20
20
|
"""
|
|
21
21
|
|
|
22
22
|
@staticmethod
|
|
23
|
-
def andDoAllOf(listOfActions: list[Callable[[
|
|
23
|
+
def andDoAllOf(listOfActions: list[Callable[[个], 个]]) -> Callable[[个], 个]:
|
|
24
24
|
|
|
25
|
-
def workhorse(node:
|
|
25
|
+
def workhorse(node: 个) -> 个:
|
|
26
26
|
for action in listOfActions:
|
|
27
27
|
node = action(node)
|
|
28
28
|
return node
|
|
@@ -45,7 +45,7 @@ class Grab:
|
|
|
45
45
|
return workhorse
|
|
46
46
|
|
|
47
47
|
@staticmethod
|
|
48
|
-
def argsAttribute(action: Callable[[ast.arguments], ast.arguments] | Callable[[list[ast.arg]], list[ast.arg]] | Callable[[
|
|
48
|
+
def argsAttribute(action: Callable[[ast.arguments], ast.arguments] | Callable[[list[ast.arg]], list[ast.arg]] | Callable[[Sequence[ast.expr]], Sequence[ast.expr]]) -> Callable[[hasDOTargs], hasDOTargs]:
|
|
49
49
|
|
|
50
50
|
def workhorse(node: hasDOTargs) -> hasDOTargs:
|
|
51
51
|
node.args = action(node.args) # pyright: ignore[reportArgumentType, reportAttributeAccessIssue]
|
|
@@ -53,10 +53,10 @@ class Grab:
|
|
|
53
53
|
return workhorse
|
|
54
54
|
|
|
55
55
|
@staticmethod
|
|
56
|
-
def argtypesAttribute(action: Callable[[
|
|
56
|
+
def argtypesAttribute(action: Callable[[Sequence[ast.expr]], Sequence[ast.expr]]) -> Callable[[hasDOTargtypes], hasDOTargtypes]:
|
|
57
57
|
|
|
58
58
|
def workhorse(node: hasDOTargtypes) -> hasDOTargtypes:
|
|
59
|
-
node.argtypes = action(node.argtypes)
|
|
59
|
+
node.argtypes = action(node.argtypes) # pyright: ignore[reportArgumentType, reportAttributeAccessIssue]
|
|
60
60
|
return node
|
|
61
61
|
return workhorse
|
|
62
62
|
|
|
@@ -77,15 +77,15 @@ class Grab:
|
|
|
77
77
|
return workhorse
|
|
78
78
|
|
|
79
79
|
@staticmethod
|
|
80
|
-
def basesAttribute(action: Callable[[
|
|
80
|
+
def basesAttribute(action: Callable[[Sequence[ast.expr]], Sequence[ast.expr]]) -> Callable[[hasDOTbases], hasDOTbases]:
|
|
81
81
|
|
|
82
82
|
def workhorse(node: hasDOTbases) -> hasDOTbases:
|
|
83
|
-
node.bases = action(node.bases)
|
|
83
|
+
node.bases = action(node.bases) # pyright: ignore[reportArgumentType, reportAttributeAccessIssue]
|
|
84
84
|
return node
|
|
85
85
|
return workhorse
|
|
86
86
|
|
|
87
87
|
@staticmethod
|
|
88
|
-
def bodyAttribute(action: Callable[[ast.expr], ast.expr] | Callable[[
|
|
88
|
+
def bodyAttribute(action: Callable[[ast.expr], ast.expr] | Callable[[Sequence[ast.stmt]], Sequence[ast.stmt]]) -> Callable[[hasDOTbody], hasDOTbody]:
|
|
89
89
|
|
|
90
90
|
def workhorse(node: hasDOTbody) -> hasDOTbody:
|
|
91
91
|
node.body = action(node.body) # pyright: ignore[reportArgumentType, reportAttributeAccessIssue]
|
|
@@ -101,10 +101,10 @@ class Grab:
|
|
|
101
101
|
return workhorse
|
|
102
102
|
|
|
103
103
|
@staticmethod
|
|
104
|
-
def casesAttribute(action: Callable[[
|
|
104
|
+
def casesAttribute(action: Callable[[Sequence[ast.match_case]], Sequence[ast.match_case]]) -> Callable[[hasDOTcases], hasDOTcases]:
|
|
105
105
|
|
|
106
106
|
def workhorse(node: hasDOTcases) -> hasDOTcases:
|
|
107
|
-
node.cases = action(node.cases)
|
|
107
|
+
node.cases = action(node.cases) # pyright: ignore[reportArgumentType, reportAttributeAccessIssue]
|
|
108
108
|
return node
|
|
109
109
|
return workhorse
|
|
110
110
|
|
|
@@ -125,10 +125,10 @@ class Grab:
|
|
|
125
125
|
return workhorse
|
|
126
126
|
|
|
127
127
|
@staticmethod
|
|
128
|
-
def comparatorsAttribute(action: Callable[[
|
|
128
|
+
def comparatorsAttribute(action: Callable[[Sequence[ast.expr]], Sequence[ast.expr]]) -> Callable[[hasDOTcomparators], hasDOTcomparators]:
|
|
129
129
|
|
|
130
130
|
def workhorse(node: hasDOTcomparators) -> hasDOTcomparators:
|
|
131
|
-
node.comparators = action(node.comparators)
|
|
131
|
+
node.comparators = action(node.comparators) # pyright: ignore[reportArgumentType, reportAttributeAccessIssue]
|
|
132
132
|
return node
|
|
133
133
|
return workhorse
|
|
134
134
|
|
|
@@ -157,10 +157,10 @@ class Grab:
|
|
|
157
157
|
return workhorse
|
|
158
158
|
|
|
159
159
|
@staticmethod
|
|
160
|
-
def decorator_listAttribute(action: Callable[[
|
|
160
|
+
def decorator_listAttribute(action: Callable[[Sequence[ast.expr]], Sequence[ast.expr]]) -> Callable[[hasDOTdecorator_list], hasDOTdecorator_list]:
|
|
161
161
|
|
|
162
162
|
def workhorse(node: hasDOTdecorator_list) -> hasDOTdecorator_list:
|
|
163
|
-
node.decorator_list = action(node.decorator_list)
|
|
163
|
+
node.decorator_list = action(node.decorator_list) # pyright: ignore[reportArgumentType, reportAttributeAccessIssue]
|
|
164
164
|
return node
|
|
165
165
|
return workhorse
|
|
166
166
|
if sys.version_info >= (3, 13):
|
|
@@ -174,10 +174,10 @@ class Grab:
|
|
|
174
174
|
return workhorse
|
|
175
175
|
|
|
176
176
|
@staticmethod
|
|
177
|
-
def defaultsAttribute(action: Callable[[
|
|
177
|
+
def defaultsAttribute(action: Callable[[Sequence[ast.expr]], Sequence[ast.expr]]) -> Callable[[hasDOTdefaults], hasDOTdefaults]:
|
|
178
178
|
|
|
179
179
|
def workhorse(node: hasDOTdefaults) -> hasDOTdefaults:
|
|
180
|
-
node.defaults = action(node.defaults)
|
|
180
|
+
node.defaults = action(node.defaults) # pyright: ignore[reportArgumentType, reportAttributeAccessIssue]
|
|
181
181
|
return node
|
|
182
182
|
return workhorse
|
|
183
183
|
|
|
@@ -190,10 +190,10 @@ class Grab:
|
|
|
190
190
|
return workhorse
|
|
191
191
|
|
|
192
192
|
@staticmethod
|
|
193
|
-
def eltsAttribute(action: Callable[[
|
|
193
|
+
def eltsAttribute(action: Callable[[Sequence[ast.expr]], Sequence[ast.expr]]) -> Callable[[hasDOTelts], hasDOTelts]:
|
|
194
194
|
|
|
195
195
|
def workhorse(node: hasDOTelts) -> hasDOTelts:
|
|
196
|
-
node.elts = action(node.elts)
|
|
196
|
+
node.elts = action(node.elts) # pyright: ignore[reportArgumentType, reportAttributeAccessIssue]
|
|
197
197
|
return node
|
|
198
198
|
return workhorse
|
|
199
199
|
|
|
@@ -206,10 +206,10 @@ class Grab:
|
|
|
206
206
|
return workhorse
|
|
207
207
|
|
|
208
208
|
@staticmethod
|
|
209
|
-
def finalbodyAttribute(action: Callable[[
|
|
209
|
+
def finalbodyAttribute(action: Callable[[Sequence[ast.stmt]], Sequence[ast.stmt]]) -> Callable[[hasDOTfinalbody], hasDOTfinalbody]:
|
|
210
210
|
|
|
211
211
|
def workhorse(node: hasDOTfinalbody) -> hasDOTfinalbody:
|
|
212
|
-
node.finalbody = action(node.finalbody)
|
|
212
|
+
node.finalbody = action(node.finalbody) # pyright: ignore[reportArgumentType, reportAttributeAccessIssue]
|
|
213
213
|
return node
|
|
214
214
|
return workhorse
|
|
215
215
|
|
|
@@ -230,10 +230,10 @@ class Grab:
|
|
|
230
230
|
return workhorse
|
|
231
231
|
|
|
232
232
|
@staticmethod
|
|
233
|
-
def generatorsAttribute(action: Callable[[
|
|
233
|
+
def generatorsAttribute(action: Callable[[Sequence[ast.comprehension]], Sequence[ast.comprehension]]) -> Callable[[hasDOTgenerators], hasDOTgenerators]:
|
|
234
234
|
|
|
235
235
|
def workhorse(node: hasDOTgenerators) -> hasDOTgenerators:
|
|
236
|
-
node.generators = action(node.generators)
|
|
236
|
+
node.generators = action(node.generators) # pyright: ignore[reportArgumentType, reportAttributeAccessIssue]
|
|
237
237
|
return node
|
|
238
238
|
return workhorse
|
|
239
239
|
|
|
@@ -262,10 +262,10 @@ class Grab:
|
|
|
262
262
|
return workhorse
|
|
263
263
|
|
|
264
264
|
@staticmethod
|
|
265
|
-
def ifsAttribute(action: Callable[[
|
|
265
|
+
def ifsAttribute(action: Callable[[Sequence[ast.expr]], Sequence[ast.expr]]) -> Callable[[hasDOTifs], hasDOTifs]:
|
|
266
266
|
|
|
267
267
|
def workhorse(node: hasDOTifs) -> hasDOTifs:
|
|
268
|
-
node.ifs = action(node.ifs)
|
|
268
|
+
node.ifs = action(node.ifs) # pyright: ignore[reportArgumentType, reportAttributeAccessIssue]
|
|
269
269
|
return node
|
|
270
270
|
return workhorse
|
|
271
271
|
|
|
@@ -278,10 +278,10 @@ class Grab:
|
|
|
278
278
|
return workhorse
|
|
279
279
|
|
|
280
280
|
@staticmethod
|
|
281
|
-
def itemsAttribute(action: Callable[[
|
|
281
|
+
def itemsAttribute(action: Callable[[Sequence[ast.withitem]], Sequence[ast.withitem]]) -> Callable[[hasDOTitems], hasDOTitems]:
|
|
282
282
|
|
|
283
283
|
def workhorse(node: hasDOTitems) -> hasDOTitems:
|
|
284
|
-
node.items = action(node.items)
|
|
284
|
+
node.items = action(node.items) # pyright: ignore[reportArgumentType, reportAttributeAccessIssue]
|
|
285
285
|
return node
|
|
286
286
|
return workhorse
|
|
287
287
|
|
|
@@ -302,7 +302,7 @@ class Grab:
|
|
|
302
302
|
return workhorse
|
|
303
303
|
|
|
304
304
|
@staticmethod
|
|
305
|
-
def keysAttribute(action: Callable[[
|
|
305
|
+
def keysAttribute(action: Callable[[Sequence[ast.expr]], Sequence[ast.expr]] | Callable[[Sequence[ast.expr | None]], Sequence[ast.expr | None]]) -> Callable[[hasDOTkeys], hasDOTkeys]:
|
|
306
306
|
|
|
307
307
|
def workhorse(node: hasDOTkeys) -> hasDOTkeys:
|
|
308
308
|
node.keys = action(node.keys) # pyright: ignore[reportArgumentType, reportAttributeAccessIssue]
|
|
@@ -310,10 +310,10 @@ class Grab:
|
|
|
310
310
|
return workhorse
|
|
311
311
|
|
|
312
312
|
@staticmethod
|
|
313
|
-
def keywordsAttribute(action: Callable[[
|
|
313
|
+
def keywordsAttribute(action: Callable[[Sequence[ast.keyword]], Sequence[ast.keyword]]) -> Callable[[hasDOTkeywords], hasDOTkeywords]:
|
|
314
314
|
|
|
315
315
|
def workhorse(node: hasDOTkeywords) -> hasDOTkeywords:
|
|
316
|
-
node.keywords = action(node.keywords)
|
|
316
|
+
node.keywords = action(node.keywords) # pyright: ignore[reportArgumentType, reportAttributeAccessIssue]
|
|
317
317
|
return node
|
|
318
318
|
return workhorse
|
|
319
319
|
|
|
@@ -326,10 +326,10 @@ class Grab:
|
|
|
326
326
|
return workhorse
|
|
327
327
|
|
|
328
328
|
@staticmethod
|
|
329
|
-
def kw_defaultsAttribute(action: Callable[[
|
|
329
|
+
def kw_defaultsAttribute(action: Callable[[Sequence[ast.expr | None]], Sequence[ast.expr | None]]) -> Callable[[hasDOTkw_defaults], hasDOTkw_defaults]:
|
|
330
330
|
|
|
331
331
|
def workhorse(node: hasDOTkw_defaults) -> hasDOTkw_defaults:
|
|
332
|
-
node.kw_defaults = action(node.kw_defaults)
|
|
332
|
+
node.kw_defaults = action(node.kw_defaults) # pyright: ignore[reportArgumentType, reportAttributeAccessIssue]
|
|
333
333
|
return node
|
|
334
334
|
return workhorse
|
|
335
335
|
|
|
@@ -350,10 +350,10 @@ class Grab:
|
|
|
350
350
|
return workhorse
|
|
351
351
|
|
|
352
352
|
@staticmethod
|
|
353
|
-
def kwd_patternsAttribute(action: Callable[[
|
|
353
|
+
def kwd_patternsAttribute(action: Callable[[Sequence[ast.pattern]], Sequence[ast.pattern]]) -> Callable[[hasDOTkwd_patterns], hasDOTkwd_patterns]:
|
|
354
354
|
|
|
355
355
|
def workhorse(node: hasDOTkwd_patterns) -> hasDOTkwd_patterns:
|
|
356
|
-
node.kwd_patterns = action(node.kwd_patterns)
|
|
356
|
+
node.kwd_patterns = action(node.kwd_patterns) # pyright: ignore[reportArgumentType, reportAttributeAccessIssue]
|
|
357
357
|
return node
|
|
358
358
|
return workhorse
|
|
359
359
|
|
|
@@ -446,10 +446,10 @@ class Grab:
|
|
|
446
446
|
return workhorse
|
|
447
447
|
|
|
448
448
|
@staticmethod
|
|
449
|
-
def opsAttribute(action: Callable[[
|
|
449
|
+
def opsAttribute(action: Callable[[Sequence[ast.cmpop]], Sequence[ast.cmpop]]) -> Callable[[hasDOTops], hasDOTops]:
|
|
450
450
|
|
|
451
451
|
def workhorse(node: hasDOTops) -> hasDOTops:
|
|
452
|
-
node.ops = action(node.ops)
|
|
452
|
+
node.ops = action(node.ops) # pyright: ignore[reportArgumentType, reportAttributeAccessIssue]
|
|
453
453
|
return node
|
|
454
454
|
return workhorse
|
|
455
455
|
|
|
@@ -462,7 +462,7 @@ class Grab:
|
|
|
462
462
|
return workhorse
|
|
463
463
|
|
|
464
464
|
@staticmethod
|
|
465
|
-
def orelseAttribute(action: Callable[[ast.expr], ast.expr] | Callable[[
|
|
465
|
+
def orelseAttribute(action: Callable[[ast.expr], ast.expr] | Callable[[Sequence[ast.stmt]], Sequence[ast.stmt]]) -> Callable[[hasDOTorelse], hasDOTorelse]:
|
|
466
466
|
|
|
467
467
|
def workhorse(node: hasDOTorelse) -> hasDOTorelse:
|
|
468
468
|
node.orelse = action(node.orelse) # pyright: ignore[reportArgumentType, reportAttributeAccessIssue]
|
|
@@ -478,10 +478,10 @@ class Grab:
|
|
|
478
478
|
return workhorse
|
|
479
479
|
|
|
480
480
|
@staticmethod
|
|
481
|
-
def patternsAttribute(action: Callable[[
|
|
481
|
+
def patternsAttribute(action: Callable[[Sequence[ast.pattern]], Sequence[ast.pattern]]) -> Callable[[hasDOTpatterns], hasDOTpatterns]:
|
|
482
482
|
|
|
483
483
|
def workhorse(node: hasDOTpatterns) -> hasDOTpatterns:
|
|
484
|
-
node.patterns = action(node.patterns)
|
|
484
|
+
node.patterns = action(node.patterns) # pyright: ignore[reportArgumentType, reportAttributeAccessIssue]
|
|
485
485
|
return node
|
|
486
486
|
return workhorse
|
|
487
487
|
|
|
@@ -566,10 +566,10 @@ class Grab:
|
|
|
566
566
|
return workhorse
|
|
567
567
|
|
|
568
568
|
@staticmethod
|
|
569
|
-
def targetsAttribute(action: Callable[[
|
|
569
|
+
def targetsAttribute(action: Callable[[Sequence[ast.expr]], Sequence[ast.expr]]) -> Callable[[hasDOTtargets], hasDOTtargets]:
|
|
570
570
|
|
|
571
571
|
def workhorse(node: hasDOTtargets) -> hasDOTtargets:
|
|
572
|
-
node.targets = action(node.targets)
|
|
572
|
+
node.targets = action(node.targets) # pyright: ignore[reportArgumentType, reportAttributeAccessIssue]
|
|
573
573
|
return node
|
|
574
574
|
return workhorse
|
|
575
575
|
|
|
@@ -606,10 +606,10 @@ class Grab:
|
|
|
606
606
|
return workhorse
|
|
607
607
|
|
|
608
608
|
@staticmethod
|
|
609
|
-
def type_paramsAttribute(action: Callable[[
|
|
609
|
+
def type_paramsAttribute(action: Callable[[Sequence[ast.type_param]], Sequence[ast.type_param]]) -> Callable[[hasDOTtype_params], hasDOTtype_params]:
|
|
610
610
|
|
|
611
611
|
def workhorse(node: hasDOTtype_params) -> hasDOTtype_params:
|
|
612
|
-
node.type_params = action(node.type_params)
|
|
612
|
+
node.type_params = action(node.type_params) # pyright: ignore[reportArgumentType, reportAttributeAccessIssue]
|
|
613
613
|
return node
|
|
614
614
|
return workhorse
|
|
615
615
|
|
|
@@ -630,10 +630,10 @@ class Grab:
|
|
|
630
630
|
return workhorse
|
|
631
631
|
|
|
632
632
|
@staticmethod
|
|
633
|
-
def valuesAttribute(action: Callable[[
|
|
633
|
+
def valuesAttribute(action: Callable[[Sequence[ast.expr]], Sequence[ast.expr]]) -> Callable[[hasDOTvalues], hasDOTvalues]:
|
|
634
634
|
|
|
635
635
|
def workhorse(node: hasDOTvalues) -> hasDOTvalues:
|
|
636
|
-
node.values = action(node.values)
|
|
636
|
+
node.values = action(node.values) # pyright: ignore[reportArgumentType, reportAttributeAccessIssue]
|
|
637
637
|
return node
|
|
638
638
|
return workhorse
|
|
639
639
|
|