clang 20.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"
21#include "clang/Sema/Scope.h"
22#include "clang/Sema/SemaBase.h"
23
24namespace clang {
25
26class SemaPseudoObject : public SemaBase {
27public:
29
31 UnaryOperatorKind Opcode, Expr *Op);
33 BinaryOperatorKind Opcode, Expr *LHS, Expr *RHS);
36};
37
38} // namespace clang
39
40#endif // LLVM_CLANG_SEMA_SEMAPSEUDOOBJECT_H
Expr * E
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:6487
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:535
Encodes a location in the source.
The JSON file list parser is used to communicate input to InstallAPI.
BinaryOperatorKind
UnaryOperatorKind