Eric Blake <ebl...@redhat.com> writes: > We have a few fields that exist mainly to hold information from > __init__() until check() (matching the fact that parsing is > two-pass; the first to find type names, the second to associate > types together while honoring forward references), or which should > only be used through accessor methods. We should not use these > fields directly in other files after check() has run, so use the > python convention of naming these fields with leading underscore > to mark their internal usage, and to check that no one else was > using them. > > Exception: our crazy handling of simple unions (with a C member > 'kind' matching the QMP wire 'type') requires peeking through > the hidden field. This leaky abstraction will be cleaned up in > a later patch.
There are two more peeks: QAPISchemaAlternateType peeks when it asserts it got simple variants, and test-qapi.py peeks when it prints a flat union's tag. You missed the latter, and neglected to mention the former. > Signed-off-by: Eric Blake <ebl...@redhat.com> > --- > > Technically, I wrote this patch after 32; if you decide to rebase > it into the series, you'll have to split it among 2, 10, 11, and 30. > Up to you if you want to squash this in during your spin of v5, or > if you want me to keep it as a separate patch for inclusion after > your series. I doubt the improvement worth the churn as a follow-up patch. Instead, I'll squash it in, less the rename of .tag_name, plus a few more renames elsewhere. Thanks!