Warning, /include/clang/AST/TypeLocNodes.def is written in an unsupported language. File is not indexed.
0001 //===-- TypeLocNodes.def - Metadata about TypeLoc wrappers ------*- C++ -*-===//
0002 //
0003 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
0004 // See https://llvm.org/LICENSE.txt for license information.
0005 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
0006 //
0007 //===----------------------------------------------------------------------===//
0008 //
0009 // This file defines the TypeLoc info database. Each node is
0010 // enumerated by providing its core name (e.g., "Pointer" for "PointerTypeLoc")
0011 // and base class (e.g., "DeclaratorLoc"). All nodes except QualifiedTypeLoc
0012 // are associated
0013 //
0014 // TYPELOC(Class, Base) - A TypeLoc subclass. If UNQUAL_TYPELOC is
0015 // provided, there will be exactly one of these, Qualified.
0016 //
0017 // UNQUAL_TYPELOC(Class, Base, Type) - An UnqualTypeLoc subclass.
0018 //
0019 // ABSTRACT_TYPELOC(Class) - Refers to TypeSpecLoc and DeclaratorLoc.
0020 //
0021 //===----------------------------------------------------------------------===//
0022
0023 #ifndef UNQUAL_TYPELOC
0024 # define UNQUAL_TYPELOC(Class, Base) TYPELOC(Class, Base)
0025 #endif
0026
0027 #ifndef ABSTRACT_TYPELOC
0028 # define ABSTRACT_TYPELOC(Class, Base) UNQUAL_TYPELOC(Class, Base)
0029 #endif
0030
0031 TYPELOC(Qualified, TypeLoc)
0032 #define TYPE(Class, Base) UNQUAL_TYPELOC(Class, Base##Loc)
0033 #define ABSTRACT_TYPE(Class, Base) ABSTRACT_TYPELOC(Class, Base##Loc)
0034 #include "clang/AST/TypeNodes.inc"
0035
0036 #undef DECLARATOR_TYPELOC
0037 #undef TYPESPEC_TYPELOC
0038 #undef ABSTRACT_TYPELOC
0039 #undef UNQUAL_TYPELOC
0040 #undef TYPELOC