Commit Graph
199306 Commits
Author SHA1 Message Date
peter 7dd802ccd2 disable "create switch" intention on red code
which otherwise would lead to exceptions in the intention
2017-07-20 09:58:25 +02:00
peter cef42c6e97 Revert: do not wait under read action to reduce latency
because deadlock
2017-07-20 09:58:24 +02:00
peter 31485c0104 earlier cancellability in goto action 2017-07-20 09:58:23 +02:00
peter 3cb4bf0bf1 change template data language quick fix: no dialogs under write action 2017-07-20 09:58:22 +02:00
Julia Beliaeva fc860d8d45 [git] free output buffer if it gets too big 2017-07-20 08:35:08 +03:00
Julia Beliaeva 7a679a2839 [vcs-log] create application settings for log, move reference presentation settings there
IDEA-166083
2017-07-20 04:08:35 +03:00
Sergey Ignatov c6d0f60c11 goto action: fix message 2017-07-20 00:03:46 +03:00
Michael Golubev b288f02251 IDEA-173557: Docker: rename of account doesn't work from Docker view
- still not auto-refreshed (IDEA-170061), no notifications for that
- at least the behavior is now the same for Settings and Edit action
2017-07-19 20:44:46 +02:00
Michael Golubev 90831fab6b IDEA-175659: Docker: remove Debug items from menu/toolbar, step 1
- separated docker view vs remote servers toolbar(s) & popup
- should be no user-visible changes in any toolbar / popup
2017-07-19 19:56:48 +02:00
Bas Leijdekkers 92ce8b0628 IG: annotate 2017-07-19 19:48:52 +02:00
Sergey Simonchik 361dfe4bf1 Merge remote-tracking branch 'origin/master' 2017-07-19 20:37:15 +03:00
Sergey Simonchik e5df085e6b optimize imports (IDEA-CR-23078) 2017-07-19 20:34:57 +03:00
Maxim.Kolmakov c2b6f1c671 Allow to use custom LightProjectDescriptor
This is needed to have WebModuleType module in PHP tests.
2017-07-19 19:04:54 +02:00
Maxim.Mossienko 9a0a04451e io.t28.json2java v0.1.0-0.2.1 and QAPlug v1.3.8 - 1.3.12 were marked as incompatible (IDEA-175472) 2017-07-19 18:43:46 +02:00
Sergey Simonchik 6f2213163c suppress CompareFilesAction for all test frameworks (IDEA-CR-23078) 2017-07-19 19:38:40 +03:00
Mikhail Golubev ad89420209 PY-18816 Test that accessing annotation in type declarations doesn't cause unstubbing 2017-07-19 19:28:31 +03:00
Mikhail Golubev d009cf9d4f PY-18816 Squash stub version changes into a single increment 2017-07-19 19:28:31 +03:00
Mikhail Golubev d93fef967b PY-18816 Use PyResolveContext#noImplicits() instead of defaultContext()
where resolving of implicit attributes is actually not required.
Originally, defaultContext() was intended to be only for
"Navigate to Definition".
2017-07-19 19:28:31 +03:00
Mikhail Golubev db7524e353 PY-18816 Update stale comments in PyTypingTypeProvider 2017-07-19 19:28:31 +03:00
Mikhail Golubev 605c15509b PY-18816 Don't use unstubbed AST to get annotation value if it's not allowed by context
even by sacrificing a bit of performance to avoid possible stochastic
issues when resolve leads to different results depending on whether
a file was parsed or not.
2017-07-19 19:28:31 +03:00
Mikhail Golubev 1580b82b92 PY-18816 Simplify stream of stub-safe resolve of qualified names 2017-07-19 19:28:31 +03:00
Mikhail Golubev a84963397f PY-18816 Avoid creating code fragment for annotation if AST replaced stub already 2017-07-19 19:28:31 +03:00
Mikhail Golubev 09030f96ad PY-18816 Use actual AST instead for annotations if context allows it
This way we resolve type hints more precisely inside e.g. the file
actually opened in the editor, in particular, those referencing local
classes and type aliases.
2017-07-19 19:28:31 +03:00
Mikhail Golubev d2011f7147 PY-18816 Extract common algorithm for resolving symbols by their qualified names
Use it both to resolve base and metaclasses by their qualified names
saved in stubs in PyClassImpl and to process type annotations extracted
from stubs in PyTypingTypeProvider.
2017-07-19 19:28:31 +03:00
Mikhail Golubev 70e36261f5 PY-18816 Move createExpressionFromFragment() to PyUtil, add javadoc 2017-07-19 19:28:31 +03:00
Mikhail Golubev 5318b77f62 PY-18816 Rename *StubSafe methods into *StubLike and add javadoc to them 2017-07-19 19:28:31 +03:00
Mikhail Golubev 2cc6c4daf0 PY-18816 Resolve generic classes and type parameters using stubs 2017-07-19 19:28:31 +03:00
Mikhail Golubev 80fee7c7bb PY-18816 Store literal text of subscripted base classes in PyClassStub 2017-07-19 19:28:31 +03:00
Mikhail Golubev 0aa8039a3a PY-18816 Explicitly set appropriate TypeEvalContext in a number of places in code insight
instead of relying on PyResolveContext#defaultContext().

