Ilya.Kazakevich
4bac3ed35e
test fix: PyTypeParser is used instead of index search
...
You should never use index search in you have FQN of class or skeleton may be found. Use PyTypeParser instead
2015-10-03 02:29:52 +03:00
Andrey Vlasovskikh
ab836cdf4a
Added a TODO item about further API changes
2015-09-30 17:41:11 +03:00
Mikhail Golubev
6d3d0a4be2
PY-16771 Never return null as description in section based docstrings
2015-09-25 15:38:34 +03:00
Mikhail Golubev
552e73b80f
PY-16987 Google and Numpy docstrings return null as parameter type if it wasn't specified in the docstring
...
Previously their parsers returned empty string in this case, and it
wasn't possible to easily tell whether parameter is omitted from the
docstring completely or it's just its type wasn't written.
2015-09-22 18:44:08 +03:00
Mikhail Golubev
956587f1d3
Merge branch 'east825/google-code-style-docstrings'
...
Conflicts:
python/src/com/jetbrains/python/documentation/PyDocumentationBuilder.java
python/src/com/jetbrains/python/documentation/PythonDocumentationProvider.java
python/src/com/jetbrains/python/psi/impl/PyFunctionBuilder.java
python/testData/quickdoc/NumPyOnesDoc.html
2015-09-15 16:13:22 +03:00
Andrey Vlasovskikh
60953cdad3
Compatibility inspection for star unpacking
2015-09-14 15:12:54 +03:00
Andrey Vlasovskikh
045532ee74
Allow PEP 448 **expr syntax in dict literals
2015-09-14 13:48:16 +03:00
Andrey Vlasovskikh
af612206f8
Merge branch 'vlan/async-await'
2015-09-14 11:58:35 +03:00
Andrey Vlasovskikh
2c11893112
Code completion and highlighting for special methods related to async-await (PY-16094)
2015-09-14 11:51:36 +03:00
Andrey Vlasovskikh
538263246a
Type inference for async functions and 'await' expressions (PY-16094)
...
We had to make PyCollectionType look more like a parameterized type
where you can specify several type parameters and they don't look like
a single tuple parameter. Also we had to get rid of several (but not all
yet) places where we made an implicit assumption that when you were
interating over a PyCollectionType you could just yield its element
type.
2015-09-12 13:59:48 +03:00
Andrey Vlasovskikh
5e8fc8c3b4
Merge branch 'vlan/pyi'
2015-09-09 11:46:04 +03:00
Andrey Vlasovskikh
c8a8585c36
Code completion for 'async' and 'await' (PY-16094)
2015-09-08 14:22:17 +03:00
Andrey Vlasovskikh
c855959143
Parse and highlight the 'await' keyword (PY-16094)
2015-09-08 14:21:52 +03:00
Andrey Vlasovskikh
d616d70c50
Parse and highlight the 'async' keyword (PY-16094)
...
We had to switch to stack-based parsing contexts in order to be able
to use context-sensitive token filtering for 'async'.
Also this commit fixes the highlighting annotator issue with blinking
names of the functions and blinking 'async'.
2015-09-06 20:04:50 +03:00
Ilya.Kazakevich
8eed6b44ca
PY-16063 Fixes according to review:
...
* Using ancestor types to prevent SO
* Contexts are passed
2015-09-03 22:21:42 +03:00
Ilya.Kazakevich
f3b86e22c0
PY-16063 Use type info instead of direct class access to support methods from class-like types.
2015-09-02 23:31:25 +03:00
Mikhail Golubev
d234cafc38
Quickfix that adds missing parameters in BDD step definitions inserts types in docstring
...
Finally removed method StructuredDocString#createParameterType.
2015-09-02 20:38:31 +03:00
Mikhail Golubev
a12ccf7aea
Annotate all method of StructuredDocString that return collections as @NotNull
...
PlainDocString returns empty lists for each of them.
2015-09-02 20:07:26 +03:00
Mikhail Golubev
e7767c4d6e
PY-9795 Use DocStringUpdater API to remove parameters from docstring in DocstringQuickfix and other places
2015-09-02 14:35:23 +03:00
Mikhail Golubev
973dca8315
PY-9795, PY-4717 Full-featured support of Google Code Style and Numpy docstring updates
2015-09-02 14:35:15 +03:00
Mikhail Golubev
e523ee91e4
Mostly finished updaters of Google Code Style and Numpy docstrings
...
This is probably the most tedious part of the whole process.
2015-09-02 14:35:14 +03:00
Mikhail Golubev
ab4ca84665
PY-9795, PY-4717 Intention "Specify type ..." works for missing docstrings in Google and Numpy formats
2015-09-02 14:35:12 +03:00
Mikhail Golubev
7c526bfd97
Add method isDocString in PyStringLiteralExpression
2015-09-02 14:34:54 +03:00
Mikhail Golubev
7c46c74e19
Support updates of tag bases docstrings. All existing tests pass
2015-09-02 14:34:47 +03:00
Mikhail Golubev
0af842d11e
Almost finished migration to DocStringBuilder
2015-09-02 14:34:43 +03:00
Mikhail Golubev
710c84c566
Half-done huge refactoring aimed to unify support of various types of docstrings
...
* Introduce new entities: DocStringBuilder, DocStringProvider and DocStringUpdater
* StructuredDocString serves only as dumb parser and operates only on
the level of Substrings to preserve offsets
2015-09-02 14:34:41 +03:00
Mikhail Golubev
a247efdd5c
Reparse docstring and use parameter type substring for live template placeholder
...
Also I removed redundant methods from Substring and slightly improved
regexes used for parsing EpyDoc and Shpinx docstrings.
2015-09-02 14:34:40 +03:00
Mikhail Golubev
1cf7fccf61
PY-9795 Add implementations of missing methods from StructuredDocString interface
2015-09-02 14:34:11 +03:00
Mikhail Golubev
c9253985cc
Push down tag-related methods from StructuredDocString to StructuredDocStringBase
2015-09-02 14:34:05 +03:00
Mikhail Golubev
31c4fe5a6b
PY-9795 Strip leading indent from description of a field
2015-09-02 14:34:03 +03:00
Mikhail Golubev
6b87c7c1f8
PY-9795 Add method contains in Substring, its indexOf always returns -1 if substring wasn't found
2015-09-02 14:33:58 +03:00
Mikhail Golubev
f362f0e6a2
PY-9795 First version of parsing of section-based docstrings
2015-09-02 14:33:52 +03:00
Mikhail Golubev
b9ed603e75
PY-9795 Rearrange and group related methods in StructuredDocString interface
2015-09-02 14:33:50 +03:00
Andrey Vlasovskikh
a33c083a43
Cleanup
2015-08-24 16:08:48 +03:00
Andrey Vlasovskikh
7b3c6d7111
Removed unused old implementation of arguments to parameters mapping
2015-08-24 16:02:57 +03:00
Andrey Vlasovskikh
e70c3a6fd2
Restored functionality related to mapping arguments to nested Python 2 parameters
2015-08-24 15:56:06 +03:00
Andrey Vlasovskikh
f153504bce
PyParameterInfoHandler uses PyCallExpression.mapArguments() instead of CallArgumentsMapping
...
Switched everything in PyParameterInfoHandler but Python 2 tuple
parameters handling: 4 tests are still failing.
2015-08-21 20:21:26 +03:00
Andrey Vlasovskikh
313213c2d3
Find unmapped parameters using the new PyCallExpressionHelper.mapArguments() implementation
2015-08-19 20:10:29 +03:00
Andrey Vlasovskikh
08148e87d7
Changed the API for arguments-paramters mapping to PyCallExpression.mapArguments()
...
Moved CallArgumentsMappingImpl to PyCallExpressionHelper.mapArguments()
and switched from returning a map of mapped parameters to a class that
will contain more info about mappings.
2015-08-19 16:57:50 +03:00
Ilya.Kazakevich
ced2d249ad
PY-16643: "getInheritedAttributes" added
2015-08-11 22:00:32 +03:00
Ilya.Kazakevich
cdd3e05d9f
PY-16643: Context added to "visitClassAttributes"
2015-08-11 21:35:22 +03:00
Ilya.Kazakevich
f7bfe85f23
PY-3999 PY-8207 PY-7309
...
PyClass ancestors are now cached in smart way using type eval context as key
2015-08-07 21:31:35 +03:00
Ilya.Kazakevich
c706570991
PY-3999 PY-8207 PY-7309
...
Class hierarchy refactored to support context
2015-08-07 17:30:38 +03:00
Ilya.Kazakevich
98d68d6908
PY-3999 PY-8207 PY-7309
...
Class hierarchy refactored to support context
2015-08-06 20:35:44 +03:00
Ilya.Kazakevich
5d115d4b22
Skipping ""Access to a protected member" for "_meta" for PY-16477
2015-07-23 18:55:30 +03:00
Mikhail Golubev
2bb517d365
Several improvements in Python PSI API related to imports
...
* Pull PyFileImpl#findExportedName up to PyFile interface
* PyFromImportStatement#resolveImportSource returns PsiFileSystemItem
2015-07-13 22:00:22 +03:00
Mikhail Golubev
51bd7a6e97
Methods to find significant leaf elements in PyPsiUtil have consistent names
2015-07-03 14:37:00 +03:00
Mikhail Golubev
0b5dd584ea
Make non-strict behavior of getNextNonCommentSibling more clear by adding corresponding parameter
2015-07-03 14:37:00 +03:00
Mikhail Golubev
c47233a435
Move several related methods for navigating PSI and AST trees from PyUtil to PyPsiUtil
2015-07-03 14:36:59 +03:00
Ilya.Kazakevich
0c0fbded1e
Merge branch 'PY-3999'
2015-06-26 19:44:12 +03:00