Charlie Marsh
1895011ac2
Document some attributes on the semantic model ( #5064 )
2023-06-13 20:45:24 +00:00
Charlie Marsh
364bd82aee
Don't treat annotations as resolved in forward references ( #5060 )
...
## Summary
This behavior dates back to a Pyflakes commit (5fc37cbd), which was used
to allow this test to pass:
```py
from __future__ import annotations
T: object
def f(t: T): pass
def g(t: 'T'): pass
```
But, I think this is an error. Mypy and Pyright don't accept it -- you
can only use variables as type annotations if they're type aliases
(i.e., annotated with `TypeAlias`), in which case, there has to be an
assignment on the right-hand side (see: [PEP
613](https://peps.python.org/pep-0613/ )).
2023-06-13 14:47:29 -04:00
Charlie Marsh
19f972a305
Use Scope#has
in lieu of Scope#get
( #5051 )
...
## Summary
These usages don't actually need the `BindingId`.
2023-06-13 15:59:53 +00:00
Charlie Marsh
68b6d30c46
Use consistent Cargo.toml
metadata in all crates ( #5015 )
2023-06-12 00:02:40 +00:00
Charlie Marsh
e86f12a1ec
Rename some methods on SemanticModel
( #4990 )
2023-06-09 19:36:59 +00:00
Charlie Marsh
5c502a3320
Add documentation for BindingKind
variants ( #4989 )
2023-06-09 18:32:50 +00:00
Davide Canton
63fdcea29e
Handled dict and set inside f-string ( #4249 ) ( #4563 )
2023-06-09 04:53:13 +00:00
Micha Reiser
39a1f3980f
Upgrade RustPython ( #4900 )
2023-06-08 05:53:14 +00:00
Charlie Marsh
ae75b303f0
Avoid attributing runtime references to module-level imports ( #4942 )
2023-06-07 21:56:03 +00:00
Charlie Marsh
780d153ae8
Replace one-off locals property with ScopeFlags
( #4912 )
2023-06-06 21:22:21 -04:00
Charlie Marsh
8c048b463c
Track symbol deletions separately from bindings ( #4888 )
2023-06-06 18:49:36 +00:00
Charlie Marsh
7b0fb1a3b4
Respect noqa directives on ImportFrom
parents for type-checking rules ( #4889 )
2023-06-06 02:37:07 +00:00
Charlie Marsh
8938b2d555
Use qualified_name
terminology in more structs for consistency ( #4873 )
2023-06-05 19:06:48 +00:00
Charlie Marsh
d31eb87877
Extract shared simple AST node inference utility ( #4871 )
2023-06-05 18:23:37 +00:00
Charlie Marsh
a0721912a4
Invert structure of Scope#shadowed_bindings ( #4855 )
2023-06-05 02:03:21 +00:00
Charlie Marsh
466719247b
Invert parent-shadowed bindings map ( #4847 )
2023-06-04 00:18:46 -04:00
Charlie Marsh
3fa4440d87
Modify semantic model API to push bindings upon creation ( #4846 )
2023-06-04 02:28:25 +00:00
Charlie Marsh
c14896b42c
Move Binding
initialization into SemanticModel
( #4819 )
2023-06-03 15:26:55 -04:00
Charlie Marsh
935094c2ff
Move import-name matching into methods on BindingKind
( #4818 )
2023-06-03 15:01:27 -04:00
Charlie Marsh
26b1dd0ca2
Remove name
field from import binding kinds ( #4817 )
2023-06-02 23:02:47 -04:00
Charlie Marsh
211d8e170d
Ignore error calls with exc_info
in TRY400 ( #4797 )
2023-06-02 04:59:45 +00:00
Charlie Marsh
ea3cbcc362
Avoid enforcing native-literals rule within nested f-strings ( #4488 )
2023-06-02 04:00:31 +00:00
qdegraaf
fcbf5c3fae
Add PYI034 for flake8-pyi
plugin ( #4764 )
2023-06-02 02:15:57 +00:00
Jonathan Plasse
edadd7814f
Add pyflakes.extend-generics
setting ( #4677 )
2023-06-01 22:19:37 +00:00
Charlie Marsh
ea31229be0
Track TYPE_CHECKING
blocks in Importer
( #4593 )
2023-05-30 16:18:10 +00:00
Charlie Marsh
80fa3f2bfa
Add a convenience method to check if a name is bound ( #4718 )
2023-05-30 01:52:41 +00:00
Aarni Koskela
0106bce02f
[flake8-future-annotations
] Implement FA102
( #4702 )
2023-05-29 22:41:45 +00:00
Charlie Marsh
9741f788c7
Remove globals table from Scope
( #4686 )
2023-05-27 22:35:20 -04:00
Charlie Marsh
af433ac14d
Avoid using typing-imported symbols for runtime edits ( #4649 )
2023-05-26 20:36:37 -04:00
qdegraaf
ccca11839a
Allow more immutable funcs for RUF009 ( #4660 )
2023-05-26 15:18:52 -04:00
Charlie Marsh
0f610f2cf7
Remove dedicated ScopeKind structs in favor of AST nodes ( #4648 )
2023-05-25 19:31:02 +00:00
Charlie Marsh
f0e173d9fd
Use BindingId
copies in lieu of &BindingId
in semantic model methods ( #4633 )
2023-05-24 15:55:45 +00:00
Charlie Marsh
fcdc7bdd33
Remove separate ReferenceContext
enum ( #4631 )
2023-05-24 15:12:38 +00:00
Charlie Marsh
5cedf0f724
Remove ReferenceContext::Synthetic
( #4612 )
2023-05-24 14:30:35 +00:00
Charlie Marsh
8961d8eb6f
Track all read references in semantic model ( #4610 )
2023-05-24 14:14:27 +00:00
Charlie Marsh
ba4c0a21fa
Rename ContextFlags
to SemanticModelFlags
( #4611 )
2023-05-23 17:47:07 -04:00
Micha Reiser
652c644c2a
Introduce ruff_index
crate ( #4597 )
2023-05-23 17:40:35 +02:00
Charlie Marsh
74effb40b9
Rename index
to binding_id
in a few iterators ( #4594 )
2023-05-23 03:56:00 +00:00
Micha Reiser
daadd24bde
Include decorators in Function
and Class
definition ranges ( #4467 )
2023-05-22 17:50:42 +02:00
Micha Reiser
cbe344f4d5
Rename Checker::model
to semantic_model
( #4573 )
2023-05-22 15:14:30 +02:00
Charlie Marsh
d70f899f71
Use SemanticModel
in lieu of Checker
in more methods ( #4568 )
2023-05-22 02:58:47 +00:00
Charlie Marsh
19c4b7bee6
Rename ruff_python_semantic's Context
struct to SemanticModel
( #4565 )
2023-05-22 02:35:03 +00:00
Charlie Marsh
fe7f2e2e4d
Move submodule alias resolution into Context
( #4543 )
2023-05-20 16:34:10 +00:00
Charlie Marsh
6aa9900c03
Improve handling of __qualname__
, __module__
, and __class__
( #4512 )
2023-05-20 03:03:45 +00:00
Charlie Marsh
9e21414294
Improve reference resolution for deferred-annotations-within-classes ( #4509 )
2023-05-20 02:54:18 +00:00
Charlie Marsh
bb4e674415
Move reference-resolution into Context ( #4510 )
2023-05-20 02:47:15 +00:00
Charlie Marsh
73efbeb581
Invert quote-style when generating code within f-strings ( #4487 )
2023-05-18 14:33:33 +00:00
Micha Reiser
fa26860296
Refactor range from Attributed
to Node
s ( #4422 )
2023-05-16 06:36:32 +00:00
Charlie Marsh
2414469ac3
Enable automatic rewrites of typing.Deque
and typing.DefaultDict
( #4420 )
2023-05-15 22:33:24 +00:00
Tyler Yep
01b372a75c
Implement flake8-future-annotations
FA100 ( #3979 )
2023-05-14 03:00:06 +00:00