1 //===-- ClangUtil.h ---------------------------------------------*- C++ -*-===//
3 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4 // See https://llvm.org/LICENSE.txt for license information.
5 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
7 // A collection of helper methods and data structures for manipulating clang
9 //===----------------------------------------------------------------------===//
11 #ifndef LLDB_SYMBOL_CLANGUTIL_H
12 #define LLDB_SYMBOL_CLANGUTIL_H
14 #include "clang/AST/Type.h"
16 #include "lldb/Symbol/CompilerType.h"
22 namespace lldb_private {
24 static bool IsClangType(const CompilerType &ct);
26 static clang::QualType GetQualType(const CompilerType &ct);
28 static clang::QualType GetCanonicalQualType(const CompilerType &ct);
30 static CompilerType RemoveFastQualifiers(const CompilerType &ct);
32 static clang::TagDecl *GetAsTagDecl(const CompilerType &type);