1 //===--- QuerySession.h - clang-query ---------------------------*- C++ -*-===//
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
7 //===----------------------------------------------------------------------===//
9 #ifndef LLVM_CLANG_TOOLS_EXTRA_CLANG_QUERY_QUERY_SESSION_H
10 #define LLVM_CLANG_TOOLS_EXTRA_CLANG_QUERY_QUERY_SESSION_H
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"
23 /// Represents the state for a particular clang-query session.
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
) {}
31 llvm::ArrayRef
<std::unique_ptr
<ASTUnit
>> ASTs
;
35 bool DetailedASTOutput
;
43 llvm::StringMap
<ast_matchers::dynamic::VariantValue
> NamedValues
;