Ninja
DyndepLoader Struct Reference

DyndepLoader loads dynamically discovered dependencies, as referenced via the "dyndep" attribute in build files. More...

#include <dyndep.h>

Public Member Functions

 DyndepLoader (State *state, DiskInterface *disk_interface, Explanations *explanations=nullptr)
 
bool LoadDyndeps (Node *node, DyndepFile *ddf, std::string *err) const
 
bool LoadDyndeps (Node *node, std::string *err) const
 Load a dyndep file from the given node's path and update the build graph with the new information.
 

Private Member Functions

bool LoadDyndepFile (Node *file, DyndepFile *ddf, std::string *err) const
 
bool UpdateEdge (Edge *edge, Dyndeps const *dyndeps, std::string *err) const
 

Private Attributes

DiskInterfacedisk_interface_
 
OptionalExplanations explanations_
 
Statestate_
 

Detailed Description

DyndepLoader loads dynamically discovered dependencies, as referenced via the "dyndep" attribute in build files.

Definition at line 46 of file dyndep.h.

Constructor & Destructor Documentation

◆ DyndepLoader()

DyndepLoader::DyndepLoader ( State * state,
DiskInterface * disk_interface,
Explanations * explanations = nullptr )
inline

Definition at line 47 of file dyndep.h.

References disk_interface_, explanations_, and state_.

Member Function Documentation

◆ LoadDyndepFile()

bool DyndepLoader::LoadDyndepFile ( Node * file,
DyndepFile * ddf,
std::string * err ) const
private

Definition at line 118 of file dyndep.cc.

References disk_interface_, Parser::Load(), Node::path(), and state_.

Referenced by LoadDyndeps().

◆ LoadDyndeps() [1/2]

bool DyndepLoader::LoadDyndeps ( Node * node,
DyndepFile * ddf,
std::string * err ) const

◆ LoadDyndeps() [2/2]

bool DyndepLoader::LoadDyndeps ( Node * node,
std::string * err ) const

Load a dyndep file from the given node's path and update the build graph with the new information.

One overload accepts a caller-owned 'DyndepFile' object in which to store the information loaded from the dyndep file.

Definition at line 30 of file dyndep.cc.

References LoadDyndeps().

Referenced by LoadDyndeps().

◆ UpdateEdge()

Member Data Documentation

◆ disk_interface_

DiskInterface* DyndepLoader::disk_interface_
private

Definition at line 65 of file dyndep.h.

Referenced by DyndepLoader(), and LoadDyndepFile().

◆ explanations_

OptionalExplanations DyndepLoader::explanations_
mutableprivate

Definition at line 66 of file dyndep.h.

Referenced by DyndepLoader(), and LoadDyndeps().

◆ state_

State* DyndepLoader::state_
private

Definition at line 64 of file dyndep.h.

Referenced by DyndepLoader(), and LoadDyndepFile().


The documentation for this struct was generated from the following files: