Commit Graph
355 Commits
Author SHA1 Message Date
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