changes: Check that object name is not already a global/class function Add alternate access syntax @Name check that the name is not an internal function MG: 7/2/99 No mangling here for object access method, because no parameters. If we decide to mangle on return type (not likely) we can change this and use MARG.
#IFDEF UI.EXISTS #ELSE USE UI #ENDIF // check for following errors // 1. name defined as internal function // 2. name defined as overloaded function // 3. name defined as global function // 4. name defined as non-overloaded class function #IF ( (!Zl & 1)=0) #IFSAME FN$!1 __F__ #ERROR DFERR_COMP_ILLEGAL_OBJECT_DEFINTION !1 is an internal function name #ENDIF #ENDIF // check if name is already used for overloaded function, if so, error #IFDEF GET_!1_OVERLOADED #ERROR DFERR_COMP_ILLEGAL_OBJECT_DEFINTION !1 Already defined as a overloaded function #ELSE // Check that object name is not already a global or class function. #IFDEF GET_!1 #IF (GET_!1<$40000001) #IF (GET_!1<0) #ERROR DFERR_COMP_ILLEGAL_OBJECT_DEFINTION !1 Already defined as a global function #ELSE #ERROR DFERR_COMP_ILLEGAL_OBJECT_DEFINTION !1 Already defined as a function/Property #ENDIF #ENDIF #ELSE #REPLACE GET_!1 |CI!ZH #FREG GET_!1 RETURNS INTEGER // register additional object access methods // #REPLACE @!1 (!1(current_object)) #ENDIF // if Get_ defined #ENDIF // if Get_ overloaded