Commit Graph
83 Commits
Author SHA1 Message Date
Andrey Vlasovskikh b37b0440d0 PY-11932 Put nulls for unresolved class types in MRO
Some of the ancestor class-like types may be unresolved. The best we
can do is to put nulls for all the unresolved classes to appropriate
places inside the MRO chain. What we used to do in this case it return
the empty sequence of the ancestors.
2014-12-22 14:05:31 +03:00
Mikhail Golubev 99f4933e70 PY-9209 Insert a space after '#' sign when using smart enter in comment 2014-11-18 01:28:45 +03:00
Mikhail Golubev 5de0b14903 PY-12877 Fix complains found during review (IDEA-CR-397) 2014-09-08 12:47:15 +04:00
Mikhail Golubev 2851b82675 PY-12877 Add test for the case when no expression given in 'with' header 2014-08-05 13:03:29 +04:00
Mikhail Golubev 3089c9cb09 PY-12877 Complete statement doesn't insert colon for 'with' statement 2014-07-22 16:30:53 +04: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 196b3ce9b2 Fixed getting superclass from 'six.with_metaclass()' call 2013-09-16 21:32:48 +04:00
Ekaterina Tuzova c022f2520f added failing test for with_metaclass 2013-09-16 16:01:27 +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 2eab025659 Added test for MRO in complicated diamond hierarchy (PY-4183) 2013-04-18 21:29:49 +04:00
Andrey Vlasovskikh d6972abf2a Fixed several bugs in new-style MRO algorithm 2013-04-18 21:03:50 +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 bd42933bd2 Fixed extract method for fragments with nonlocal variables (PY-6625) 2012-05-23 20:22:38 +04:00
Andrey Vlasovskikh 16448bef80 Don't mark global symbols as inputs of code fragment (PY-6616) 2012-05-22 15:38:36 +04:00
Andrey Vlasovskikh 51ca6d51a1 Rewritten Python code fragment extraction based on CFG (PY-4156, PY-6414) 2012-05-21 18:21:38 +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
Ekaterina Tuzova c0b2b413f7 fixed PY-5029 Editable auto stub string 2011-11-22 13:34:30 +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
Ekaterina Tuzova 42ea17e44b added empty line to comment generation 2011-04-15 12:29:22 +04:00
Ekaterina Tuzova 8432376a49 added tests for generating docstrings in python 2011-04-15 12:17:30 +04:00
Dmitry Jemerov 384a20364b smart enter shouldn't insert parentheses into decorator calls (PY-3209) 2011-03-31 21:49:54 +02: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 c13622a53a PY-2102 Extract method fails 2010-10-12 16:12:01 +04: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 9cf765c24d PY-1842 Extract method within while breaks content and generates endless loop 2010-09-15 18:57:54 +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