clang  19.0.0git
Public Member Functions | List of all members
clang::SemaPseudoObject Class Reference

#include "clang/Sema/SemaPseudoObject.h"

Inheritance diagram for clang::SemaPseudoObject:
Inheritance graph
[legend]

Public Member Functions

 SemaPseudoObject (Sema &S)
 
ExprResult checkIncDec (Scope *S, SourceLocation OpLoc, UnaryOperatorKind Opcode, Expr *Op)
 Check an increment or decrement of a pseudo-object expression. More...
 
ExprResult checkAssignment (Scope *S, SourceLocation OpLoc, BinaryOperatorKind Opcode, Expr *LHS, Expr *RHS)
 
ExprResult checkRValue (Expr *E)
 
ExprrecreateSyntacticForm (PseudoObjectExpr *E)
 Given a pseudo-object expression, recreate what it looks like syntactically without the attendant OpaqueValueExprs. More...
 
- Public Member Functions inherited from clang::SemaBase
 SemaBase (Sema &S)
 
ASTContextgetASTContext () const
 
DiagnosticsEnginegetDiagnostics () const
 
const LangOptionsgetLangOpts () const
 
void addFDToReachableFromSyclDevice (const FunctionDecl *Callee, const FunctionDecl *Caller)
 
bool isFDReachableFromSyclDevice (const FunctionDecl *Callee, const FunctionDecl *Caller)
 
SemaDiagnosticBuilder Diag (SourceLocation Loc, unsigned DiagID, bool DeferHint=false)
 Emit a diagnostic. More...
 
SemaDiagnosticBuilder Diag (SourceLocation Loc, const PartialDiagnostic &PD, bool DeferHint=false)
 Emit a partial diagnostic. More...
 

Additional Inherited Members

- Public Types inherited from clang::SemaBase
enum class  DeviceDiagnosticReason {
  None = 0 , OmpDevice = 1 << 0 , OmpHost = 1 << 1 , OmpAll = OmpDevice | OmpHost ,
  CudaDevice = 1 << 2 , CudaHost = 1 << 3 , CudaAll = CudaDevice | CudaHost , Sycl = 1 << 4 ,
  Esimd = 1 << 5 , All = OmpAll | CudaAll | Sycl | Esimd
}
 Bitmask to contain the list of reasons a single diagnostic should be emitted, based on its language. More...
 
- Public Attributes inherited from clang::SemaBase
SemaSemaRef
 

Detailed Description

Definition at line 26 of file SemaPseudoObject.h.

Constructor & Destructor Documentation

◆ SemaPseudoObject()

SemaPseudoObject::SemaPseudoObject ( Sema S)

Definition at line 1595 of file SemaPseudoObject.cpp.

Member Function Documentation

◆ checkAssignment()

ExprResult SemaPseudoObject::checkAssignment ( Scope S,
SourceLocation  OpLoc,
BinaryOperatorKind  Opcode,
Expr LHS,
Expr RHS 
)

◆ checkIncDec()

ExprResult SemaPseudoObject::checkIncDec ( Scope S,
SourceLocation  OpLoc,
UnaryOperatorKind  Opcode,
Expr Op 
)

◆ checkRValue()

ExprResult SemaPseudoObject::checkRValue ( Expr E)

Definition at line 1450 of file SemaPseudoObject.cpp.

References clang::Expr::IgnoreParens().

◆ recreateSyntacticForm()

Expr * SemaPseudoObject::recreateSyntacticForm ( PseudoObjectExpr E)

Given a pseudo-object expression, recreate what it looks like syntactically without the attendant OpaqueValueExprs.

This is a hack which should be removed when TreeTransform is capable of rebuilding a tree without stripping implicit operations.

Definition at line 1561 of file SemaPseudoObject.cpp.

References clang::UnaryOperator::Create(), clang::BinaryOperator::Create(), clang::CompoundAssignOperator::Create(), clang::PseudoObjectExpr::getSyntacticForm(), clang::Expr::getType(), clang::Expr::hasPlaceholderType(), and stripOpaqueValuesFromPseudoObjectRef().


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