clang  19.0.0git
SemaPseudoObject.h
Go to the documentation of this file.
1 //===----- SemaPseudoObject.h --- Semantic Analysis for Pseudo-Objects ----===//
2 //
3 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4 // See https://llvm.org/LICENSE.txt for license information.
5 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6 //
7 //===----------------------------------------------------------------------===//
8 /// \file
9 /// This file declares semantic analysis for expressions involving
10 // pseudo-object references.
11 ///
12 //===----------------------------------------------------------------------===//
13 
14 #ifndef LLVM_CLANG_SEMA_SEMAPSEUDOOBJECT_H
15 #define LLVM_CLANG_SEMA_SEMAPSEUDOOBJECT_H
16 
17 #include "clang/AST/Expr.h"
20 #include "clang/Sema/Ownership.h"
21 #include "clang/Sema/Scope.h"
22 #include "clang/Sema/SemaBase.h"
23 
24 namespace clang {
25 
26 class SemaPseudoObject : public SemaBase {
27 public:
29 
33  BinaryOperatorKind Opcode, Expr *LHS, Expr *RHS);
36 };
37 
38 } // namespace clang
39 
40 #endif // LLVM_CLANG_SEMA_SEMAPSEUDOOBJECT_H
Defines the clang::SourceLocation class and associated facilities.
This represents one expression.
Definition: Expr.h:110
PseudoObjectExpr - An expression which accesses a pseudo-object l-value.
Definition: Expr.h:6346
Scope - A scope is a transient data structure that is used while parsing the program.
Definition: Scope.h:41
ExprResult checkAssignment(Scope *S, SourceLocation OpLoc, BinaryOperatorKind Opcode, Expr *LHS, Expr *RHS)
ExprResult checkIncDec(Scope *S, SourceLocation OpLoc, UnaryOperatorKind Opcode, Expr *Op)
Check an increment or decrement of a pseudo-object expression.
Expr * recreateSyntacticForm(PseudoObjectExpr *E)
Given a pseudo-object expression, recreate what it looks like syntactically without the attendant Opa...
ExprResult checkRValue(Expr *E)
Sema - This implements semantic analysis and AST building for C.
Definition: Sema.h:462
Encodes a location in the source.
The JSON file list parser is used to communicate input to InstallAPI.
BinaryOperatorKind
UnaryOperatorKind