home *** CD-ROM | disk | FTP | other *** search
- --
- -- Copyright (C) 1996 Ada Resource Association (ARA), Columbus, Ohio.
- -- Author: Gilles Demailly
- --
- --
- -- Permission to use, copy, modify, and distribute this software and its
- -- documentation for any purpose and without fee is hereby granted,
- -- provided that the above copyright and authorship notice appear in all
- -- copies and that both that copyright notice and this permission notice
- -- appear in supporting documentation.
- --
- -- The ARA makes no representations about the suitability of this software
- -- for any purpose. It is provided "as is" without express
- -- or implied warranty.
- --
-
-
- -- This child package provides the class Local_Variable_Table_Attribute :
- -- this attribute is used by debuggers to determine the value of the
- -- local variables during execution.
- --
- -- For more information about Java Class file format check :
- -- The Java Virtual Machine Specification
- -- (Release 1.0 Beta - Draft - August 21, 1995)
-
- with Basic_Definitions;
- use Basic_Definitions;
-
- with Byte_Utilities;
-
- with CP;
-
-
- package Attribute.Local_Variable_Table is
-
- -- This class attribute name in Java files
- ------------------------------------------
- C_Class_Name : constant Wide_String := "LocalVariableTable";
-
- -- type Local_Variable_Table_Attribute (subclass of Attribute)
- --------------------------------------------------------------
- type Local_Variable_Table_Attribute is new Attribute with private;
-
- -- Access to Local_Variable_Table_Attribute
- -------------------------------------------
- type Acc_Local_Variable_Table_Attribute is access all Local_Variable_Table_Attribute'Class;
-
- -- Decode informations of the attribute from a file
- ---------------------------------------------------
- procedure Decode (This : access Local_Variable_Table_Attribute;
- From_File : in Byte_Utilities.File_Type;
- Context : in CP.Acc_CP_Infos);
-
- -- Display the attribute
- ------------------------
- procedure Display (This : access Local_Variable_Table_Attribute;
- Context : in CP.Acc_CP_Infos);
-
- private
-
- -- informations for one local variable
- --------------------------------------
- type Variable_Info is
- record
- Start_Pc : Unsigned_16;
- Length : Unsigned_16;
- Name_Index : Unsigned_16;
- Signature_Index : Unsigned_16;
- Slot : Unsigned_16;
- end record;
-
- type Variable_Infos is array (Unsigned_16 range <>) of Variable_Info;
-
- type Acc_Variable_Infos is access Variable_Infos;
-
- -- adds a table of informations on local variables
- --------------------------------------------------
- type Local_Variable_Table_Attribute is new Attribute with
- record
- Local_Variable_Table_Length : Unsigned_16;
- Local_Variable_Table : Acc_Variable_Infos;
- end record;
-
- end Attribute.Local_Variable_Table;
-