brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.3 KiB · c7d5a64 Raw
50 lines · c
1//===--- QuerySession.h - clang-query ---------------------------*- 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-exception6//7//===----------------------------------------------------------------------===//8 9#ifndef LLVM_CLANG_TOOLS_EXTRA_CLANG_QUERY_QUERY_SESSION_H10#define LLVM_CLANG_TOOLS_EXTRA_CLANG_QUERY_QUERY_SESSION_H11 12#include "clang/AST/ASTTypeTraits.h"13#include "clang/ASTMatchers/Dynamic/VariantValue.h"14#include "llvm/ADT/ArrayRef.h"15#include "llvm/ADT/StringMap.h"16 17namespace clang {18 19class ASTUnit;20 21namespace query {22 23/// Represents the state for a particular clang-query session.24class QuerySession {25public:26  QuerySession(llvm::ArrayRef<std::unique_ptr<ASTUnit>> ASTs)27      : ASTs(ASTs), PrintOutput(false), DiagOutput(true),28        DetailedASTOutput(false), BindRoot(true), PrintMatcher(false),29        EnableProfile(false), Terminate(false), TK(TK_AsIs) {}30 31  llvm::ArrayRef<std::unique_ptr<ASTUnit>> ASTs;32 33  bool PrintOutput;34  bool DiagOutput;35  bool DetailedASTOutput;36 37  bool BindRoot;38  bool PrintMatcher;39  bool EnableProfile;40  bool Terminate;41 42  TraversalKind TK;43  llvm::StringMap<ast_matchers::dynamic::VariantValue> NamedValues;44};45 46} // namespace query47} // namespace clang48 49#endif50