Mikhail Golubev
1d3eda1e2d
PY-22094 Include assert statements in CFG to resolve names in f-strings inside
...
Otherwise it's impossible to flow-sensitively resolve names referenced
inside such f-strings since we use the containing statement as the anchor
node in the graph.
2017-03-28 16:44:21 +02:00
Semyon Proshev
05b085e461
PY-21897 Fixed: Wrong type inference with None and conditionals
...
Don't think that `else` after `if <reference>` means `<reference> is None`
2017-01-16 18:52:23 +03:00
Semyon Proshev
a9ecefe927
PY-21474 Fixed: Type checking confused by None default argument
...
PyTypeAssertionEvaluator: Mark reference which is used as condition in PyConditionalExpression as non-None
2016-11-25 19:10:02 +03:00
Mikhail Golubev
8d8c3fb930
PY-20864 Python control flow builder considers variable annotations
2016-09-26 09:09:23 +03:00
Andrey Vlasovskikh
58f85ba28d
Fixed 'isinstance' analysis for expressions that are resolved to tuples (PY-7573)
2013-09-18 19:53:04 +04:00
Andrey Vlasovskikh
83a912ad84
Added negative type assertions for 'else' and continue after 'if' then exit (PY-5084, PY-7694, PY-9118)
2013-04-22 17:56:52 +04:00
Andrey Vlasovskikh
451e92581d
Fixed false positive in unbound vars inspection for assert False with argument (PY-7784)
2013-01-25 16:59:55 +04:00
Andrey Vlasovskikh
12d21d8ecf
Fixed out-of-order for-loop body instruction in Python CFG
2012-05-17 17:57:44 +04:00
Andrey Vlasovskikh
4c1eec6846
Fixed false positive in unreachable code inspection for while-else loops (PY-6159)
2012-04-02 22:03:35 +04:00
Dmitry Jemerov
482d66ad8d
visit type annotations in control flow builder
2012-01-16 18:44:54 +01:00
Dmitry Jemerov
e57db64949
to make sure CFG for bad code is built correctly, visit raw targets of assignment
2012-01-16 18:39:20 +01:00
Dmitry Jemerov
85257c075a
include reads of decorators in control flow graph
2012-01-16 18:21:30 +01:00
Dmitry Jemerov
ef6c5862f7
include read of lambda default parameter value in control flow graph
2012-01-16 17:33:47 +01:00
Dmitry Jemerov
43b6357fa4
include read of function default parameter value in control flow graph
2012-01-16 17:23:59 +01:00
Dmitry Jemerov
60d7a4e5e9
include read of superclass expression in control flow graph
2012-01-16 17:11:01 +01:00
Andrey Vlasovskikh
783c421a55
Fixed loop-exit CFG edges in for-else loops (PY-4239)
2011-11-14 18:26:51 +04:00
Andrey Vlasovskikh
68d5c3a1f1
Don't count type assertion CFG vertices in DFA (PY-4609)
...
Also renamed WRITETYPE vertices to ASSERTTYPE for clarity.
2011-11-14 16:55:44 +04:00
Andrey Vlasovskikh
a6b4168a55
Removed unused 'self' attributes access vertices from CFG and cleaned up unbound varirables inspection (PY-4623)
2011-11-14 16:17:12 +04:00
Andrey Vlasovskikh
2c8a328e78
Added support for not isinstance and not None type assertions (PY-2140)
2011-09-02 13:11:08 +04:00
Andrey Vlasovskikh
5c4c311642
Updated Python CFG builder tests related to try-finally statements
2011-07-18 16:29:23 +04:00
Andrey Vlasovskikh
1cf4b1d876
Separated success and failure control flow for finally clause if no except clauses found (PY-4102)
2011-07-08 22:44:50 +04:00
Andrey Vlasovskikh
a5e38c84e0
Refactored Python try-except CFG builder
2011-07-08 22:44:49 +04:00
Dmitry Jemerov
4bec759ac9
let's not have Ruby code in Python control flow builder testdata
2011-07-01 16:16:53 +02:00
Andrey Vlasovskikh
5cd4809c1a
Fixed bug in CFG for qualified imports (PY-3665)
2011-05-25 16:51:33 +04:00
Andrey Vlasovskikh
3a4a00b90c
Special warnings for unresolved references in try-except ImportError (PY-3639)
2011-05-24 19:33:35 +04:00
Andrey Vlasovskikh
d6ab1ad0b5
Lambda expressions became ScopeOwners and got their own CFG (PY-3532)
2011-05-16 18:47:24 +04:00
Andrey Vlasovskikh
24c1a13db0
Fixed bug in control flow ordering for named function arguments
2011-05-16 18:47:22 +04:00
Andrey Vlasovskikh
566d20977d
Fixed control flow break edges for try-except-finally (PY-3503)
2011-05-13 20:50:25 +04:00
Andrey Vlasovskikh
99941e03ff
Fixed bugs in control flow for Python list comprehensions (PY-2574)
2011-04-25 17:06:10 +04:00
Dmitry Trofimov
67bcf88cbd
Revert "Revert "Merge branch 'master' of git.labs.intellij.net:idea/ultimate""
...
This reverts commit 3a2ad1f6c248ce02e860be14b796981de7ccfeee.
2011-02-04 17:17:18 +03:00
Dmitry Trofimov
819731653c
Revert "Merge branch 'master' of git.labs.intellij.net:idea/ultimate"
...
This reverts commit 8c63477c4990c0667109c41ec0db1336ef689d68, reversing
changes made to 3478dde5d0c91ad1cce33478d005748849dcb85f.
2011-02-04 15:29:58 +03:00
Oleg Shpynov
915f1693f8
PY-2783 Assignment incorrectly highlighted as unused. Better fix
2011-02-02 18:35:42 +03:00
Oleg Shpynov
656e1c3085
PY-2783 Assignment incorrectly highlighted as unused
2011-02-02 18:35:39 +03:00
Oleg Shpynov
90acfce3c5
Tests for Den's change of control flow building (processing self.reference assignments as write access)
2010-10-01 15:27:48 +04:00
Oleg Shpynov
3ba7d3971c
PY-1430 Recognize that 'assert False' breaks control flow
2010-07-27 14:45:25 +04:00
Oleg Shpynov
85b85b200c
PY-1209 Unused local variable inspection doesn't handle name conflicts correctly
2010-07-14 17:35:28 +04:00
Oleg Shpynov
2dbae7c34b
PY-1244 "Unreachable code" false positive with try/except/else/finally
2010-07-09 16:33:51 +04:00
Oleg Shpynov
e476a0721d
PY-1243 "Unreachable code" false positive with try/finally and raised exception
2010-07-09 16:07:36 +04:00
Oleg Shpynov
b054fe7675
PY-1192 "Unused local variable" false positive with try/finally
2010-07-08 19:09:02 +04:00
Dmitry Jemerov
b34b16f62f
fix building control flow for assertions (PY-1138)
2010-06-24 18:49:20 +04:00
Dmitry Trofimov
d06db6f654
added assert case for isinstance type flow (PY-845)
2010-06-15 15:12:43 +04:00
Dmitry Trofimov
5cb9e92111
-added isinstance type inderence(PY-1075)
...
-added correct completion to django model fields(PY-1076)
-fixed bugs in django fixture test cases
2010-06-11 18:12:19 +04:00
Oleg Shpynov
12be507873
PY-992 Cannot perform refactoring when execution flow is interrupted
2010-05-24 19:08:52 +04:00
Oleg Shpynov
d565fdf47c
PY-909 False positive of "Local variable referenced before assignment" after raise
2010-04-30 18:59:28 +04:00
Dmitry Jemerov
fd46373bb2
handle qualified refs in control flow builder
2010-04-28 20:53:39 +04:00
Oleg Shpynov
ffe03c7a10
PY-863 Incorrect error about value being referenced before assignment
2010-04-21 19:33:13 +04:00
Oleg Shpynov
c45a1106e8
PY-793 Control flow builder should know about exit() function and consider it a dead end
2010-04-05 12:24:48 +04:00
Oleg Shpynov
0245d88759
Py CF improvements: handle except parts more accurately
2010-03-15 12:57:36 +03:00
Oleg Shpynov
c304205623
Fixes in CF - unbound lv inspection false positives
2010-03-12 14:08:48 +03:00
Oleg Shpynov
93d0d01bde
Fixes PSI
2010-03-11 18:54:38 +03:00