CXType: 型の処理

  • FUNCTION_DECL の result_type

  • PARM_DECL の type

  • FIELD_DECL の type

  • TYPEDEF_DECL の underlying_type

など。

基本型

void, int, float など。 Type.kind から直接わかる。

CXType_Pointer / CXType_LValueReference

基本型か型参照が出現するまで get_pointee() で参照を剥がす。

const

参照を剥がした各階層で is_const_qualified する。 const char *pchar *const p の違い。

CXType_ConstantArray

get_array_element_type get_array_size

CXType_DependentSizedArray, CXType_IncompleteArray

get_array_element_type

CXType_FunctionProto

関数ポインタ。 CXType_FunctionProto

CXType_Typedef

CXType_Enum

CXType_Elaborated

CXType_Record