next up previous
Next: MemManagerClass Up: simlib Previous: CmdLineClass

MemInfoClass


     NAME
	  meminfoclass - access	info about Simula objects in the heap

     DESCRIPTION
	  The routines in this class can scan the heap and access
	  information about the	Simula objects.	 This class is
	  interfacing to low level facilities and not intended for
	  general use. See also	MemStatistics.

     AUTHOR
	  Boris	Magnusson, Lund	University.

     DETAILED INTERFACE
	     class Meminfoclass;
	  The routines in this class can  scan	the  heap  and	access
	  information	about  the  Simula  objects.   This  class  is
	  interfacing to low level facilities  and  not	 intended  for
	  general use. See also	MemStatistics.

	  Supers: -
	  Kind:	Instantiable
	  Init:	MemInit
	  Sequencing: (MemInit (NextTemp
	  (TemplateType/BlockNr/Module)* )* )*

     OPERATIONS
     MemInit
	     procedure MemInit;
	  Initiates the	module.	Call this routine once before  calling
	  any of the other routines.

     NextTemp
	     integer procedure NextTemp;
	  Returns the "type" of	the next object	in the heap.  This  is
	  in the form of a unique integer for each class or procedure,
	  its "template" Returns zero when no more objects exist.

     TemplateType
	     integer procedure TemplateType(T);
	     integer T;	! Template identifer, returned by NextTemp.;
	  Returns the type of the template T (class  procedure	etc.).
	  These	are coded as integers, all blocks have Type>= 8R200.

     BlockNr
	     integer procedure BlockNr(T);
	     integer T;	! Template identifer, returned by NextTemp.;
	  Returns the unique block  identifier	(the  index  in	 -.atr
	  file)	  matching   the   template  T	which  must  be	 block
	  (TemplateType>=BlockType.

     Module
	     procedure Module(T,Buf);
	     name Buf; text Buf; ! Buffer to contain the result.;
	     integer T;	! Template identifer, returned by NextTemp.;
	  Returns  the	name  of  the  source  file  where  the	 block
	  corresponding	 to  the  template, T, is defined. T must be a
	  block, (TemplateType>=BlockType).

     CONSTANTS
     BlockType
	     integer BlockType=8R200; !	Lowest block-type value.;