diff options
Diffstat (limited to 'clang-r353983/include/clang/AST/TypeLocNodes.def')
| -rw-r--r-- | clang-r353983/include/clang/AST/TypeLocNodes.def | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/clang-r353983/include/clang/AST/TypeLocNodes.def b/clang-r353983/include/clang/AST/TypeLocNodes.def new file mode 100644 index 00000000..c0dfe150 --- /dev/null +++ b/clang-r353983/include/clang/AST/TypeLocNodes.def @@ -0,0 +1,40 @@ +//===-- 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) +#endif + +TYPELOC(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.def" + +#undef DECLARATOR_TYPELOC +#undef TYPESPEC_TYPELOC +#undef ABSTRACT_TYPELOC +#undef UNQUAL_TYPELOC +#undef TYPELOC |
