103b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles)// Copyright 2014 The Chromium Authors. All rights reserved.
203b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be
303b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles)// found in the LICENSE file.
403b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles)
503b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles)#include "tools/gn/tool.h"
603b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles)
703b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles)Tool::Tool()
803b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles)    : depsformat_(DEPS_GCC),
903b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles)      restat_(false),
1003b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles)      complete_(false) {
1103b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles)}
1203b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles)
1303b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles)Tool::~Tool() {
1403b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles)}
1503b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles)
1603b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles)void Tool::SetComplete() {
1703b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles)  DCHECK(!complete_);
1803b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles)  complete_ = true;
1903b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles)
2003b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles)  command_.FillRequiredTypes(&substitution_bits_);
2103b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles)  depfile_.FillRequiredTypes(&substitution_bits_);
2203b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles)  description_.FillRequiredTypes(&substitution_bits_);
2303b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles)  outputs_.FillRequiredTypes(&substitution_bits_);
2403b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles)  link_output_.FillRequiredTypes(&substitution_bits_);
2503b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles)  depend_output_.FillRequiredTypes(&substitution_bits_);
2603b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles)  rspfile_.FillRequiredTypes(&substitution_bits_);
2703b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles)  rspfile_content_.FillRequiredTypes(&substitution_bits_);
2803b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles)}
29