|
FUNCTION using_items (item : founded_item_select, checked_items : SET [0:?] OF founded_item_select) : SET [0:?] OF founded_item_select; LOCAL new_check_items : SET OF founded_item_select ; result_items : SET OF founded_item_select ; next_items : SET OF founded_item_select ; END_LOCAL ; result_items := [ ] ; new_check_items := checked_items + item ; next_items := QUERY ( z <* bag_to_set ( USEDIN ( item , '' ) ) | ( 'representation_schema.representation_item' IN TYPEOF ( z ) ) OR ( 'representation_schema.founded_item' IN TYPEOF ( z ) ) ) ; IF SIZEOF ( next_items ) > 0 THEN REPEAT i := 1 TO HIINDEX ( next_items ) ; IF NOT ( next_items [ i ] IN new_check_items ) THEN result_items := result_items + next_items [ i ] + using_items ( next_items [ i ] , new_check_items ) ; END_IF ; END_REPEAT ; END_IF ; RETURN ( result_items ) ; END_FUNCTION; -- using_items |
|
public class FUsing_items public static Value run(SdaiContext _context, Value item, Value checked_items) |