// Copyright 2016 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. #ifndef TOOLS_GN_ANALYZER_H_ #define TOOLS_GN_ANALYZER_H_ #include #include #include #include "tools/gn/builder.h" #include "tools/gn/label.h" #include "tools/gn/source_file.h" #include "tools/gn/target.h" // An Analyzer can answer questions about a build graph. It is used // to answer queries for the `refs` and `analyze` commands, where we // need to look at the graph in ways that can't easily be determined // from just a single Target. class Analyzer { public: using LabelSet = std::set