Changeset 546 for CMT


Ignore:
Timestamp:
Jul 2, 2010, 11:24:30 AM (14 years ago)
Author:
rybkin
Message:

See C.L. 431

Location:
CMT/HEAD
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • CMT/HEAD/ChangeLog

    r545 r546  
     12010-07-02    <rybkin@lal.in2p3.fr> 431
     2
     3        * source/cmt_tag.h: In class Tag, introduce member m_ref_uses to hold uses
     4        which by means of tag statement associate tag(s) with this tag and member
     5        function add_ref_use
     6        * source/cmt_tag.cxx: Implement function add_ref_use and make its use in
     7        function show_definition to show list of packages which imply tags for
     8        particular tag (previously, all tags were attributed to last package from
     9        list)
     10       
    1112010-07-02    <rybkin@lal.in2p3.fr> 430
    212
  • CMT/HEAD/source/cmt_tag.cxx

    r459 r546  
    168168  //{
    169169
    170   tag->m_set_use = use;
     170  tag->add_ref_use (use);
     171  //  tag->m_set_use = use;
    171172
    172173  //}
     
    618619  m_def_use = other.m_def_use;
    619620  m_set_use = other.m_set_use;
     621  m_ref_uses = other.m_ref_uses;
    620622  m_priority = other.m_priority;
    621623}
     
    634636  m_def_use = other.m_def_use;
    635637  m_set_use = other.m_set_use;
     638  m_ref_uses = other.m_ref_uses;
    636639  m_priority = other.m_priority;
    637640
     
    653656  m_def_use = 0;
    654657  m_set_use = 0;
     658  m_ref_uses.clear ();
    655659  m_context = "";
    656660
     
    695699
    696700  m_tag_excludes.push_back (ref);
     701}
     702
     703/*----------------------------------------------------------*/
     704void Tag::add_ref_use (Use* use)
     705{
     706  if (use == 0) return;
     707
     708  for (int number = 0; number < m_ref_uses.size (); number++)
     709    {
     710      Use* u = m_ref_uses[number];
     711      if (u == use) return;
     712    }
     713
     714  m_ref_uses.push_back (use);
    697715}
    698716
     
    737755          int number;
    738756         
     757          if (m_ref_uses.size () != 0)
     758            {
     759              cout << " package [";
     760              for (number = 0; number < m_ref_uses.size (); number++)
     761                {
     762                  Use* use = m_ref_uses[number];
     763                  if (number > 0) cout << " ";
     764                  cout << use->get_package_name ();
     765                }
     766              cout << "]";
     767            }
     768          /*
    739769          if (m_set_use != 0)
    740770            {
    741771              cout << " package " << m_set_use->get_package_name ();
    742772            }
     773          */
    743774         
    744775          cout << " implies [";
  • CMT/HEAD/source/cmt_tag.h

    r318 r546  
    4949  void add_tag_ref (Tag* ref);
    5050  void add_tag_exclude (Tag* ref);
     51  void add_ref_use (Use* use);
    5152  void unmark ();
    5253  void mark ();
     
    7071  Use* m_def_use;
    7172  Use* m_set_use;
     73  Use::UsePtrVector m_ref_uses;
    7274  int m_priority;
    7375  ScopeType scope;
Note: See TracChangeset for help on using the changeset viewer.