2016-05-18 9 views
0

学習の練習として、Clangクラスを直接使用してコード内にC++ ASTを構築しようとしています。Clang NamedDeclインスタンスの作成方法は?

NamedDeclコンストラクタはprotectedです。

NamedDeclインスタンスを作成するにはどうすればよいですか?

答えて

1

NamedDeclはなおもより特定の赤緯の種類のほとんどは基底クラスであると命名されるより具体的なdecls(例えばValueDeclTypeDecl、...)の基本クラスとしてクランによって使用されます。したがって、ClangはNamedDeclを直接作成する必要はなく、より具体的なものを作成するよう促します。

たとえば、オブジェクトを作成する宣言がクラスを表している場合は、RecordDeclまたはXCCRecordDeclを作成する必要があります。

もちろん、clang::NamedDeclから派生し、派生クラスのコンストラクタを公開することでこのメカニズムを回避することができます。

+0

ありがとうございます。将来の読者のために、私はclang :: IntegerLiteralが良いクラスであることを発見しました。 – sdgfsdh

関連する問題