@@ -1500,6 +1500,7 @@ class lvalue : public rvalue
1500
1500
void set_alignment (unsigned bytes);
1501
1501
unsigned get_alignment () const { return m_alignment; }
1502
1502
virtual string * get_name () const { return NULL ; }
1503
+ virtual void set_name (const char *new_name) = 0;
1503
1504
1504
1505
protected:
1505
1506
string *m_link_section;
@@ -1541,6 +1542,9 @@ class param : public lvalue
1541
1542
const char *access_as_lvalue (reproducer &r) final override ;
1542
1543
1543
1544
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
+ }
1544
1548
1545
1549
private:
1546
1550
string * make_debug_string () final override { return m_name; }
@@ -1811,6 +1815,9 @@ class global : public lvalue
1811
1815
void set_rvalue_init (rvalue *val) { m_rvalue_init = val; }
1812
1816
1813
1817
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
+ }
1814
1821
1815
1822
private:
1816
1823
string * make_debug_string () final override { return m_name; }
@@ -2255,6 +2262,10 @@ class array_access : public lvalue
2255
2262
2256
2263
void replay_into (replayer *r) final override ;
2257
2264
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
+
2258
2269
void visit_children (rvalue_visitor *v) final override ;
2259
2270
2260
2271
private:
@@ -2316,6 +2327,10 @@ class vector_access : public lvalue
2316
2327
2317
2328
void visit_children (rvalue_visitor *v) final override ;
2318
2329
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
+
2319
2334
private:
2320
2335
string * make_debug_string () final override ;
2321
2336
void write_reproducer (reproducer &r) final override ;
@@ -2345,6 +2360,11 @@ class access_field_of_lvalue : public lvalue
2345
2360
2346
2361
void visit_children (rvalue_visitor *v) final override ;
2347
2362
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
+
2348
2368
private:
2349
2369
string * make_debug_string () final override ;
2350
2370
void write_reproducer (reproducer &r) final override ;
@@ -2403,6 +2423,11 @@ class dereference_field_rvalue : public lvalue
2403
2423
2404
2424
void visit_children (rvalue_visitor *v) final override ;
2405
2425
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
+
2406
2431
private:
2407
2432
string * make_debug_string () final override ;
2408
2433
void write_reproducer (reproducer &r) final override ;
@@ -2429,6 +2454,11 @@ class dereference_rvalue : public lvalue
2429
2454
2430
2455
void visit_children (rvalue_visitor *v) final override ;
2431
2456
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
+
2432
2462
private:
2433
2463
string * make_debug_string () final override ;
2434
2464
void write_reproducer (reproducer &r) final override ;
@@ -2512,6 +2542,11 @@ class local : public lvalue
2512
2542
2513
2543
void write_to_dump (dump &d) final override ;
2514
2544
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
+
2515
2550
private:
2516
2551
string * make_debug_string () final override {
2517
2552
if (m_name)
0 commit comments