@@ -1500,6 +1500,7 @@ class lvalue : public rvalue
15001500  void  set_alignment  (unsigned  bytes);
15011501  unsigned  get_alignment  () const  { return  m_alignment; }
15021502  virtual  string * get_name  () const  { return  NULL ; }
1503+   virtual  void  set_name  (const  char  *new_name) = 0;
15031504
15041505protected: 
15051506  string *m_link_section;
@@ -1541,6 +1542,9 @@ class param : public lvalue
15411542  const  char  *access_as_lvalue  (reproducer &r) final  override ;
15421543
15431544  string * get_name  () const  final  override  { return  m_name; }
1545+   void  set_name  (const  char  *new_name) final  override  {
1546+     m_name = m_ctxt->new_string  (new_name);
1547+   }
15441548
15451549private: 
15461550  string * make_debug_string  () final  override  { return  m_name; }
@@ -1811,6 +1815,9 @@ class global : public lvalue
18111815  void  set_rvalue_init  (rvalue *val) { m_rvalue_init = val; }
18121816
18131817  string * get_name  () const  final  override  { return  m_name; }
1818+   void  set_name  (const  char  *new_name) final  override  {
1819+     m_name = m_ctxt->new_string  (new_name);
1820+   }
18141821
18151822private: 
18161823  string * make_debug_string  () final  override  { return  m_name; }
@@ -2255,6 +2262,10 @@ class array_access : public lvalue
22552262
22562263  void  replay_into  (replayer *r) final  override ;
22572264
2265+   void  set_name  (const  char  *new_name) final  override  {
2266+     m_ctxt->add_error  (NULL , " cannot change the name of type `array_access`" 
2267+   }
2268+ 
22582269  void  visit_children  (rvalue_visitor *v) final  override ;
22592270
22602271private: 
@@ -2316,6 +2327,10 @@ class vector_access : public lvalue
23162327
23172328  void  visit_children  (rvalue_visitor *v) final  override ;
23182329
2330+   void  set_name  (const  char  *new_name) final  override  {
2331+     m_ctxt->add_error  (NULL , " cannot change the name of type `vector_access`" 
2332+   }
2333+ 
23192334private: 
23202335  string * make_debug_string  () final  override ;
23212336  void  write_reproducer  (reproducer &r) final  override ;
@@ -2345,6 +2360,11 @@ class access_field_of_lvalue : public lvalue
23452360
23462361  void  visit_children  (rvalue_visitor *v) final  override ;
23472362
2363+   void  set_name  (const  char  *new_name) final  override  {
2364+     m_ctxt->add_error  (
2365+       NULL , " cannot change the name of type `access_field_of_lvalue`" 
2366+   }
2367+ 
23482368private: 
23492369  string * make_debug_string  () final  override ;
23502370  void  write_reproducer  (reproducer &r) final  override ;
@@ -2403,6 +2423,11 @@ class dereference_field_rvalue : public lvalue
24032423
24042424  void  visit_children  (rvalue_visitor *v) final  override ;
24052425
2426+   void  set_name  (const  char  *new_name) final  override  {
2427+     m_ctxt->add_error  (
2428+       NULL , " cannot change the name of type `dereference_field_rvalue`" 
2429+   }
2430+ 
24062431private: 
24072432  string * make_debug_string  () final  override ;
24082433  void  write_reproducer  (reproducer &r) final  override ;
@@ -2429,6 +2454,11 @@ class dereference_rvalue : public lvalue
24292454
24302455  void  visit_children  (rvalue_visitor *v) final  override ;
24312456
2457+   void  set_name  (const  char  *new_name) final  override  {
2458+     m_ctxt->add_error  (
2459+       NULL , " cannot change the name of type `dereference_rvalue`" 
2460+   }
2461+ 
24322462private: 
24332463  string * make_debug_string  () final  override ;
24342464  void  write_reproducer  (reproducer &r) final  override ;
@@ -2512,6 +2542,11 @@ class local : public lvalue
25122542
25132543  void  write_to_dump  (dump &d) final  override ;
25142544
2545+   string * get_name  () const  final  override  { return  m_name; }
2546+   void  set_name  (const  char  *new_name) final  override  {
2547+     m_name = m_ctxt->new_string  (new_name);
2548+   }
2549+ 
25152550private: 
25162551  string * make_debug_string  () final  override  {
25172552    if  (m_name)
0 commit comments