clang 22.0.0git
clang::EvaluatedExprVisitorBase< Ptr, ImplClass > Class Template Reference

Given a potentially-evaluated expression, this visitor visits all of its potentially-evaluated subexpressions, recursively. More...

#include "clang/AST/EvaluatedExprVisitor.h"

Inheritance diagram for clang::EvaluatedExprVisitorBase< Ptr, ImplClass >:
[legend]

Public Member Functions

bool shouldVisitDiscardedStmt () const
 EvaluatedExprVisitorBase (const ASTContext &Context)
void VisitDeclRefExpr (PTR(DeclRefExpr) E)
void VisitOffsetOfExpr (PTR(OffsetOfExpr) E)
void VisitUnaryExprOrTypeTraitExpr (PTR(UnaryExprOrTypeTraitExpr) E)
void VisitExpressionTraitExpr (PTR(ExpressionTraitExpr) E)
void VisitBlockExpr (PTR(BlockExpr) E)
void VisitCXXUuidofExpr (PTR(CXXUuidofExpr) E)
void VisitCXXNoexceptExpr (PTR(CXXNoexceptExpr) E)
void VisitMemberExpr (PTR(MemberExpr) E)
void VisitChooseExpr (PTR(ChooseExpr) E)
void VisitGenericSelectionExpr (PTR(GenericSelectionExpr) E)
void VisitDesignatedInitExpr (PTR(DesignatedInitExpr) E)
void VisitCXXTypeidExpr (PTR(CXXTypeidExpr) E)
void VisitCallExpr (PTR(CallExpr) CE)
void VisitLambdaExpr (PTR(LambdaExpr) LE)
void VisitStmt (PTR(Stmt) S)
 The basis case walks all of the children of the statement or expression, assuming they are all potentially evaluated.
