Changeset 570 for CMT/HEAD


Ignore:
Timestamp:
Apr 23, 2011, 2:31:36 PM (13 years ago)
Author:
rybkin
Message:

See C.L. 453

Location:
CMT/HEAD
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • CMT/HEAD/ChangeLog

    r569 r570  
     12011-04-23    <rybkin@lal.in2p3.fr> 453
     2
     3        * source/cmt_use.cxx:  In class Use, in function set_auto_imports_state,
     4        revisit uses specified explicitly with -import=<package> encountered in
     5        constituent specification for the first time, to ensure <package> is
     6        imported, in function set_auto_imports, revisit sub-uses of current use
     7        encountered in its requirements file for the first time to ensure their
     8        auto_imports state takes precedence
     9       
    1102011-04-20    <rybkin@lal.in2p3.fr> 452
    211
  • CMT/HEAD/source/cmt_use.cxx

    r566 r570  
    12571257
    12581258  static int level (-1);
     1259  level++;
     1260  if (level == 0)
     1261    {
     1262      unselect_all ();
     1263    }
     1264
    12591265  if (Cmt::get_debug ())
    12601266    {
    1261       level++;
    12621267      cout << "Use::set_auto_imports_state>|";
    12631268      for (int i = level; i > 0; i--) cout << "-";
     
    12751280    {
    12761281      Use* use = uses[i];
    1277       if (visited.has (use)) continue;
     1282      if (visited.has (use) &&
     1283          (0 != level || use->is_selected ()))
     1284        // revisit uses specified explicitly with -import=<package> (level == 0)
     1285        // encountered in constituent specification for the first time (selected == false)
     1286        // to ensure <package> is imported
     1287        {
     1288          continue;
     1289        }
     1290
    12781291      visited.add (use, yes);
     1292      if (0 == level) use->select ();
     1293
    12791294      if (!auto_imports_states[use->m_index])
    12801295        auto_imports_states[use->m_index] = true;
     1296      //if (0 == level && use->is_selected ()) continue;
    12811297
    12821298      Use::UsePtrVector subuses;
     
    13441360        }
    13451361      cout << "|" << endl;
    1346       level--;
    1347     }
     1362    }
     1363
     1364  level--;
     1365  return;
    13481366}
    13491367
     
    39423960                            cmt_map <Use*, bool>& visited)
    39433961{
    3944   if (visited.has (this)) return;
    3945 
    39463962  static int level (-1);
     3963  level++;
     3964  if (level == 0)
     3965    {
     3966      unselect_all ();
     3967      selected = true;
     3968    }
     3969
     3970  if (visited.has (this) &&
     3971      (1 != level || selected))
     3972    // revisit sub-uses of current (level == 0) use
     3973    // encountered in its requirements file for the first time (selected == false)
     3974    // to ensure their auto_imports state takes precedence
     3975    {
     3976      level--;
     3977      return;
     3978    }
     3979
    39473980  if (Cmt::get_debug ())
    39483981    {
    3949       level++;
    39503982      cout << "Use::set_auto_imports>|";
    39513983      for (int i = level; i > 0; i--) cout << "-";
     
    39573989  static bool yes (true);
    39583990  visited.add (this, yes);
     3991  if (1 == level) selected = true;
    39593992  //  if (auto_imports == context_state) return;
    39603993 
     
    40514084            {
    40524085              visited.add (sub_uses[i], yes);
     4086              sub_uses[i]->select ();
    40534087            }
    40544088        }
     
    40584092    {
    40594093      cout << s << endl;
    4060       level--;
    4061     }
     4094    }
     4095
     4096  level--;
     4097  return;
    40624098}
    40634099/*
Note: See TracChangeset for help on using the changeset viewer.