There is no sys representation that contains this information. The best you can possibly do here is to use user_source or all_source (I know you said you didn’t take it into account, but I think this is the best you can do here).
With that said, if you use the standard g_-prefix for your global variables, does all_source play out really so badly? I think you could write PL / SQL to loop around the source and find "g_". This will probably require some tweaking and experimentation, but I think it's worth a try.
source share