void VisitIfStmt (PTR(IfStmt) If)
ImplClass & getDerived ()
Public Member Functions inherited from clang::StmtVisitorBase< Ptr, ImplClass, void >
void Visit (PTR(Stmt) S, ParamTys... P)
 BINOP_FALLBACK (PtrMemD) BINOP_FALLBACK(PtrMemI) BINOP_FALLBACK(Mul) BINOP_FALLBACK(Div) BINOP_FALLBACK(Rem) BINOP_FALLBACK(Add) BINOP_FALLBACK(Sub) BINOP_FALLBACK(Shl) BINOP_FALLBACK(LT) BINOP_FALLBACK(GT) BINOP_FALLBACK(LE) BINOP_FALLBACK(GE) BINOP_FALLBACK(EQ) BINOP_FALLBACK(NE) BINOP_FALLBACK(And) BINOP_FALLBACK(Xor) BINOP_FALLBACK(Or) BINOP_FALLBACK(LAnd) BINOP_FALLBACK(LOr) CAO_FALLBACK(MulAssign) CAO_FALLBACK(DivAssign) CAO_FALLBACK(RemAssign) CAO_FALLBACK(AddAssign) CAO_FALLBACK(SubAssign) CAO_FALLBACK(ShlAssign) CAO_FALLBACK(ShrAssign) CAO_FALLBACK(AndAssign) CAO_FALLBACK(OrAssign) UNARYOP_FALLBACK(PostInc) UNARYOP_FALLBACK(PostDec) UNARYOP_FALLBACK(PreInc) UNARYOP_FALLBACK(PreDec) UNARYOP_FALLBACK(AddrOf) UNARYOP_FALLBACK(Deref) UNARYOP_FALLBACK(Plus) UNARYOP_FALLBACK(Minus) UNARYOP_FALLBACK(Not) UNARYOP_FALLBACK(LNot) UNARYOP_FALLBACK(Real) UNARYOP_FALLBACK(Imag) UNARYOP_FALLBACK(Extension) UNARYOP_FALLBACK(Coawait) void VisitStmt(PTR(Stmt) Node

Protected Attributes

const ASTContextContext

Additional Inherited Members

Public Attributes inherited from clang::StmtVisitorBase< Ptr, ImplClass, void >
ParamTys P

Detailed Description

template<template< typename > class Ptr, typename ImplClass>
class clang::EvaluatedExprVisitorBase< Ptr, ImplClass >

Given a potentially-evaluated expression, this visitor visits all of its potentially-evaluated subexpressions, recursively.

Definition at line 30 of file EvaluatedExprVisitor.h.

Constructor & Destructor Documentation

◆ EvaluatedExprVisitorBase()

template<template< typename > class Ptr, typename ImplClass>
clang::EvaluatedExprVisitorBase< Ptr, ImplClass >::EvaluatedExprVisitorBase ( const ASTContext & Context)
inlineexplicit

Member Function Documentation

◆ getDerived()

template<template< typename > class Ptr, typename ImplClass>
ImplClass & clang::EvaluatedExprVisitorBase< Ptr, ImplClass >::getDerived ( )
inline

Definition at line 121 of file EvaluatedExprVisitor.h.

Referenced by VisitCallExpr(), and VisitIfStmt().

◆ shouldVisitDiscardedStmt()

template<template< typename > class Ptr, typename ImplClass>
bool clang::EvaluatedExprVisitorBase< Ptr, ImplClass >::shouldVisitDiscardedStmt ( ) const
inline

Definition at line 37 of file EvaluatedExprVisitor.h.

Referenced by VisitIfStmt().

◆ VisitBlockExpr()

template<template< typename > class Ptr, typename ImplClass>
void clang::EvaluatedExprVisitorBase< Ptr, ImplClass >::VisitBlockExpr ( PTR(BlockExpr) E)
inline

Definition at line 48 of file EvaluatedExprVisitor.h.

◆ VisitCallExpr()

template<template< typename > class Ptr, typename ImplClass>
void clang::EvaluatedExprVisitorBase< Ptr, ImplClass >::VisitCallExpr ( PTR(CallExpr) CE)
inline

◆ VisitChooseExpr()

template<template< typename > class Ptr, typename ImplClass>
void clang::EvaluatedExprVisitorBase< Ptr, ImplClass >::VisitChooseExpr ( PTR(ChooseExpr) E)
inline

◆ VisitCXXNoexceptExpr()

template<template< typename > class Ptr, typename ImplClass>
void clang::EvaluatedExprVisitorBase< Ptr, ImplClass >::VisitCXXNoexceptExpr ( PTR(CXXNoexceptExpr) E)
inline

Definition at line 50 of file EvaluatedExprVisitor.h.

◆ VisitCXXTypeidExpr()

template<template< typename > class Ptr, typename ImplClass>
void clang::EvaluatedExprVisitorBase< Ptr, ImplClass >::VisitCXXTypeidExpr ( PTR(CXXTypeidExpr) E)
inline

◆ VisitCXXUuidofExpr()

template<template< typename > class Ptr, typename ImplClass>
void clang::EvaluatedExprVisitorBase< Ptr, ImplClass >::VisitCXXUuidofExpr ( PTR(CXXUuidofExpr) E)
inline

Definition at line 49 of file EvaluatedExprVisitor.h.

◆ VisitDeclRefExpr()

template<template< typename > class Ptr, typename ImplClass>
void clang::EvaluatedExprVisitorBase< Ptr, ImplClass >::VisitDeclRefExpr ( PTR(DeclRefExpr) E)
inline

Definition at line 44 of file EvaluatedExprVisitor.h.

◆ VisitDesignatedInitExpr()

template<template< typename > class Ptr, typename ImplClass>
void clang::EvaluatedExprVisitorBase< Ptr, ImplClass >::VisitDesignatedInitExpr ( PTR(DesignatedInitExpr) E)
inline

◆ VisitExpressionTraitExpr()

template<template< typename > class Ptr, typename ImplClass>
void clang::EvaluatedExprVisitorBase< Ptr, ImplClass >::VisitExpressionTraitExpr ( PTR(ExpressionTraitExpr) E)
inline

Definition at line 47 of file EvaluatedExprVisitor.h.

◆ VisitGenericSelectionExpr()

template<template< typename > class Ptr, typename ImplClass>
void clang::EvaluatedExprVisitorBase< Ptr, ImplClass >::VisitGenericSelectionExpr ( PTR(GenericSelectionExpr) E)
inline

◆ VisitIfStmt()

template<template< typename > class Ptr, typename ImplClass>
void clang::EvaluatedExprVisitorBase< Ptr, ImplClass >::VisitIfStmt ( PTR(IfStmt) If)
inline

◆ VisitLambdaExpr()

template<template< typename > class Ptr, typename ImplClass>
void clang::EvaluatedExprVisitorBase< Ptr, ImplClass >::VisitLambdaExpr ( PTR(LambdaExpr) LE)
inline

◆ VisitMemberExpr()

template<template< typename > class Ptr, typename ImplClass>
void clang::EvaluatedExprVisitorBase< Ptr, ImplClass >::VisitMemberExpr ( PTR(MemberExpr) E)
inline

◆ VisitOffsetOfExpr()

template<template< typename > class Ptr, typename ImplClass>
void clang::EvaluatedExprVisitorBase< Ptr, ImplClass >::VisitOffsetOfExpr ( PTR(OffsetOfExpr) E)
inline

Definition at line 45 of file EvaluatedExprVisitor.h.

◆ VisitStmt()

template<template< typename > class Ptr, typename ImplClass>
void clang::EvaluatedExprVisitorBase< Ptr, ImplClass >::VisitStmt ( PTR(Stmt) S)
inline

The basis case walks all of the children of the statement or expression, assuming they are all potentially evaluated.

Definition at line 103 of file EvaluatedExprVisitor.h.

References clang::Stmt::children(), and clang::StmtVisitorBase< Ptr, ImplClass, void >::Visit().

◆ VisitUnaryExprOrTypeTraitExpr()

template<template< typename > class Ptr, typename ImplClass>
void clang::EvaluatedExprVisitorBase< Ptr, ImplClass >::VisitUnaryExprOrTypeTraitExpr ( PTR(UnaryExprOrTypeTraitExpr) E)
inline

Definition at line 46 of file EvaluatedExprVisitor.h.

Member Data Documentation

◆ Context


The documentation for this class was generated from the following file: