Commit dff0475f by Ed Schonberg Committed by Arnaud Charlet

lib-xref.adb (Generate_Definition, [...]): Treat the internal entity created for…

lib-xref.adb (Generate_Definition, [...]): Treat the internal entity created for the declaration of a child subprogram...

2005-11-14  Ed Schonberg  <schonberg@adacore.com>

	* lib-xref.adb (Generate_Definition, Generate_Reference): Treat the
	internal entity created for the declaration of a child subprogram body
	with no spec as coming from source, to generate proper cross-reference
	information.

From-SVN: r106988
parent 70b352b5
......@@ -111,8 +111,13 @@ package body Lib.Xref is
if Opt.Xref_Active
-- Definition must come from source
-- We make an exception for subprogram child units that have no
-- spec. For these we generate a subprogram declaration for library
-- use, and the corresponding entity does not come from source.
-- Nevertheless, all references will be attached to it and we have
-- to treat is as coming from user code.
and then Comes_From_Source (E)
and then (Comes_From_Source (E) or else Is_Child_Unit (E))
-- And must have a reasonable source location that is not
-- within an instance (all entities in instances are ignored)
......@@ -518,6 +523,14 @@ package body Lib.Xref is
end if;
end loop;
-- The internally created defining entity for a child subprogram
-- that has no previous spec has valid references.
elsif Is_Overloadable (E)
and then Is_Child_Unit (E)
then
Ent := E;
-- Record components of discriminated subtypes or derived types
-- must be treated as references to the original component.
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment