home *** CD-ROM | disk | FTP | other *** search
/ Amiga ISO Collection / AmigaUtilCD2.iso / Programming / Misc / M2V11-1.LHA / modula / amiga / Classes.mod < prev    next >
Encoding:
Modula Implementation  |  1993-11-22  |  774 b   |  33 lines

  1. (* @P- @B- *)
  2. IMPLEMENTATION MODULE Classes ;
  3.  
  4. FROM SYSTEM IMPORT ADDRESS ;
  5. IMPORT I := Intuition{36} ;
  6.  
  7. PROCEDURE INST_DATA( cl : IClassPtr ; o : ADDRESS ) : ADDRESS ;
  8. BEGIN RETURN o+cl^.cl_InstOffset ;
  9. END INST_DATA ;
  10.  
  11. PROCEDURE SIZEOF_INSTANCE( cl : IClassPtr ) : LONGINT ;
  12. BEGIN RETURN ( cl^.cl_InstOffset + cl^.cl_InstSize + SIZE( _Object ) )
  13. END SIZEOF_INSTANCE ;
  14.  
  15. PROCEDURE _OBJ( o : ADDRESS ) : _ObjectPtr ;
  16. BEGIN RETURN o
  17. END _OBJ ;
  18.  
  19. PROCEDURE BASEOBJECT( _obj : ADDRESS ) : _ObjectPtr ;
  20. BEGIN RETURN _obj+SIZE(_Object)
  21. END BASEOBJECT ;
  22.  
  23. PROCEDURE _OBJECT( o : ADDRESS ) : _ObjectPtr ;
  24. BEGIN RETURN o-SIZE(_Object)
  25. END _OBJECT ;
  26.  
  27. PROCEDURE OCLASS( o : _ObjectPtr ) : IClassPtr ;
  28. BEGIN RETURN o^.o_Class
  29. END OCLASS ;
  30.  
  31. BEGIN I.Intuition_BEGIN( VERSION )
  32. END Classes.
  33.