#include <Package.h>
Inheritance diagram for UseScanner
Public Methods |
|
| ? | UseScanner (const Package& t, Package& s, tree_node& node) |
| ? |
It will check whether the package s uses the package t by scanning its requirements file against use statements to the package t. More... |
| void? | begin () |
| void? | filter (const cmt_string& line) |
| ? |
The UseScanner is supposed to be started with a filtering regular expression of the form [^use ...] Therefore we really consider that the lines here really conform to this pattern. More... |
| void? | end () |
| ? |
We are now going to recurse, by getting all clients of "scanned". More... |
Private Attributes |
|
| const Package&? | tested |
| Package&? | scanned |
| tree_node&? | parent_node |
| bool? | done |
|
| ? |
It will check whether the package s uses the package t by scanning its requirements file against use statements to the package t. Definition at line 340 of file Package.cxx. 00342 : 00343 tested (t), 00344 scanned (s), 00345 parent_node (node) 00346 { 00347 } |
|
| ? |
Definition at line 349 of file Package.cxx. 00350 {
00351 done = false;
00352 }
|
|
| ? |
We are now going to recurse, by getting all clients of "scanned". Definition at line 409 of file Package.cxx. 00410 {
00411 }
|
|
| ? |
The UseScanner is supposed to be started with a filtering regular expression of the form [^use ...] Therefore we really consider that the lines here really conform to this pattern. Definition at line 359 of file Package.cxx. 00360 {
00361 //cout << " filtering [" << line << "]" << endl;
00362 if (done) return;
00363
00364 static int level = 0;
00365
00366 CmtSystem::cmt_string_vector words;
00367 CmtSystem::split (line, " ", words);
00368
00369 cmt_string p;
00370 cmt_string v;
00371 cmt_string pp;
00372
00373 if (words.size () > 1) p = words[1];
00374 if (words.size () > 2) v = words[2];
00375 if (words.size () > 3) pp = words[3];
00376
00377 Package& package = Package::create (p, v, pp);
00378 if (package == tested)
00379 {
00380 // here "scanned" is really using tested
00381
00382 for (int j = 0; j < level; j++) cout << " ";
00383 //cout << " yes " << scanned.get_name () << " uses " << tested.get_name () << endl;
00384 cout << " " << scanned.get_name () << endl;
00385
00386 tree_node& node = parent_node.append (scanned);
00387
00392 if (scanned.is_done ()) return;
00393 scanned.set_done ();
00394
00395 done = true;
00396
00397 level++;
00398
00403 scanned.collect_clients (node);
00404
00405 level--;
00406 }
00407 }
|
|
| ? |
|
| ? |
|
| ? |
|
| ? |