現在、Eclipseプラグインを開発中です。 XtendクラスをJavaクラスのスーパークラスとしてプログラムで設定したいと思います。 両方のクラスがJavaクラスの場合は、JDT APIを使用して行います。問題は、Java ASTまたはJavaモデルを介してXtendクラスにアクセスできないことです。XtendクラスをJavaクラスのスーパークラスとしてプログラムで設定する
これは私がXTENDクラスにアクセスしようとしたものです:IJavaProject.findType()
を使用してASTParser
- は、スーパークラスとしてXTENDクラスを設定する方法はありますか?
IType
またはTypeDeclaration
への参照なしで、文字列(パッケージ+クラス名)を持つスーパークラスを設定する方法はありますか?EDIT: JavaクラスとXtendクラスはすでに存在します。
ありがとう!これはまさに私が探していたものです。クラスはすでに存在します。私は決して前に 'ASTRewrite'を使ったことはありません。どのように動作するのか教えてください。 – ConveniencePatterns
チュートリアルのスライド「JDTドラゴンを鍛える方法」について既に説明しましたが、イントロのためにスライド#46にスキップするだけです。さらに、JDT/UIの実装をブラウズすることで多くのことを学ぶことができます.JDT/UIでは、すべてのクイックフィックス/アシストとリファクタリングがast書き換えを使用して実装されています。 –
これまでのご協力ありがとうございます!私はあなたのヒントや他の例をすべて試してみましたが、Javaクラスで変更を可視化するのには苦労しています。私はアイデアがなくなったので、私はここに質問を書いた:http://stackoverflow.com/questions/42279095/eclipse-ast-not-changing-class-files-when-changing-typedeclaration – ConveniencePatterns