clang 20.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.
 
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
 
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.
 
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 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)

◆ 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::Sema::Context, clang::UnaryOperator::Create(), clang::BinaryOperator::Create(), clang::CompoundAssignOperator::Create(), clang::Sema::CurFPFeatureOverrides(), E, clang::Expr::getType(), clang::Expr::hasPlaceholderType(), clang::SemaBase::SemaRef, and stripOpaqueValuesFromPseudoObjectRef().


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