Now we can't assume that whenever we have a reference expression the
underlying file is already unstubbed and we don't need to take take into
account AST policy of the context.
2017-07-19 19:28:31 +03:00
Mikhail Golubev c0885880aa PY-18816 Acknowledge TypeEvalContext#maySwitchToAST in reference expressions resolve
Don't use getReference().multiResolve() blindly, because now there can
be reference expressions coming from expression fragments and their
presence doesn't mean that surrounding AST has been unstubbed already.
2017-07-19 19:28:31 +03:00
Mikhail Golubev ca6c7ce90f PY-18816 Rename PyAnnotationOwner#getAnnotationContent() to getAnnotationValue()
in order to be consistent with existing PyAnnotation#getValue() API.
2017-07-19 19:28:31 +03:00
Mikhail Golubev 1f48d16790 PY-18816 Add a test on unstubbing due to unresolved references in annotations 2017-07-19 19:28:31 +03:00
Mikhail Golubev 840769d43f PY-18816 Test that glued and long string literals are not saved in stubs 2017-07-19 19:28:31 +03:00
Mikhail Golubev f20ab38e84 PY-18816 Exclude qualified references from type aliases stubs
Since, otherwise, these custom stubs conflict with the standard
"initializer" field of PyTargetExpressionStub and, thus, break
resolve in stubbed files, e.g. when exported symbols are aliased in
"__init__.py" of a package, etc. The current workaround is not to
keep RHS text of such assignments in the custom stubs, relying
on existing functionality of PyTypingAliasStubType instead, but inspect
both when extracting type aliases from the stub tree.
2017-07-19 19:28:31 +03:00
Mikhail Golubev 807f2a7e03 PY-18816 Don't rely on presence of stubs if unstubbing is not allowed
Namely, if the stub tree was already replaced by AST, use it instead
but in a restricted manner as if these type aliases were taken from
stubs to prevent stochastic errors (like we do already in other places
in code insight).
2017-07-19 19:28:31 +03:00
Mikhail Golubev a701318d1b PY-18816 Store RHS text of assignments looking like type aliases in stubs 2017-07-19 19:28:31 +03:00
Mikhail Golubev 388ee93846 PY-18816 PyBuiltinCache#findSdkForNonModuleFile() handles code fragments
Otherwise, a few tests kept failing because it was impossible to find
the standard "tuple" class using an expression from an annotation
(like "Tuple[T1, T2]") in .pyi stub as the anchor.

Note that ModuleUtilCore#findModuleForPsiElement(), used in
PyBuiltinCache#findSdkForFile(), already does that internally.

Also, use the standard FileContextUtil.getContextFile() method from
the platform wherever possible in PyTypingTypeProvider.
2017-07-19 19:28:31 +03:00
Mikhail Golubev fa59ae276b PY-18816 Fix most of broken tests: support of type aliases and type vars
Handling of these assignments still leads to unstabbing at the
moment, though.
2017-07-19 19:28:31 +03:00
Mikhail Golubev 2388e12b9b PY-18816 Actually use type hints in stubs to get expression types 2017-07-19 19:28:31 +03:00
Mikhail Golubev 36e9721382 PY-18816 Extract assertType() methods in PyTestCase to remove duplication 2017-07-19 19:28:31 +03:00
Mikhail Golubev 7145542fc2 PY-18816 Add tests on that annotation content can be retrieved without unstabbing 2017-07-19 19:28:31 +03:00
Mikhail Golubev b2e337f689 PY-18816 Add dedicated fields for type annotations in suitable stubs 2017-07-19 19:28:31 +03:00
Bas Leijdekkers 3f8689912e IPP: fix join concatenation on invalid literals (IDEA-176140) 2017-07-19 18:23:24 +02:00
Bas Leijdekkers af9ac48d07 IPP: handle invalid/incomplete code better (IDEA-175928) 2017-07-19 18:23:24 +02:00
Bas Leijdekkers 7a68d6b6ca make field final 2017-07-19 18:23:24 +02:00
peter 9b9c62c17c let findClass work in dumb mode in package scope 2017-07-19 18:08:33 +02:00
peter a4db800551 handle project closing in ctrl+hover bg calculation (EA-104555) 2017-07-19 18:08:33 +02:00
Elizaveta Shashkova feb9466957 Add note about waitForResult usage (PY-23834) 2017-07-19 18:39:10 +03:00
Anna.Kozlova 9d3e5593eb allow junit tests in dumb mode for existing configuration 2017-07-19 17:33:10 +02:00
Roman Shevchenko a75ee5ad8c Cleanup (unified code for setting app icon in debug mode) 2017-07-19 17:29:25 +02:00