1// Copyright (c) 2013 The Chromium Authors. All rights reserved.
2// Use of this source code is governed by a BSD-style license that can be
3// found in the LICENSE file.
4
5#include "tools/gn/action_values.h"
6
7#include "tools/gn/substitution_writer.h"
8#include "tools/gn/target.h"
9
10ActionValues::ActionValues() {
11}
12
13ActionValues::~ActionValues() {
14}
15
16void ActionValues::GetOutputsAsSourceFiles(
17    const Target* target,
18    std::vector<SourceFile>* result) const {
19  if (target->output_type() == Target::COPY_FILES ||
20      target->output_type() == Target::ACTION_FOREACH) {
21    // Copy and foreach applies the outputs to the sources.
22    SubstitutionWriter::ApplyListToSources(
23        target->settings(), outputs_, target->sources(), result);
24  } else {
25    // Actions (and anything else that happens to specify an output) just use
26    // the output list with no substitution.
27    SubstitutionWriter::GetListAsSourceFiles(outputs_, result);
28  }
29}
30