Dave Halter
5f226bc82e
Make sure to not execute refactoring tests for Python 2
2020-02-27 02:17:05 +01:00
Dave Halter
a892887b04
Remove Python 3.4 support
2020-02-27 02:04:03 +01:00
Dave Halter
d1ac00f64f
Fix run.py issue
2020-02-27 01:44:01 +01:00
Dave Halter
03e1770a24
Fix rename refactoring tests
2020-02-27 01:23:07 +01:00
Dave Halter
42adadd0cb
Add an extract test for methods without params
2020-02-27 01:19:01 +01:00
Dave Halter
3708ab3514
Make extract yield error message better
2020-02-27 01:12:34 +01:00
Dave Halter
c9334d140b
Make it impossible to extract if return is not at the end
2020-02-27 01:08:03 +01:00
Dave Halter
35e992c37c
Make sure that return at the end works properly for extract
2020-02-27 00:54:40 +01:00
Dave Halter
a92c28840b
Fix: Extract can now deal with return statements at the end
2020-02-26 09:31:33 +01:00
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