ClangUtil.h revision 353358
1303241Sdim//===-- ClangUtil.h ---------------------------------------------*- C++ -*-===// 2303241Sdim// 3353358Sdim// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. 4353358Sdim// See https://llvm.org/LICENSE.txt for license information. 5353358Sdim// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception 6303241Sdim// 7303241Sdim// A collection of helper methods and data structures for manipulating clang 8303241Sdim// types and decls. 9303241Sdim//===----------------------------------------------------------------------===// 10303241Sdim 11303241Sdim#ifndef LLDB_SYMBOL_CLANGUTIL_H 12303241Sdim#define LLDB_SYMBOL_CLANGUTIL_H 13303241Sdim 14303241Sdim#include "clang/AST/Type.h" 15303241Sdim 16303241Sdim#include "lldb/Symbol/CompilerType.h" 17303241Sdim 18344779Sdimnamespace clang { 19344779Sdimclass TagDecl; 20344779Sdim} 21344779Sdim 22314564Sdimnamespace lldb_private { 23314564Sdimstruct ClangUtil { 24314564Sdim static bool IsClangType(const CompilerType &ct); 25303241Sdim 26314564Sdim static clang::QualType GetQualType(const CompilerType &ct); 27303241Sdim 28314564Sdim static clang::QualType GetCanonicalQualType(const CompilerType &ct); 29303241Sdim 30314564Sdim static CompilerType RemoveFastQualifiers(const CompilerType &ct); 31344779Sdim 32344779Sdim static clang::TagDecl *GetAsTagDecl(const CompilerType &type); 33303241Sdim}; 34303241Sdim} 35303241Sdim 36303241Sdim#endif 37