2
に表示されていない属性は、公式マニュアルに記載されているよう私が打ち鳴らすでカスタム属性を実装: http://clang.llvm.org/docs/InternalsManual.html#how-to-add-an-attribute打ち鳴らす:カスタムAST
をだから私はAttr.tdに次のコードを追加しました:
def MyAttr: InheritableAttr {
let Spellings = [GNU<"my_attr">, CXX11<"me", "my_attr">, GCC<"my_attr">, Declspec<"my_attr">];
let Subjects = SubjectList<[Var, Function, CXXRecord]>;
let Documentation = [MyAttrDocs];
}
とドキュメントはAttrDocs.tdになります。 clangを再構築した後は、属性を知っているので、属性を知っていることは明らかです。 libtoolingで新しい属性クラスにアクセスすることもできますが、属性定義に行let ASTNode = 1
を追加しても、属性はASTに表示されません。
他に何か検討する必要があるのか、それとも問題になる可能性がありますか?