FUNCTION acyclic_mapped_item_usage
(rep : representation) : BOOLEAN;
LOCAL items : SET OF representation_item; END_LOCAL;
items := QUERY (item <* rep.items | 'AIC_DRAUGHTING_ANNOTATION.MAPPED_ITEM' IN TYPEOF (item)); IF SIZEOF (items) = 0 THEN RETURN (FALSE); ELSE REPEAT i := 1 TO HIINDEX (items); IF items[i]\mapped_item.mapping_source.mapped_representation :=: rep THEN RETURN (TRUE); ELSE RETURN (acyclic_mapped_item_usage(items[i]\ mapped_item.mapping_source.mapped_representation)); END_IF; END_REPEAT; RETURN (FALSE); END_IF; END_FUNCTION; -- acyclic_mapped_item_usage
|