Changeset 575 for CMT/HEAD/source
- Timestamp:
- May 4, 2011, 5:46:28 PM (13 years ago)
- Location:
- CMT/HEAD/source
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
CMT/HEAD/source/cmt_parser.cxx
r568 r575 9023 9023 if (Cmt::get_debug ()) 9024 9024 { 9025 cout << constituent.name << " needs imports" << import9025 cout << constituent.name << " has import request " << import 9026 9026 << " i=" << use_index << " package=" 9027 9027 << u->get_package()->get_name() … … 9057 9057 } 9058 9058 9059 /* 9059 9060 cmt_map <Use*, bool> visited; 9060 9061 static bool yes (true); 9061 9062 visited.add (&(Use::current()), yes); 9062 9063 Use::set_auto_imports_state (uses, auto_imports_states, visited); 9063 9064 if (Cmt::get_debug ()) 9065 { 9066 cout << constituent.name << " has imports " << endl; 9067 } 9068 9069 9064 */ 9065 Use::set_auto_imports_state (uses, auto_imports_states); 9066 9070 9067 /** 9071 9068 * Find all newly exposed packages and precompute this list inside … … 9090 9087 Package* p = u->get_package (); 9091 9088 if (p->is_cmt ()) continue; 9092 9093 if (Cmt::get_debug ()) 9094 { 9095 cout << constituent.name << " has import " << p->get_name () << endl; 9096 } 9097 9089 9098 9090 imports.push_back (u); 9099 9091 } 9100 9092 9093 if (Cmt::get_debug ()) 9094 { 9095 if (imports.size () == 0) 9096 { 9097 cout << constituent.name << " needs no imports" << endl; 9098 } 9099 else 9100 { 9101 cout << constituent.name << " has imports" << endl; 9102 for (int i = 0; i < imports.size (); i++) 9103 { 9104 cout << constituent.name << " has import " 9105 << imports[i]->get_package_name () << endl; 9106 } 9107 } 9108 } 9109 9101 9110 /** 9102 9111 * Only for linkopts we take care of the order. This means -
CMT/HEAD/source/cmt_use.cxx
r574 r575 1251 1251 //---------------------------------------------------------- 1252 1252 void Use::set_auto_imports_state (const Use::UsePtrVector& uses, 1253 cmt_vector<bool>& auto_imports_states) 1254 { 1255 if (0 == uses.size ()) return; 1256 1257 static int level (0); 1258 if (level == 0) 1259 { 1260 unselect_all (); 1261 Use::current().select (); 1262 } 1263 1264 if (Cmt::get_debug ()) 1265 { 1266 cout << "Use::set_auto_imports_state>|"; 1267 for (int i = level; i > 0; i--) cout << "-"; 1268 for (int i = 0; i < uses.size (); i++) 1269 //for (int i = uses.size () - 1; i >= 0; i--) 1270 { 1271 cout << " " << uses[i]->get_package_name () 1272 << "(" << uses[i]->auto_imports << ")"; 1273 } 1274 cout << ">" << endl; 1275 } 1276 1277 for (int i = 0; i < uses.size (); i++) 1278 //for (int i = uses.size () - 1; i >= 0; i--) 1279 { 1280 const Use* use = uses[i]; 1281 if (!auto_imports_states[use->m_index]) 1282 auto_imports_states[use->m_index] = true; 1283 } 1284 1285 Use::UsePtrVector subuses; 1286 for (int k = 0; k < uses.size (); k++) 1287 //for (int i = uses.size () - 1; i >= 0; i--) 1288 { 1289 Use* use = uses[k]; 1290 if (use->is_selected ()) continue; 1291 use->select (); 1292 for (int i = 0; i < use->sub_uses.size (); i++) 1293 { 1294 if (use->sub_uses[i]->m_index >= 0 && !use->sub_uses[i]->discarded) 1295 { 1296 if (use->sub_use_auto_imports[i] != Off 1297 && !use->sub_uses[i]->is_selected ()) 1298 { 1299 subuses.push_back (use->sub_uses[i]); 1300 } 1301 } 1302 else 1303 { 1304 if (Cmt::get_debug ()) 1305 { 1306 cout << "Use::set_auto_imports_state> " << use->get_package_name () 1307 << " -> sub_use " << use->sub_uses[i]->get_package_name () 1308 << "[" << use->sub_uses[i] << ", discarded=" 1309 << use->sub_uses[i]->discarded << ", m_index=" 1310 << use->sub_uses[i]->m_index << " : invalid]" << endl; 1311 } 1312 Use* au (find_valid (use->sub_uses[i]->get_package_name ())); 1313 if (au) 1314 { 1315 if (Cmt::get_debug ()) 1316 { 1317 cout << "Use::set_auto_imports_state> " << use->get_package_name () 1318 << " -> sub_use " << au->get_package_name () 1319 << "[" << au << ", discarded=" 1320 << au->discarded << ", m_index=" 1321 << au->m_index << " : valid]" << endl; 1322 } 1323 if (use->sub_use_auto_imports[i] != Off 1324 && !au->is_selected ()) 1325 { 1326 subuses.push_back (au); 1327 } 1328 } 1329 else 1330 { 1331 use->sub_uses[i]->select (); 1332 } 1333 } 1334 } 1335 } 1336 1337 level++; 1338 Use::set_auto_imports_state (subuses, auto_imports_states); 1339 level--; 1340 1341 if (Cmt::get_debug ()) 1342 { 1343 cout << "Use::set_auto_imports_state><"; 1344 for (int i = level; i > 0; i--) cout << "-"; 1345 for (int i = 0; i < uses.size (); i++) 1346 //for (int i = uses.size () - 1; i >= 0; i--) 1347 { 1348 cout << " " << uses[i]->get_package_name () 1349 << "(" << (auto_imports_states[uses[i]->m_index] ? "+" : "-") << ")"; 1350 } 1351 cout << "|" << endl; 1352 } 1353 1354 return; 1355 } 1356 1357 //---------------------------------------------------------- 1358 void Use::set_auto_imports_state (const Use::UsePtrVector& uses, 1253 1359 cmt_vector<bool>& auto_imports_states, 1254 1360 cmt_map <Use*, bool>& visited) -
CMT/HEAD/source/cmt_use.h
r572 r575 35 35 //static void set_auto_imports_state (int use_index, 36 36 //cmt_vector<bool>& auto_imports_states); 37 static void set_auto_imports_state (const Use::UsePtrVector& uses, 38 cmt_vector<bool>& auto_imports_states); 37 39 static void set_auto_imports_state (const Use::UsePtrVector& uses, 38 40 cmt_vector<bool>& auto_imports_states,
Note: See TracChangeset
for help on using the changeset viewer.