FUNCTION compute_known_applicable_data_types
(cl : class_bsu) : SET [0:?] OF data_type_bsu;
LOCAL s: SET OF data_type_BSU := []; END_LOCAL;
IF SIZEOF(cl.definition) = 0 THEN RETURN(s); ELSE REPEAT i := 1 TO SIZEOF(cl.definition[1]\class.defined_types); s := s + cl.definition[1]\class.defined_types[i]; END_REPEAT; IF EXISTS(cl.definition[1]\class.its_superclass) THEN s := s + compute_known_applicable_data_types( cl.definition[1]\class.its_superclass); END_IF; RETURN(s); END_IF; END_FUNCTION; -- compute_known_applicable_data_types
|