Dave Halter
c96994dd8d
Add a method extract test
2020-02-26 01:11:04 +01:00
Dave Halter
bb6f0d5e91
Fix extract: better input filtering
2020-02-26 00:59:04 +01:00
Dave Halter
bf9a3a4ca8
Rewrite an extract test to make them more diverse
2020-02-26 00:24:27 +01:00
Dave Halter
eef47e951e
One more function test
2020-02-26 00:21:46 +01:00
Dave Halter
17892556f8
Fix another comment extraction issue
2020-02-26 00:17:44 +01:00
Dave Halter
b65c1c26aa
Fix a function extract indentation issue
2020-02-25 23:52:23 +01:00
Dave Halter
bc3e1ada03
One more comment test for extract with range
2020-02-25 23:30:44 +01:00
Dave Halter
1f82efa86d
Fix a newline issue for refactoring functions
2020-02-25 23:27:21 +01:00
Dave Halter
94c00229f2
Make it possible to include comments for extract function
2020-02-25 23:25:50 +01:00
Dave Halter
5614ef2fed
Move all the extract stuff into a different file
2020-02-25 10:33:31 +01:00
Dave Halter
8ff5ca81d2
Make a package out of refactoring
2020-02-25 10:28:27 +01:00
Dave Halter
ff60c0af87
Docstrings
2020-02-25 10:27:36 +01:00
Dave Halter
89398e5c87
Deal a lot better with prefixes in range extractions
2020-02-25 10:23:38 +01:00
Dave Halter
f8d9f498d0
Get a first extract test mostly working
2020-02-24 10:12:38 +01:00
Peter Law
30738a092b
Update sith's module docstring to match the available operations
2020-02-24 01:33:46 +01:00
Dave Halter
f527138e6c
Extract: Fix param order for methods
2020-02-24 00:19:34 +01:00
Dave Halter
24a4c3ceba
Test closure extraction
2020-02-23 23:56:59 +01:00
Dave Halter
48e25c1b9b
Extract: Make sure params are not duplicated
2020-02-23 23:22:38 +01:00
Peter Law
f1a9e681ad
Ensure comprehensions and generator expressions work
2020-02-23 15:25:28 +00:00
Peter Law
f4cbf61604
Ensure variadic tuples (Tuple[T, ...]) behave like sequences
2020-02-23 14:00:39 +00:00
Peter Law
5e990d9206
Support passing through values for non-annotated tuples
2020-02-23 14:00:16 +00:00
Peter Law
80db4dcf56
Add test to ensure unions work
2020-02-23 14:00:16 +00:00
Peter Law
e557129121
Remove check which doesn't seem to be needed
...
I'm not sure why I added this, though removing it doesn't seem to
casue any issues. I suspect there might be some oddness if the type
being passed in doesn't match the type expected, though them having
the same number of generic paramters isn't an expecially great way
to validate that.
2020-02-23 14:00:16 +00:00
Peter Law
c15e0ef9b8
Ensure specialised types inheriting from generics work
2020-02-23 14:00:15 +00:00
Peter Law
e455709a31
Add test case for nested generic callables
2020-02-23 14:00:13 +00:00
Peter Law
c03ae0315e
Make nested Type[T] annotations work
2020-02-23 13:59:44 +00:00
Peter Law
bc53dabce3
Make tuple generic parameters work
2020-02-23 13:59:44 +00:00
Peter Law
969a8f1fd9
First pass at extending infer_type_vars
...
This mostly works for the new tests, but doesn't work for:
- tuples (though this seems to be because they lack generic information anyway)
- nested Type[T] handling (e.g: List[Type[T]])
2020-02-23 13:59:44 +00:00
Peter Law
0a7820f6de
Add many test cases
...
While these definitely _ought_ to work on Python 2.7, the annotation
support there is very limited and as Python 2 is deprecated it
doesn't seem worth it.
2020-02-23 13:58:10 +00:00
Dave Halter
da935baa99
Some more extract improvements
2020-02-23 12:06:37 +01:00
Dave Halter
cc8483a07a
Fix extract issues when self is involved
2020-02-23 11:50:05 +01:00
Dave Halter
48c4262f66
Start trying to find param names
2020-02-23 01:55:43 +01:00
Dave Halter
d069a4e482
Add a test for extraction in a class
2020-02-23 01:41:51 +01:00
Dave Halter
2061919b64
Get staticmethod working
2020-02-23 01:36:45 +01:00
Dave Halter
a7110a4e08
Get a first classmethod extraction working
2020-02-23 00:40:31 +01:00
Dave Halter
b7be5a4fe2
Extract: Correct newlines for classes and make it possible to be on a return/yield statement
2020-02-23 00:24:34 +01:00
Dave Halter
876109267a
Remove is_function_execution, it's not used
2020-02-23 00:16:46 +01:00
Dave Halter
1c0f9e1f30
Extract functions properly out of functions
2020-02-22 21:24:06 +01:00
Peter Law
6efafb348e
Extract the annotation name upfront
...
We almost always need this and this simplifies the code within
each branch. This also means we'll be able to the name to determine
the branching.
2020-02-22 19:42:08 +00:00
Peter Law
36b4b797c1
Add trailing comma
2020-02-22 19:42:08 +00:00
Dave Halter
ce1093406a
Get some first extract_function stuff working
2020-02-22 00:04:11 +01:00
Dave Halter
dcffe8e60b
Some refactorings and final tests for extract variable
2020-02-21 03:15:40 +01:00
Dave Halter
0516637e8d
Fix an extract case about "not"
2020-02-21 03:03:48 +01:00
Dave Halter
3bc66c2f00
Fix some error cases for extract
2020-02-21 02:22:54 +01:00
Dave Halter
742c4370b5
Fix some last extract issues
2020-02-21 01:57:12 +01:00
Dave Halter
292ad9d9ac
Enable extracting of parts of nodes
2020-02-21 01:43:36 +01:00
Dave Halter
3457bd77eb
Make sure that extract variable works for some ranges
2020-02-20 23:34:09 +01:00
Lior Goldberg
1874e9be81
Remove the word 'class' from annotation_string
...
Currently, 'foo(x: int)' results with annotation_string="<class 'int'>".
Change this to 'int'.
2020-02-20 09:35:01 +01:00
Dave Halter
3f86d803d2
Fix another special extract case
2020-02-20 01:29:04 +01:00
Dave Halter
26bf2ceb15
Fix refactoring of leaves just before leaves
2020-02-20 00:43:02 +01:00