ClangUtil.h revision 344779
1303241Sdim//===-- ClangUtil.h ---------------------------------------------*- C++ -*-===// 2303241Sdim// 3303241Sdim// The LLVM Compiler Infrastructure 4303241Sdim// 5303241Sdim// This file is distributed under the University of Illinois Open Source 6303241Sdim// License. See LICENSE.TXT for details. 7303241Sdim// 8303241Sdim// A collection of helper methods and data structures for manipulating clang 9303241Sdim// types and decls. 10303241Sdim//===----------------------------------------------------------------------===// 11303241Sdim 12303241Sdim#ifndef LLDB_SYMBOL_CLANGUTIL_H 13303241Sdim#define LLDB_SYMBOL_CLANGUTIL_H 14303241Sdim 15303241Sdim#include "clang/AST/Type.h" 16303241Sdim 17303241Sdim#include "lldb/Symbol/CompilerType.h" 18303241Sdim 19344779Sdimnamespace clang { 20344779Sdimclass TagDecl; 21344779Sdim} 22344779Sdim 23314564Sdimnamespace lldb_private { 24314564Sdimstruct ClangUtil { 25314564Sdim static bool IsClangType(const CompilerType &ct); 26303241Sdim 27314564Sdim static clang::QualType GetQualType(const CompilerType &ct); 28303241Sdim 29314564Sdim static clang::QualType GetCanonicalQualType(const CompilerType &ct); 30303241Sdim 31314564Sdim static CompilerType RemoveFastQualifiers(const CompilerType &ct); 32344779Sdim 33344779Sdim static clang::TagDecl *GetAsTagDecl(const CompilerType &type); 34303241Sdim}; 35303241Sdim} 36303241Sdim 37303241Sdim#endif 38