Во-первых, мне неизвестно о каком-либо инструменте или библиотеках, реализованных в Python, которые специально предназначены для рефакторинга кода Java, и поиск в Google не дал мне никаких указаний.
Во-вторых, я бы сказал, что написание такого достойного инструмента или библиотеки для рефакторинга Java в Python было бы большой задачей. Вам нужно будет реализовать клиентский интерфейс компилятора Java (лексер / парсер, сборщик AST и анализатор типов) в Python, а затем выяснить, как интегрировать это с программным редактором. Я не удивлен, что никто не сделал этого ... учитывая, что зрелые альтернативы уже существуют.
В-третьих, проведение рефакторинга без полного анализа исходного кода (но, например, с использованием сопоставления с образцом) будет неспособно выполнить сложный рефакторинг, и, скорее всего, он допустит ошибки в крайних случаях, о которых разработчик не подумал. Я ожидаю, что это уровень, на котором сейчас работает ОП ...
Учитывая этот мрачный прогноз, каковы альтернативы:
Одной из альтернатив является использование одной из существующих IDE Java (например, NetBeans, Eclipse, IDEA и т. Д.) В качестве инструмента рефакторинга. ОП не сможет расширить возможности такого инструмента в коде Python, но есть вероятность, что он на самом деле не понадобится. Я ожидаю, что по крайней мере один из этих IDE сделает 95% того, что ему нужно, и (если он реалистичен) этого должно быть достаточно. Особенно, если учесть, что в IDE есть много случайных функций, которые помогают упростить рефакторинг; например структурное редактирование, отмена / повтор, инкрементная компиляция, интеллектуальное завершение кода, интеллектуальный поиск, представления иерархии типов и вызовов и т. д.
(Помимо ... если существующие IDE недостаточно хороши (@WizardOfOdds - только вызов OP может сделать этот вызов !!), было бы более разумно попытаться расширить возможности рефакторинга существующей IDE, чем запускать заново в другой язык реализации.)
В зависимости от того, что он на самом деле делает, генерация кода на основе моделей может быть другой альтернативой. Например, если рефакторинг происходит из-за того, что он часто создает и воссоздает свои объектные модели, то альтернативой является кодирование моделей на некотором языке моделирования и генерация его кода из этих моделей. Мой инструмент выбора при выполнении подобных задач - Eclipse EMF и связанные с ним технологии. Технологии EMF включают генерацию редакторов, сериализацию XML, постоянство, запросы, преобразование модели в модель и так далее. Я использовал EMF для реализации и развертывания проектов с объектными моделями, состоящими из 50-100 различных классов со сложными отношениями и требованиями проверки. Поддержка EMF слияния правок исходного кода при регенерации из обновленной модели является ключевой особенностью.