with Asis.Generic_Implicit_Traverse; package Asis.Toolkit.ObjectAda.Elements is ----------------------------------------------------------------- function Enclosing_Declaration (Element : in Asis.Element) return Asis.Declaration; ----------------------------------------------------------------- -- Element - Specifies the element to query -- -- Returns the Declaration that immediately encloses the Element. -- -- All Element_Kinds are appropriate except Not_An_Element. -- ----------------------------------------------------------------- function Element_Image (Element : in Asis.Element) return String; ----------------------------------------------------------------- -- Element - Specifies the element to query -- -- For A_Declaration elements, returns a string of the declaration name, -- Declaration_Kind, and the first line number. -- -- For A_Definition elements, returns a string of the Definition_Kind, -- and the first line number. -- -- For all other kinds, returns a string of the first level kind -- classification. -- -- All Element_Kinds are appropriate. -- ----------------------------------------------------------------- procedure Print_Span (Element : Asis.Element; Verbose : Boolean := True; Show_Lines : Boolean := False; Show_Image : Boolean := False); procedure Print_Element (Element : in Asis.Element; Verbose : in Boolean := False; span : in Boolean := True); ----------------------------------------------------------------- -- generic -- type State_Information is limited private; -- with procedure Traverse_Element -- (Element : in Asis.Element; -- Control : in out Asis.Traverse_Control; -- State : in out State_Information); -- procedure Asis.Generic_Implicit_Traverse -- (Element : in Asis.Element; -- Control : in out Asis.Traverse_Control; -- State : in out State_Information); generic procedure Implicit_Traverse renames Asis.Generic_Implicit_Traverse; ----------------------------------------------------------------- -- This procedure will traverse implicit elements including -- expanded instance specs and bodies, inherited enumeration literals, -- inherited record components, and inherited subprograms. -- -- Asis.Traverse_Element does not traverse implicit elements by -- default. -- -- Calling this from the Post_Operation of an instance of -- Asis_Elements.Traverse_Element causes implicit elements -- to be traversed as if they followed instances and derived type -- definitions in the Ada source code. -- ----------------------------------------------------------------- end Asis.Toolkit.ObjectAda.Elements;