# 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 *p` と `char *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 
