clang 24.0.0git
SemaProxy.h
Go to the documentation of this file.
1//===--- SemaProxy.h - Interface to language semantics ---------*- C++ -*-===//
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//
9// This file defines the SemaProxy interface, used during language-mandated
10// constant evaluation to act on, and query, the representation of the program
11// according to language-defined semantics.
12//
13//===----------------------------------------------------------------------===//
14
15#ifndef LLVM_CLANG_AST_SEMA_PROXY_H
16#define LLVM_CLANG_AST_SEMA_PROXY_H
17
19
20namespace clang {
21
22class FunctionDecl;
23
24/// Classes implementing SemaProxy present a restricted view of the (possibly
25/// mutating) actions and queries defined by language semantics against the
26/// representation of the program (i.e., the AST). Such a view is required in
27/// order to evaluate certain expressions (e.g., C++'s manifestly
28/// constant-evaluated expressions) according to language rules.
29class SemaProxy {
30public:
31 virtual ~SemaProxy() = default;
32
33 virtual void
36};
37
38} // namespace clang
39
40#endif // LLVM_CLANG_AST_SEMA_PROXY_H
Defines the clang::SourceLocation class and associated facilities.
Represents a function declaration or definition.
Definition Decl.h:2071
Classes implementing SemaProxy present a restricted view of the (possibly mutating) actions and queri...
Definition SemaProxy.h:29
virtual ~SemaProxy()=default
virtual void instantiateFunctionDefinition(SourceLocation PointOfInstantiation, FunctionDecl *Function)=0
Encodes a location in the source.
Top level wrappers for InstallAPI frontend operations.