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