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

# LibraryAnalyzer Class Reference

Inheritance diagram for LibraryAnalyzer

[legend]
Collaboration diagram for LibraryAnalyzer:

[legend]
List of all members.

## Public Methods
| LibraryAnalyzer (const cmt_string& package_name, Constituent& constituent_ref)
void | end ()

## Constructor & Destructor Documentation

LibraryAnalyzer::LibraryAnalyzer ( | const cmt_string & package_name,
| Constituent & constituent_ref )

| Definition at line 564 of file cmt_triggers.cxx.
    00565                                                                 :
    00566     DependencyAnalyzer (package_name, constituent_ref)
    00567 {
    00568 }

## Member Function Documentation

void LibraryAnalyzer::end ( | )`[virtual]`

| Reimplemented from DependencyAnalyzer. Definition at line 570 of file cmt_triggers.cxx.
    00571 {
    00572   cmt_string macro_name;
    00573   cmt_string output;
    00574
    00575   int i;
    00576
    00577   if (uses.size () > 0)
    00578     {
    00579       for (i = 0; i < uses.size (); i++)
    00580         {
    00581           Libmap& libmap = *(uses[i]);
    00582
    00583           libmap.set_used ();
    00584         }
    00585
    00586       Libmap::LibmapVector& table = Libmap::libmaps ();
    00587
    00588       macro_name = constituent.name;
    00589       macro_name += "_implied_libraries";
    00590
    00591       output  = "macro_prepend ";
    00592       output += macro_name;
    00593       output += " \"";
    00594       for (i = 0; i < table.size (); i++)
    00595         {
    00596           Libmap& libmap = table[i];
    00597
    00598           if (libmap.used)
    00599             {
    00600 #ifdef USE_PACKAGE_SCOPE
    00601               output += libmap.package;
    00602               output += "::";
    00603 #endif
    00604               output += libmap.name;
    00605               output += " ";
    00606             }
    00607         }
    00608       output += "\"";
    00609
    00610       Cmt::parse_requirements_text (output, "", 0);
    00611
    00612       Symbol* macro = Symbol::find (macro_name);
    00613       output = macro_name;
    00614       output += "=";
    00615       output += macro->build_macro_value ();
    00616
    00617       cout << output << endl;
    00618     }
    00619
    00620   if (triggers.size () > 0)
    00621     {
    00622       macro_name = constituent.name;
    00623       macro_name += "_triggers";
    00624
    00625       output  = "macro_prepend ";
    00626       output += macro_name;
    00627       output += " \"";
    00628       for (i = 0; i < triggers.size (); i++)
    00629         {
    00630           const cmt_string& trigger = triggers[i];
    00631
    00632           output += trigger;
    00633           output += " ";
    00634         }
    00635       output += "\"";
    00636
    00637       Cmt::parse_requirements_text (output, "", 0);
    00638
    00639       Symbol* macro = Symbol::find (macro_name);
    00640       output = macro_name;
    00641       output += "=";
    00642       output += macro->build_macro_value ();
    00643
    00644       cout << output << endl;
    00645     }
    00646 }

The documentation for this class was generated from the following file:

- cmt_triggers.cxx