Changeset 563 for CMT/HEAD/source/cmt_parser.cxx
- Timestamp:
- Mar 16, 2011, 3:32:16 PM (13 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
CMT/HEAD/source/cmt_parser.cxx
r562 r563 6729 6729 } 6730 6730 6731 // 6732 // Set auto_imports 6733 // 6734 6735 Use::UsePtrVector uses; 6736 Use* use (0); 6737 use = Use::find (CmtSystem::get_home_package ()); 6738 if (use != 0 && !use->discarded && !use->m_hidden && use->located ()) 6739 uses.push_back (use); 6740 uses.push_back (&(Use::current())); 6741 use = Use::find (CmtSystem::get_user_context_package ()); 6742 if (use != 0 && !use->discarded && !use->m_hidden && use->located ()) 6743 uses.push_back (use); 6744 6745 cmt_map <Use*, bool> visited; 6746 for (int i = uses.size () - 1; i >= 0; i--) 6747 { 6748 Use* use = uses[i]; 6749 use->set_auto_imports (use->auto_imports, use->auto_imports, visited); 6750 } 6751 6731 6752 if (Me.m_debug) cout << "parser3> current_tag=" << Me.m_current_tag << endl; 6732 6753 … … 8935 8956 */ 8936 8957 cmt_vector<bool> auto_imports_states (base_auto_imports_states); 8937 8958 Use::UsePtrVector uses; 8959 8938 8960 for (i = 0; i < constituent.imports.size (); i++) 8939 8961 { … … 8955 8977 if (Cmt::get_debug ()) 8956 8978 { 8957 cout << constituent.name << " needs imports " << import << " "8958 << use_index << ""8959 << u->get_package()->get_name() << " "8960 << " u->auto_imports=" << u->auto_imports8961 << " Off=" << Off8962 << " On=" << On 8979 cout << constituent.name << " needs imports " << import 8980 << " i=" << use_index << " package=" 8981 << u->get_package()->get_name() 8982 << " auto_imports=" << u->auto_imports 8983 << " (Off=" << Off 8984 << " On=" << On << ")" 8963 8985 << endl; 8964 8986 } … … 8967 8989 if (p->is_cmt ()) continue; 8968 8990 8969 if (u->auto_imports != Off) continue; 8970 8971 Use::set_auto_imports_state (use_index, auto_imports_states); 8991 uses.push_back (u); 8992 //u->set_auto_imports_state (auto_imports_states, visited); 8993 //if (u->auto_imports != Off) continue; 8994 //Use::set_auto_imports_state (use_index, auto_imports_states); 8972 8995 } 8973 8996 else … … 8978 9001 " cannot be imported (requested for " + 8979 9002 constituent.name +")"); 9003 if (Cmt::get_debug ()) 9004 { 9005 cout << "import [" << i << "] " 9006 << ("package " + import + 9007 " cannot be imported (requested for " + 9008 constituent.name +")") << endl; 9009 } 8980 9010 } 8981 9011 } 9012 9013 cmt_map <Use*, bool> visited; 9014 static bool yes (true); 9015 visited.add (&(Use::current()), yes); 9016 Use::set_auto_imports_state (uses, auto_imports_states, visited); 8982 9017 8983 9018 if (Cmt::get_debug ()) … … 8994 9029 { 8995 9030 // if (base_auto_imports_states[i]== On && auto_imports_states[i] == Off) continue; 8996 if (base_auto_imports_states[i] == On || auto_imports_states[i] == Off) continue; 9031 if (base_auto_imports_states[i] || !auto_imports_states[i]) continue; 9032 //if (base_auto_imports_states[i] == On || auto_imports_states[i] == Off) continue; 8997 9033 /** 8998 9034 * Consider the package (i) for import only if it is: 8999 * o not imported yet (i.e., base_auto_imports_states[i] != On)9035 * o not imported yet (i.e., base_auto_imports_states[i] != true) 9000 9036 * o requested for import according to -import=xxx modifiers for 9001 * the current constituent (i.e., auto_imports_states[i] != Off)9037 * the current constituent (i.e., auto_imports_states[i] != false) 9002 9038 */ 9003 9039 Use* u = Uses[i];
Note: See TracChangeset
for help on using the changeset viewer.