clang  14.0.0git
Public Member Functions | Protected Attributes | List of all members
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 >:
Inheritance graph
[legend]
Collaboration diagram for clang::EvaluatedExprVisitorBase< Ptr, ImplClass >:
Collaboration graph
[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. More...
 
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

Definition at line 40 of file EvaluatedExprVisitor.h.

Member Function Documentation

◆ getDerived()

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

◆ shouldVisitDiscardedStmt()

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

◆ 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

Definition at line 87 of file EvaluatedExprVisitor.h.

◆ VisitChooseExpr()

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

Definition at line 57 of file EvaluatedExprVisitor.h.

◆ 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

Definition at line 82 of file EvaluatedExprVisitor.h.

◆ 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

Definition at line 76 of file EvaluatedExprVisitor.h.

◆ 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

Definition at line 65 of file EvaluatedExprVisitor.h.

◆ VisitIfStmt()

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

Definition at line 109 of file EvaluatedExprVisitor.h.

◆ VisitLambdaExpr()

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

Definition at line 92 of file EvaluatedExprVisitor.h.

◆ VisitMemberExpr()

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

Definition at line 52 of file EvaluatedExprVisitor.h.

◆ 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.

◆ 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

template<template< typename > class Ptr, typename ImplClass >
const ASTContext& clang::EvaluatedExprVisitorBase< Ptr, ImplClass >::Context
protected

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