В настоящее время я работаю над плагином Eclipse. Я хочу программно программировать класс Xtend как суперкласс класса Java. Если бы оба класса были классами Java, я бы сделал это с помощью JDT API. Проблема в том, что я не могу получить доступ к классам Xtend через Java AST или Java-модель.Программная установка класса Xtend как суперкласса класса Java
Это то, что я пытался получить доступ к классам Xtend:
- с использованием
ASTParser
- использованием
IJavaProject.findType()
Есть ли способ, чтобы установить класс Xtend как супер класс? Есть ли способ установить суперкласс со строкой (имя пакета + класса) без ссылки на IType
или TypeDeclaration
?
EDIT: И класс Java, и класс Xtend уже существуют.
Спасибо за ваш ответ! Это именно то, что я искал. Классы уже существуют. Я никогда раньше не использовал 'ASTRewrite', не могли бы вы рассказать мне, как это работает? – ConveniencePatterns
Учитывая, что мы уже говорили о обучающих слайдах «Как обучить JDT Dragon», просто перейдите к слайду № 46 для введения. Кроме того, многое можно узнать из обзора реализации JDT/UI, где все быстрые исправления/передачи и рефакторинги реализованы с использованием перезаписи. –
Спасибо за помощь! Я попробовал это со всеми вашими советами и другими примерами, но я изо всех сил стараюсь получить изменения, видимые в классах Java. Я написал здесь вопрос, потому что у меня кончились идеи: http://stackoverflow.com/questions/42279095/eclipse-ast-not-changing-class-files-when-changing-typedeclaration – ConveniencePatterns