this is lower level end_class. It doesn't check that the command apppears in the "right" spot.
#SET ZI$ (!Zi+!Zf) //subobject count = self + superclass #REPLACE !$.AGG |CI!Zi //define subobject count !A [] END$CLASS U_!$ |CI!Zi #SPOP // restore the old class name #POP X$ // reset the property index #POP ZI$ // reset old sub_object_count #POP ZF$ // reset super_class_count #POP ZB$ // reset current_dep #POP B$ // reset obj_flag