|
clang 23.0.0git
|
Given a type, subobject visitors visit all subobjects of the type in depth first order. More...
#include "clang/AST/SubobjectVisitor.h"
Public Member Functions | |
| SubobjectVisitorBase (ASTContext &Ctx) | |
| Derived & | getDerived () |
| Return a reference to the derived class. | |
| void | visit (QualType QT) |
| void | traverseRecord (ptr_t< RecordDecl > RD) |
| bool | visitBaseSpecifierPre (ptr_t< CXXBaseSpecifier > BS) |
| void | visitBaseSpecifierPost (ptr_t< CXXBaseSpecifier > BS) |
| bool | visitFieldDeclPre (ptr_t< FieldDecl > FD) |
| void | visitFieldDeclPost (ptr_t< FieldDecl > FD) |
Given a type, subobject visitors visit all subobjects of the type in depth first order.
Both pre-order and post-order visitation are performed so that derived classes can maintain an access path to the visited elements. Subobjects include all base classes and non-static data members, including those that are not subobjects according to the C++ standard like data members with a reference type. Virtual base classes are visited each time they appear in a class hierarchy despite there being only one actual subobject present in an object of a most derived type. Array elements are not individually visited; only their containing array is.
Definition at line 31 of file SubobjectVisitor.h.
|
inline |
Definition at line 36 of file SubobjectVisitor.h.
|
inline |
Return a reference to the derived class.
Definition at line 39 of file SubobjectVisitor.h.
Referenced by traverseRecord(), and visit().
|
inline |
Definition at line 82 of file SubobjectVisitor.h.
References getDerived(), visitBaseSpecifierPre(), and visitFieldDeclPre().
|
inline |
Definition at line 41 of file SubobjectVisitor.h.
References clang::Type::getAs(), clang::Type::getAsRecordDecl(), getDerived(), clang::QualType::getDesugaredType(), clang::Type::isArrayType(), and clang::Type::isDependentType().
|
inline |
Definition at line 101 of file SubobjectVisitor.h.
|
inline |
Definition at line 98 of file SubobjectVisitor.h.
Referenced by traverseRecord().
|
inline |
Definition at line 107 of file SubobjectVisitor.h.
|
inline |
Definition at line 104 of file SubobjectVisitor.h.
Referenced by traverseRecord().