//===--- Source.h - Source location provider for the VM --------*- C++ -*-===// // // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. // See https://llvm.org/LICENSE.txt for license information. // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception // //===----------------------------------------------------------------------===// // // Defines a program which organises and links multiple bytecode functions. // //===----------------------------------------------------------------------===// #ifndef LLVM_CLANG_AST_INTERP_SOURCE_H #define LLVM_CLANG_AST_INTERP_SOURCE_H #include "PrimType.h" #include "clang/AST/DeclBase.h" #include "clang/AST/Stmt.h" #include "llvm/ADT/PointerUnion.h" #include "llvm/Support/Endian.h" namespace clang { class Expr; class SourceLocation; class SourceRange; namespace interp { class Function; /// Pointer into the code segment. class CodePtr final { … }; /// Describes the statement/declaration an opcode was generated from. class SourceInfo final { … }; SourceMap; /// Interface for classes which map locations to sources. class SourceMapper { … }; } // namespace interp } // namespace clang #endif