1
を返すようにIQualifiedNameProviderを実装する方法:のXtext:私は私の文法では、このようにルールを持っているファイル名に
`CLASS: 'extends' '=' superClass=[CLASS];`
あなたは私のクラスはname=ID
のように任意の名前を持っていない見ることができると私はで参照したいとCLASS宣言を含むファイル名。これを実現するために私はDefaultDeclarativeQualifiedNameProvider
を拡張するカスタムQualifiedNameProviderを作成しました:私はハードコードされた文字列を返すてるとき
def QualifiedName qualifiedName(CLASSDeclaration cd) {
var fileName = ???????
return QualifiedName::create(fileName)
}
これは正常に動作しますが、私はクラスが定義されているファイル名を取得する方法がわかりません。アイデア
修飾名を作成するには
IQualifiedNameConverter
を使用することができます。計算された値の形でクラス名としてファイル名を返すことができます。残念ながら、この値はしばらくすると失われ、オブジェクトにはもう一度赤く下線が引かれます。私はこれをさらに掘り起こす必要があります。 –これは失われてはいけません。どのようにあなたのインプラントは –
のように見えますか私のために見える。なぜそれがうまくいかないのか分かりません –