Code Listing 4: Expressing hierarchy with ALL_ARGUMENTS

 1  CREATE OR REPLACE PACKAGE BODY OverloadCheck

 2  IS
 3     TYPE breakouts_t IS TABLE OF all_arguments%ROWTYPE
 4        INDEX BY PLS_INTEGER; -- The level
 5
 6     TYPE arguments_t IS TABLE OF breakouts_t

 7        INDEX BY PLS_INTEGER; -- The position
 8
 9     TYPE overloadings_t IS TABLE OF arguments_t
10        INDEX BY PLS_INTEGER; -- The overloading
11
12     TYPE programs_t IS TABLE OF overloadings_t

13        INDEX BY all_arguments.object_name%type;
14
15     g_programs programs_t;