Commit d9b53a3d authored by yoogx's avatar yoogx
Browse files

* Correct resolution mechanism for call sequence: allow for

          subcomponents
parent 1ccef6f6
......@@ -335,11 +335,21 @@ package body Ocarina.Analyzer.AADL.Links is
Pointed_Node_Is_Ok : Boolean;
Other_Pointed_Node_Is_Ok : Boolean;
begin
-- Either look in available components
Pointed_Node := Find_Component_Classifier
(Root => Root,
Package_Identifier => Pack_Identifier,
Component_Identifier => Identifier (Subprogram_Ref));
-- or in local subclauses
if No (Pointed_Node) then
Pointed_Node := Find_Subclause
(Container_Component (Parent_Sequence (Node)),
Identifier (Subprogram_Ref));
end if;
if Present (Next_Node (First_Node (Path (Subprogram_Ref)))) then
Other_Pointed_Node := Find_Component_Classifier
(Root => Root,
......@@ -371,7 +381,9 @@ package body Ocarina.Analyzer.AADL.Links is
Pointed_Node_Is_Ok := Present (Pointed_Node)
and then
((Kind (Pointed_Node) = K_Component_Type
or else Kind (Pointed_Node) = K_Component_Implementation)
or else Kind (Pointed_Node) = K_Component_Implementation
or else Kind (Pointed_Node) = K_Subcomponent)
and then Component_Category'Val (Category (Pointed_Node)) =
CC_Subprogram);
......
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