------------------------------------------------------------------------------ -- -- -- ASIS APPLICATION TEMPLATE COMPONENTS -- -- -- -- U N I T _ P R O C E S S I N G -- -- -- -- S p e c -- -- -- -- Copyright (c) 2000, Free Software Foundation, Inc. -- -- -- -- ASIS Application Templates are free software; you can redistribute it -- -- and/or modify it under terms of the GNU General Public License as -- -- published by the Free Software Foundation; either version 2, or (at your -- -- option) any later version. ASIS Application Templates are distributed in -- -- the hope that they will be useful, but WITHOUT ANY WARRANTY; without -- -- even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR -- -- PURPOSE. See the GNU General Public License for more details. You should -- -- have received a copy of the GNU General Public License distributed with -- -- distributed with GNAT; see file COPYING. If not, write to the Free -- -- Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, -- -- USA. -- -- -- -- ASIS Application Templates were developed and are now maintained by Ada -- -- Core Technologies Inc (http://www.gnat.com). -- -- -- ------------------------------------------------------------------------------ -- This package contains routines for ASIS Compilation Units processing. with Asis; package Unit_Processing is procedure Process_Unit (The_Unit : Asis.Compilation_Unit); -- This procedure decomposes its argument unit and calls the element -- processing routine for all the top-level components of the unit -- element hierarchy. This element processing routine is the instance -- of Traverse_Element which performs the recursive traversing of -- the unit structural components. In the given set of the ASIS -- implementation templates, the element processing routine is used -- "empty" actual Pre- and Post-Operations to instantiate -- Traverse_Element, they should be replaced by real subprograms -- when using this set of templates to build a real ASIS application -- from it. -- -- It the argument Unit is Nil or nonexistent unit, this procedure does -- nothing. end Unit_Processing;