mirror of
https://github.com/OPM/ResInsight.git
synced 2026-11-14 01:55:53 -06:00
The Python generator emits add_folder() again on a concrete collection class when the folder type narrows: SurfaceCollection.add_folder() returns SurfaceCollection and PolygonCollection.add_folder() returns PolygonCollection, while PdmNestedCollectionBase keeps the declared type. PdmObjectMethod::classKeywordReturnedTypeForSelf() reports the narrowed type, and the super class method check in the generator accepts such an override (same arguments, subclass return type). PdmNestedCollectionBase: subCollectionClassKeyword() names the folder type without creating one, addNewSubCollection() is a template method over createSubCollection() and returns PdmNestedCollectionBase*, and the base virtuals are pure. The leaf polygon containers only override canAddSubCollection(). collection_name() in rips returns the folder name for every nested collection; the class specific name attributes are kept.