clang 22.0.0git
clang::SemaPseudoObject Class Reference

#include "clang/Sema/SemaPseudoObject.h"

Inheritance diagram for clang::SemaPseudoObject:
[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.
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.
Public Member Functions inherited from clang::SemaBase
 SemaBase (Sema &S)
ASTContextgetASTContext () const
DiagnosticsEnginegetDiagnostics () const
const LangOptionsgetLangOpts () const
DeclContextgetCurContext () const
SemaDiagnosticBuilder Diag (SourceLocation Loc, unsigned DiagID, bool DeferHint=false)
 Emit a diagnostic.
SemaDiagnosticBuilder Diag (SourceLocation Loc, const PartialDiagnostic &PD, bool DeferHint=false)
 Emit a partial diagnostic.
SemaDiagnosticBuilder DiagCompat (SourceLocation Loc, unsigned CompatDiagId, bool DeferHint=false)
 Emit a compatibility diagnostic.
PartialDiagnostic PDiag (unsigned DiagID=0)
 Build a partial diagnostic.

Additional Inherited Members

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 1593 of file SemaPseudoObject.cpp.

References clang::SemaBase::SemaBase().

Member Function Documentation

◆ checkAssignment()

◆ checkIncDec()

◆ checkRValue()

ExprResult SemaPseudoObject::checkRValue ( Expr * E)

◆ 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 1559 of file SemaPseudoObject.cpp.

References clang::cast(), clang::BinaryOperator::Create(), clang::CompoundAssignOperator::Create(), clang::UnaryOperator::Create(), clang::PseudoObjectExpr::getSyntacticForm(), clang::Expr::getType(), clang::isa(), clang::SemaBase::SemaRef, and stripOpaqueValuesFromPseudoObjectRef().


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