Commit e47df8c
committed
Re-queue singleton-body instance variables when receiver is missing
Direct instance variables inside `class << Foo` (e.g. `@bar = 1`) used
to fall back to `*OBJECT_ID` via `unwrap_or` when the singleton's
declaration was missing, planting `Object::<Object>#@bar` and never
recovering after `Foo` was restored.
Mirror the policy used for methods/attrs: when
`definition_id_to_declaration_id(nesting_id)` returns `None` for a
SingletonClass nesting, push the def back to `pending_work` and let the
next resolve place it on the right owner.1 parent 0d7390a commit e47df8c
2 files changed
Lines changed: 39 additions & 5 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
4357 | 4357 | | |
4358 | 4358 | | |
4359 | 4359 | | |
| 4360 | + | |
| 4361 | + | |
| 4362 | + | |
| 4363 | + | |
| 4364 | + | |
| 4365 | + | |
| 4366 | + | |
| 4367 | + | |
| 4368 | + | |
| 4369 | + | |
| 4370 | + | |
| 4371 | + | |
| 4372 | + | |
| 4373 | + | |
| 4374 | + | |
| 4375 | + | |
| 4376 | + | |
| 4377 | + | |
| 4378 | + | |
| 4379 | + | |
| 4380 | + | |
| 4381 | + | |
| 4382 | + | |
| 4383 | + | |
| 4384 | + | |
| 4385 | + | |
| 4386 | + | |
| 4387 | + | |
| 4388 | + | |
| 4389 | + | |
4360 | 4390 | | |
4361 | 4391 | | |
4362 | 4392 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
472 | 472 | | |
473 | 473 | | |
474 | 474 | | |
475 | | - | |
476 | | - | |
477 | | - | |
478 | | - | |
479 | | - | |
| 475 | + | |
| 476 | + | |
| 477 | + | |
| 478 | + | |
| 479 | + | |
| 480 | + | |
| 481 | + | |
| 482 | + | |
| 483 | + | |
480 | 484 | | |
481 | 485 | | |
482 | 486 | | |
| |||
0 commit comments