clang API Documentation
#include "TypeLocBuilder.h"#include "clang/AST/Decl.h"#include "clang/AST/DeclObjC.h"#include "clang/AST/DeclTemplate.h"#include "clang/AST/Expr.h"#include "clang/AST/ExprCXX.h"#include "clang/AST/ExprObjC.h"#include "clang/AST/Stmt.h"#include "clang/AST/StmtCXX.h"#include "clang/AST/StmtObjC.h"#include "clang/AST/StmtOpenMP.h"#include "clang/Sema/Designator.h"#include "clang/Sema/Lookup.h"#include "clang/Sema/Ownership.h"#include "clang/Sema/ParsedTemplate.h"#include "clang/Sema/ScopeInfo.h"#include "clang/Sema/SemaDiagnostic.h"#include "clang/Sema/SemaInternal.h"#include "llvm/ADT/ArrayRef.h"#include "llvm/Support/ErrorHandling.h"#include <algorithm>#include "clang/Basic/AttrList.inc"#include "clang/AST/TypeLocNodes.def"#include "clang/AST/StmtNodes.inc"#include "clang/Basic/OpenMPKinds.def"#include "clang/Basic/OperatorKinds.def"

Go to the source code of this file.
Classes | |
| class | clang::TreeTransform< Derived > |
| A semantic tree transformation that allows one to transform one abstract syntax tree into another. More... | |
| class | clang::TreeTransform< Derived >::ForgetPartiallySubstitutedPackRAII |
| Private RAII object that helps us forget and then re-remember the template argument corresponding to a partially-substituted parameter pack. | |
| class | clang::TreeTransform< Derived >::TemporaryBase |
| RAII object that temporarily sets the base location and entity used for reporting diagnostics in types. More... | |
| class | clang::TemplateArgumentLocInventIterator< Derived, InputIterator > |
| Iterator adaptor that invents template argument location information for each of the template arguments in its underlying iterator. More... | |
| class | clang::TemplateArgumentLocInventIterator< Derived, InputIterator >::pointer |
| class | clang::TemplateArgumentLocContainerIterator< ArgLocContainer > |
Simple iterator that traverses the template arguments in a container that provides a getArgLoc() member function. More... | |
| class | clang::TemplateArgumentLocContainerIterator< ArgLocContainer >::pointer |
Namespaces | |
| namespace | clang |
Defines | |
| #define | ATTR(X) |
| Transform the specified attribute. | |
| #define | PRAGMA_SPELLING_ATTR(X) const X##Attr *Transform##X##Attr(const X##Attr *R) { return R; } |
| #define | ABSTRACT_TYPELOC(CLASS, PARENT) |
| #define | TYPELOC(CLASS, PARENT) QualType Transform##CLASS##Type(TypeLocBuilder &TLB, CLASS##TypeLoc T); |
| #define | STMT(Node, Parent) |
| #define | EXPR(Node, Parent) |
| #define | ABSTRACT_STMT(Stmt) |
| #define | OPENMP_CLAUSE(Name, Class) |
| #define | STMT(Node, Parent) case Stmt::Node##Class: return getDerived().Transform##Node(cast<Node>(S)); |
| #define | ABSTRACT_STMT(Node) |
| #define | EXPR(Node, Parent) |
| #define | STMT(Node, Parent) |
| #define | ABSTRACT_STMT(Stmt) |
| #define | EXPR(Node, Parent) case Stmt::Node##Class: |
| #define | OPENMP_CLAUSE(Name, Class) |
| #define | STMT(Node, Parent) case Stmt::Node##Class: break; |
| #define | ABSTRACT_STMT(Stmt) |
| #define | EXPR(Node, Parent) case Stmt::Node##Class: return getDerived().Transform##Node(cast<Node>(E)); |
| #define | ABSTRACT_TYPELOC(CLASS, PARENT) |
| #define | TYPELOC(CLASS, PARENT) |
| #define | ATTR(X) |
| Transform the specified attribute. | |
| #define | PRAGMA_SPELLING_ATTR(X) |
| #define | OVERLOADED_OPERATOR(Name, Spelling, Token, Unary, Binary, MemberOnly) case OO_##Name: |
| #define | OVERLOADED_OPERATOR_MULTI(Name, Spelling, Unary, Binary, MemberOnly) |
Functions | |
| template<class TyLoc > | |
| static QualType | clang::TransformTypeSpecType (TypeLocBuilder &TLB, TyLoc T) |
| #define ABSTRACT_STMT | ( | Stmt | ) |
Definition at line 653 of file TreeTransform.h.
| #define ABSTRACT_STMT | ( | Node | ) |
Definition at line 653 of file TreeTransform.h.
| #define ABSTRACT_STMT | ( | Stmt | ) |
Definition at line 653 of file TreeTransform.h.
| #define ABSTRACT_STMT | ( | Stmt | ) |
Definition at line 653 of file TreeTransform.h.
| #define ABSTRACT_TYPELOC | ( | CLASS, | |
| PARENT | |||
| ) |
Definition at line 561 of file TreeTransform.h.
| #define ABSTRACT_TYPELOC | ( | CLASS, | |
| PARENT | |||
| ) |
Definition at line 561 of file TreeTransform.h.
Transform the specified attribute.
Subclasses should override the transformation of attributes with a pragma spelling to transform expressions stored within the attribute.
Definition at line 346 of file TreeTransform.h.
Transform the specified attribute.
Subclasses should override the transformation of attributes with a pragma spelling to transform expressions stored within the attribute.
Definition at line 346 of file TreeTransform.h.
Definition at line 650 of file TreeTransform.h.
Definition at line 650 of file TreeTransform.h.
| #define EXPR | ( | Node, | |
| Parent | |||
| ) | case Stmt::Node##Class: |
Definition at line 650 of file TreeTransform.h.
| #define EXPR | ( | Node, | |
| Parent | |||
| ) | case Stmt::Node##Class: return getDerived().Transform##Node(cast<Node>(E)); |
Definition at line 650 of file TreeTransform.h.
| #define OPENMP_CLAUSE | ( | Name, | |
| Class | |||
| ) |
LLVM_ATTRIBUTE_NOINLINE \ OMPClause *Transform ## Class(Class *S);
Definition at line 656 of file TreeTransform.h.
| #define OPENMP_CLAUSE | ( | Name, | |
| Class | |||
| ) |
case OMPC_ ## Name : \ return getDerived().Transform ## Class(cast<Class>(S));
Definition at line 656 of file TreeTransform.h.
| #define OVERLOADED_OPERATOR | ( | Name, | |
| Spelling, | |||
| Token, | |||
| Unary, | |||
| Binary, | |||
| MemberOnly | |||
| ) | case OO_##Name: |
| #define OVERLOADED_OPERATOR_MULTI | ( | Name, | |
| Spelling, | |||
| Unary, | |||
| Binary, | |||
| MemberOnly | |||
| ) |
| #define PRAGMA_SPELLING_ATTR | ( | X | ) | const X##Attr *Transform##X##Attr(const X##Attr *R) { return R; } |
Definition at line 347 of file TreeTransform.h.
| #define PRAGMA_SPELLING_ATTR | ( | X | ) |
Definition at line 347 of file TreeTransform.h.
Definition at line 647 of file TreeTransform.h.
| #define STMT | ( | Node, | |
| Parent | |||
| ) | case Stmt::Node##Class: return getDerived().Transform##Node(cast<Node>(S)); |
Definition at line 647 of file TreeTransform.h.
Definition at line 647 of file TreeTransform.h.
| #define STMT | ( | Node, | |
| Parent | |||
| ) | case Stmt::Node##Class: break; |
Definition at line 647 of file TreeTransform.h.
| #define TYPELOC | ( | CLASS, | |
| PARENT | |||
| ) | QualType Transform##CLASS##Type(TypeLocBuilder &TLB, CLASS##TypeLoc T); |
Definition at line 562 of file TreeTransform.h.
| #define TYPELOC | ( | CLASS, | |
| PARENT | |||
| ) |
case TypeLoc::CLASS: \
return getDerived().Transform##CLASS##Type(TLB, \
T.castAs<CLASS##TypeLoc>());
Definition at line 562 of file TreeTransform.h.