| // Copyright (c) 2013 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. | 
 |  | 
 | #include "tools/gn/input_file.h" | 
 |  | 
 | #include "base/files/file_util.h" | 
 |  | 
 | InputFile::InputFile(const SourceFile& name) | 
 |     : name_(name), | 
 |       dir_(name_.GetDir()), | 
 |       contents_loaded_(false) { | 
 | } | 
 |  | 
 | InputFile::~InputFile() = default; | 
 |  | 
 | void InputFile::SetContents(const std::string& c) { | 
 |   contents_loaded_ = true; | 
 |   contents_ = c; | 
 | } | 
 |  | 
 | bool InputFile::Load(const base::FilePath& system_path) { | 
 |   if (base::ReadFileToString(system_path, &contents_)) { | 
 |     contents_loaded_ = true; | 
 |     physical_name_ = system_path; | 
 |     return true; | 
 |   } | 
 |   return false; | 
 | } | 
 |  |