message: Better $cquery/vars
diff: @@ -56,17 +56,30 @@ ClangType ClangType::get_canonical() const {
  }
  ClangType ClangType::strip_qualifiers() const {
  - // CXRefQualifierKind qualifiers = clang_Type_getCXXRefQualifier(cx_type)
  - switch (cx_type.kind) {
  + CXType cx = cx_type;
  + while (1) {
  + switch (cx.kind) {
  + default:
  + break;
  + case CXType_ConstantArray:
  + case CXType_DependentSizedArray:
  + case CXType_IncompleteArray:
  + case CXType_VariableArray:
  + cx = clang_getElementType(cx);
  + continue;
  + case CXType_BlockPointer:
  case CXType_LValueReference:
  + case CXType_MemberPointer:
  + case CXType_ObjCObjectPointer:
  case CXType_Pointer:
  case CXType_RValueReference:
  - return clang_getPointeeType(cx_type);
  - default:
  + cx = clang_getPointeeType(cx);
  + continue;
  + }
  break;
  }
  - return cx_type;
  + return cx;
  }
  std::string ClangType::get_spelling() const {
  