Main Page   Class Hierarchy   Compound List   File List   Compound Members   File Members  

DependencyFilter Class Reference

Inheritance diagram for DependencyFilter

Inheritance graph
[legend]
Collaboration diagram for DependencyFilter:

Collaboration graph
[legend]
List of all members.

Public Methods

 DependencyFilter ()
void begin ()
void filter (const cmt_string& line)
void add_source (const cmt_string& file_name)
bool has_source (const cmt_string& file_name) const
cmt_stringget_sources ()

Private Attributes

cmt_string m_sources

Constructor & Destructor Documentation

DependencyFilter::DependencyFilter ( ) [inline]
 

Definition at line 2404 of file cmt_generator.cxx.

02405       {
02406       }


Member Function Documentation

void DependencyFilter::add_source ( const cmt_string & file_name ) [inline]
 

Definition at line 2429 of file cmt_generator.cxx.

Referenced by Generator::build_dependencies().

02430       {
02431         static cmt_string suffix;
02432         static cmt_string name;
02433 
02434         CmtSystem::get_dot_suffix (file_name, suffix);
02435         CmtSystem::basename (file_name, suffix, name);
02436         CmtSystem::get_suffix (file_name, suffix);
02437 
02438         cmt_string s = " ";
02439         s += name;
02440         s += "_";
02441         s += suffix;
02442         s += " ";
02443 
02444         if (m_sources.find (s) == cmt_string::npos)
02445           {
02446             m_sources += s;
02447           }        
02448       }

void DependencyFilter::begin ( ) [inline, virtual]
 

Reimplemented from Awk.

Definition at line 2408 of file cmt_generator.cxx.

02409       {
02410         m_sources = "";
02411       }

void DependencyFilter::filter ( const cmt_string & line ) [inline, virtual]
 

Reimplemented from Awk.

Definition at line 2413 of file cmt_generator.cxx.

02414       {
02415         int pos = line.find ("_dependencies = ");
02416         if (pos == cmt_string::npos) return;
02417 
02418         cmt_string s = line;
02419         s.erase (pos);
02420 
02421         m_sources += " ";
02422         m_sources += s;
02423         m_sources += " ";
02424 
02425           //pos = s.find_last_of ("_");
02426           //if (pos != cmt_string::npos) s[pos] = "."
02427       }

cmt_string & DependencyFilter::get_sources ( ) [inline]
 

Definition at line 2475 of file cmt_generator.cxx.

02476       {
02477         return (m_sources);
02478       }

bool DependencyFilter::has_source ( const cmt_string & file_name ) const [inline]
 

Definition at line 2450 of file cmt_generator.cxx.

Referenced by Generator::build_dependencies().

02451       {
02452         static cmt_string suffix;
02453         static cmt_string name;
02454 
02455         CmtSystem::get_dot_suffix (file_name, suffix);
02456         CmtSystem::basename (file_name, suffix, name);
02457         CmtSystem::get_suffix (file_name, suffix);
02458 
02459         cmt_string s = " ";
02460         s += name;
02461         s += "_";
02462         s += suffix;
02463         s += " ";
02464 
02465         if (m_sources.find (s) == cmt_string::npos)
02466           {
02467             return (false);
02468           }
02469         else
02470           {
02471             return (true);
02472           }
02473       }


Member Data Documentation

cmt_string DependencyFilter::m_sources [private]
 

Definition at line 2481 of file cmt_generator.cxx.


The documentation for this class was generated from the following file:
Generated at Thu Apr 11 16:50:41 2002 for CMT by doxygen1.2.3 written by Dimitri van Heesch, © 1997-2000