//===--- Type.h - C Language Family Type Representation ---------*- C++ -*-===////// The LLVM Compiler Infrastructure//// This file is distributed under the University of Illinois Open Source// License. See LICENSE.TXT for details.////===----------------------------------------------------------------------===////// This file defines the Type interface and subclasses.////===----------------------------------------------------------------------===//#ifndef LLVM_CLANG_AST_TYPE_H#define LLVM_CLANG_AST_TYPE_H#include"llvm/Support/Casting.h"#include"llvm/ADT/FoldingSet.h"#include"llvm/ADT/APSInt.h"#include"llvm/Bitcode/SerializationFwd.h"usingllvm::isa;usingllvm::cast;usingllvm::cast_or_null;usingllvm::dyn_cast;usingllvm::dyn_cast_or_null;namespaceclang{classASTContext;classType;classTypedefDecl;classTagDecl;classRecordDecl;classCXXRecordDecl;classEnumDecl;classFieldDecl;classObjCInterfaceDecl;classObjCProtocolDecl;classObjCMethodDecl;classExpr;classStmt;classSourceLocation;classPointerLikeType;classPointerType;classBlockPointerType;classReferenceType;classVectorType;classArrayType;classConstantArrayType;classVariableArrayType;classIncompleteArrayType;classRecordType;classEnumType;classComplexType;classTagType;