Encapsulate ReferenceStackItem
Closed, ResolvedPublic

Description

The ReferenceStack class contains items with a heavy-weight abstraction, but currently written as generic arrays with string keys. This task is to convert the items into a first-class object, along the lines of P54438 . It's probably simplest to extract a pure data container in the first iteration, leaving the logic operating on the items still in ReferenceStack. Cite unit tests will also need to be adjusted.

Related Objects

Event Timeline

Change 984188 had a related patch set uploaded (by Awight; author: Awight):

[mediawiki/extensions/Cite@master] First-class internal data object for references

https://gerrit.wikimedia.org/r/984188

Change 984801 had a related patch set uploaded (by Awight; author: Awight):

[mediawiki/extensions/Cite@master] Ref key is always an int

https://gerrit.wikimedia.org/r/984801

Change 984801 merged by jenkins-bot:

[mediawiki/extensions/Cite@master] Ref sequence vs. key

https://gerrit.wikimedia.org/r/984801

Change 984991 had a related patch set uploaded (by Awight; author: Awight):

[mediawiki/extensions/Cite@master] Explicit parameter names for all test fixtures

https://gerrit.wikimedia.org/r/984991

Change 984996 had a related patch set uploaded (by Awight; author: Awight):

[mediawiki/extensions/Cite@master] More explicit test fixtures: key and count

https://gerrit.wikimedia.org/r/984996

Change 984991 merged by jenkins-bot:

[mediawiki/extensions/Cite@master] Explicit parameter names for all test fixtures

https://gerrit.wikimedia.org/r/984991

Change 985018 had a related patch set uploaded (by Awight; author: Awight):

[mediawiki/extensions/Cite@master] Fix fallback for count=null

https://gerrit.wikimedia.org/r/985018

Change 985108 had a related patch set uploaded (by Awight; author: Awight):

[mediawiki/extensions/Cite@master] [WIP] Internal call stack uses structured refs

https://gerrit.wikimedia.org/r/985108

Change 985332 had a related patch set uploaded (by Awight; author: Awight):

[mediawiki/extensions/Cite@master] Render list-defined parent without a backlink

https://gerrit.wikimedia.org/r/985332

Change 984188 abandoned by Awight:

[mediawiki/extensions/Cite@master] First-class internal data object for references

Reason:

Split into smaller patches.

https://gerrit.wikimedia.org/r/984188

Change 985109 had a related patch set uploaded (by Awight; author: Awight):

[mediawiki/extensions/Cite@master] Explicit test fixture field names

https://gerrit.wikimedia.org/r/985109

Change 985046 had a related patch set uploaded (by Awight; author: Awight):

[mediawiki/extensions/Cite@master] Rename internal variables

https://gerrit.wikimedia.org/r/985046

Change 985336 had a related patch set uploaded (by Awight; author: Awight):

[mediawiki/extensions/Cite@master] Copy group into refs

https://gerrit.wikimedia.org/r/985336

Change 985337 had a related patch set uploaded (by Awight; author: Awight):

[mediawiki/extensions/Cite@master] Remove test for a private method

https://gerrit.wikimedia.org/r/985337

Change 985338 had a related patch set uploaded (by Awight; author: Awight):

[mediawiki/extensions/Cite@master] Encapsulate ref object: limited to ReferenceStack

https://gerrit.wikimedia.org/r/985338

Change 985339 had a related patch set uploaded (by Awight; author: Awight):

[mediawiki/extensions/Cite@master] Encapsulate ref: pushRef returns an object

https://gerrit.wikimedia.org/r/985339

Change 985340 had a related patch set uploaded (by Awight; author: Awight):

[mediawiki/extensions/Cite@master] Encapsulate ref: groupRefs returned as objects

https://gerrit.wikimedia.org/r/985340

Change 985109 merged by jenkins-bot:

[mediawiki/extensions/Cite@master] Explicit test fixture field names

https://gerrit.wikimedia.org/r/985109

Change 985337 merged by jenkins-bot:

[mediawiki/extensions/Cite@master] Remove test for a private method

https://gerrit.wikimedia.org/r/985337

Change 985332 merged by jenkins-bot:

[mediawiki/extensions/Cite@master] Render list-defined parent without a backlink

https://gerrit.wikimedia.org/r/985332

Change 985018 merged by jenkins-bot:

[mediawiki/extensions/Cite@master] Include more information in missing parent placeholder

https://gerrit.wikimedia.org/r/985018

Change 984996 merged by jenkins-bot:

[mediawiki/extensions/Cite@master] More explicit test fixtures: key and count

https://gerrit.wikimedia.org/r/984996

Change 985336 merged by jenkins-bot:

[mediawiki/extensions/Cite@master] Store group in ref items

https://gerrit.wikimedia.org/r/985336

Change 985338 merged by jenkins-bot:

[mediawiki/extensions/Cite@master] Encapsulate ref object: limited to ReferenceStack

https://gerrit.wikimedia.org/r/985338

Change 985339 merged by jenkins-bot:

[mediawiki/extensions/Cite@master] Encapsulate ref: pushRef returns an object

https://gerrit.wikimedia.org/r/985339

Change 985340 merged by jenkins-bot:

[mediawiki/extensions/Cite@master] Encapsulate ref: groupRefs returned as objects

https://gerrit.wikimedia.org/r/985340

Change 985046 merged by jenkins-bot:

[mediawiki/extensions/Cite@master] Rename internal variables

https://gerrit.wikimedia.org/r/985046

awight moved this task from Tech Review to Done on the WMDE-TechWish-Sprint-2024-01-04 board.
awight claimed this task.