#!***************************************************************************** #!Groups copied from ABGROUP.TPW to work-around template syntax limitations #!***************************************************************************** #GROUP(%BaseClassToUse) #IF(%UseDefaultABCBaseClass) #IF(%ActualDefaultBaseClassType) #RETURN(%ActualDefaultBaseClassType) #ELSE #ASSERT(%DefaultBaseClassType,'%BaseClassToUse: Symbol %DefaultBaseClassType is being returned empty ['&%ClassItem&']') #RETURN(%DefaultBaseClassType) #ENDIF #ELSIF(%UseABCBaseClass) #RETURN(%ABCBaseClass) #ELSIF(~%UseABCBaseClass) #RETURN(%ExtBaseClass) #ENDIF #ASSERT(%False,'%BaseClassToUse: IF clauses all missed') #!***************************************************************************** #GROUP(%GetBaseClassType) #ASSERT(%ClassItem,'%GetBaseClassType: ClassItem has no instance') #RETURN(%BaseClassToUse()) #!***************************************************************************** #GROUP(%MethodEmbedPointValid) #IF(UPPER(%pClassName)=UPPER(%BaseClassToUse()) AND ~%pClassMethodPrivate) #RETURN(%True) #ENDIF #RETURN(%False) #!***************************************************************************** #GROUP(%FixClassName,%ToUse) #ASSERT(%ToUse,'%FixClassName: ToUse parameter empty') #CALL(%ReadABCFiles(ABC)) #CALL(%NoCaseFix(ABC),%pClassName,%ToUse) #ASSERT(UPPER(%pClassName)=UPPER(%ToUse),'%FixClassName: Cannot find class '&%ToUse) #!***************************************************************************** #GROUP(%FixBaseClassToUse,%FixTo) #ASSERT(%FixTo,'%FixBaseClassToUse: FixTo parameter empty '&%FixTo) #CALL(%SetClassItem(ABC),%FixTo) #RETURN(%BaseClassToUse()) #!***************************************************************************** #GROUP(%ParentCallValid) #IF(UPPER(%pClassMethod)='CONSTRUCT' OR UPPER(%pClassMethod)='DESTRUCT' OR %pClassMethod='') #RETURN(%False) #ENDIF #RETURN(%True) #!*****************************************************************************