=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= Command: FORWARD_END_CONSTRUCT ClassName { <argument> ... } Parameters: ClassName is the name of the class which owns the macro that is forwarding. <argument> is any argument required Description: This command allows the instance-ending macros defined for classes to 'inherit' the instance-ending macro(s) defined by their superclass(es). =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= <currentClassName> { <arg> ... }
#IFSUB '!1$SC' // if flex-defined class
#SPUSH // note: #SPUSH with no arg it pushes !$ (with no replacement). Don't pass arguments (obsolete technique as of 11.1)
#SET $$ !1$SC //get superclass name
#IFSUB '!$$EM' //if end-instance macro defined,
!$$EM !$ !2 !3 !4 !5 !6 !7 !8 !9 //use it
#ELSE
FORWARD_END_CONSTRUCT !$ !2 !3 !4 !5 !6 !7 !8 !9
#ENDIF
#SPOP // note: #SPOP always pops to $$ - it never takes an argument
#ELSE
DEFAULT_END_OBJECT //else use default
#ENDIF