@@ -1512,6 +1512,7 @@ class lvalue : public rvalue
1512
1512
void set_alignment (unsigned bytes);
1513
1513
unsigned get_alignment () const { return m_alignment; }
1514
1514
virtual string * get_name () const { return NULL ; }
1515
+ virtual void set_name (const char *new_name) = 0;
1515
1516
1516
1517
protected:
1517
1518
string *m_link_section;
@@ -1553,6 +1554,9 @@ class param : public lvalue
1553
1554
const char *access_as_lvalue (reproducer &r) final override ;
1554
1555
1555
1556
string * get_name () const final override { return m_name; }
1557
+ void set_name (const char *new_name) final override {
1558
+ m_name = m_ctxt->new_string (new_name);
1559
+ }
1556
1560
1557
1561
private:
1558
1562
string * make_debug_string () final override { return m_name; }
@@ -1823,6 +1827,9 @@ class global : public lvalue
1823
1827
void set_rvalue_init (rvalue *val) { m_rvalue_init = val; }
1824
1828
1825
1829
string * get_name () const final override { return m_name; }
1830
+ void set_name (const char *new_name) final override {
1831
+ m_name = m_ctxt->new_string (new_name);
1832
+ }
1826
1833
1827
1834
private:
1828
1835
string * make_debug_string () final override { return m_name; }
@@ -2267,6 +2274,10 @@ class array_access : public lvalue
2267
2274
2268
2275
void replay_into (replayer *r) final override ;
2269
2276
2277
+ void set_name (const char *new_name) final override {
2278
+ m_ctxt->add_error (NULL , " cannot change the name of type `array_access`" );
2279
+ }
2280
+
2270
2281
void visit_children (rvalue_visitor *v) final override ;
2271
2282
2272
2283
private:
@@ -2328,6 +2339,10 @@ class vector_access : public lvalue
2328
2339
2329
2340
void visit_children (rvalue_visitor *v) final override ;
2330
2341
2342
+ void set_name (const char *new_name) final override {
2343
+ m_ctxt->add_error (NULL , " cannot change the name of type `vector_access`" );
2344
+ }
2345
+
2331
2346
private:
2332
2347
string * make_debug_string () final override ;
2333
2348
void write_reproducer (reproducer &r) final override ;
@@ -2357,6 +2372,11 @@ class access_field_of_lvalue : public lvalue
2357
2372
2358
2373
void visit_children (rvalue_visitor *v) final override ;
2359
2374
2375
+ void set_name (const char *new_name) final override {
2376
+ m_ctxt->add_error (
2377
+ NULL , " cannot change the name of type `access_field_of_lvalue`" );
2378
+ }
2379
+
2360
2380
private:
2361
2381
string * make_debug_string () final override ;
2362
2382
void write_reproducer (reproducer &r) final override ;
@@ -2415,6 +2435,11 @@ class dereference_field_rvalue : public lvalue
2415
2435
2416
2436
void visit_children (rvalue_visitor *v) final override ;
2417
2437
2438
+ void set_name (const char *new_name) final override {
2439
+ m_ctxt->add_error (
2440
+ NULL , " cannot change the name of type `dereference_field_rvalue`" );
2441
+ }
2442
+
2418
2443
private:
2419
2444
string * make_debug_string () final override ;
2420
2445
void write_reproducer (reproducer &r) final override ;
@@ -2441,6 +2466,11 @@ class dereference_rvalue : public lvalue
2441
2466
2442
2467
void visit_children (rvalue_visitor *v) final override ;
2443
2468
2469
+ void set_name (const char *new_name) final override {
2470
+ m_ctxt->add_error (
2471
+ NULL , " cannot change the name of type `dereference_rvalue`" );
2472
+ }
2473
+
2444
2474
private:
2445
2475
string * make_debug_string () final override ;
2446
2476
void write_reproducer (reproducer &r) final override ;
@@ -2524,6 +2554,11 @@ class local : public lvalue
2524
2554
2525
2555
void write_to_dump (dump &d) final override ;
2526
2556
2557
+ string * get_name () const final override { return m_name; }
2558
+ void set_name (const char *new_name) final override {
2559
+ m_name = m_ctxt->new_string (new_name);
2560
+ }
2561
+
2527
2562
private:
2528
2563
string * make_debug_string () final override {
2529
2564
if (m_name)
0 commit comments