Blame | Last modification | View Log | Download | RSS feed
//===-- TypeLocNodes.def - Metadata about TypeLoc wrappers ------*- C++ -*-===////// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.// See https://llvm.org/LICENSE.txt for license information.// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception////===----------------------------------------------------------------------===////// This file defines the TypeLoc info database. Each node is// enumerated by providing its core name (e.g., "Pointer" for "PointerTypeLoc")// and base class (e.g., "DeclaratorLoc"). All nodes except QualifiedTypeLoc// are associated//// TYPELOC(Class, Base) - A TypeLoc subclass. If UNQUAL_TYPELOC is// provided, there will be exactly one of these, Qualified.//// UNQUAL_TYPELOC(Class, Base, Type) - An UnqualTypeLoc subclass.//// ABSTRACT_TYPELOC(Class) - Refers to TypeSpecLoc and DeclaratorLoc.////===----------------------------------------------------------------------===//#ifndef UNQUAL_TYPELOC# define UNQUAL_TYPELOC(Class, Base) TYPELOC(Class, Base)#endif#ifndef ABSTRACT_TYPELOC# define ABSTRACT_TYPELOC(Class, Base) UNQUAL_TYPELOC(Class, Base)#endifTYPELOC(Qualified, TypeLoc)#define TYPE(Class, Base) UNQUAL_TYPELOC(Class, Base##Loc)#define ABSTRACT_TYPE(Class, Base) ABSTRACT_TYPELOC(Class, Base##Loc)#include "clang/AST/TypeNodes.inc"#undef DECLARATOR_TYPELOC#undef TYPESPEC_TYPELOC#undef ABSTRACT_TYPELOC#undef UNQUAL_TYPELOC#undef TYPELOC