On 10/02/2015 10:07 AM, Markus Armbruster wrote:

>>>> RFC: I used a class-level static flag to track whether we expected
>>>> 'info is None' when creating a QAPISchemaEntity.  This is gross,
>>>> because the flag will only be set on the first QAPISchema() instance
>>>> (it works because none of our client scripts ever instantiate more
>>>> than one schema).  But the only other thing I could think of would
>>>> be passing the QAPISchema instance into the constructor for each
>>>> QAPISchemaEntity, which is a lot of churn.  Any better ideas on how
>>>> best to do the assertion, or should I just drop it?
>>>
>>> I'd check in QAPISchema._def_entity().
>>
>> Ah, instead of an assert in QAPISchemaEntity.__init__() (which requires
>> a leaky abstraction), instead write the assert into QAPISchema (so the
>> flag can now be instance-local).  Makes sense; I'll play with the idea.
> 
> :)

Oh, and this means accessing QAPISchemaEntity.info outside of the class,
which absolutely kills off my idea of renaming it to _info for hiding
purposes (so patch 12/12 is now officially gone).

-- 
Eric Blake   eblake redhat com    +1-919-301-3266
Libvirt virtualization library http://libvirt.org

Attachment: signature.asc
Description: OpenPGP digital signature

Reply via email to