Overview Schemas Index

ISO13584_GENERIC_EXPRESSIONS_SCHEMA (jsdai.SIso13584_generic_expressions_schema)


FUNCTION used_variables
          (arg : generic_expression) : SET [0:?] OF generic_variable;

LOCAL
          result : SET OF generic_variable := [];
END_LOCAL;

IF 'ISO13584_GENERIC_EXPRESSIONS_SCHEMA.GENERIC_VARIABLE' 
          IN TYPEOF  (arg) 
THEN 
          RETURN ([arg]);
END_IF;

IF 'ISO13584_GENERIC_EXPRESSIONS_SCHEMA.UNARY_GENERIC_EXPRESSION' 
          IN TYPEOF  (arg)
THEN 
          RETURN (used_variables (arg\unary_generic_expression.operand));
END_IF;

IF 'ISO13584_GENERIC_EXPRESSIONS_SCHEMA.BINARY_GENERIC_EXPRESSION'
          IN TYPEOF  (arg)
THEN 
          RETURN(used_variables(arg\binary_generic_expression.operands[1])
                    + used_variables (arg\binary_generic_expression.operands[2]));
END_IF;

IF
'ISO13584_GENERIC_EXPRESSIONS_SCHEMA.MULTIPLE_ARITY_GENERIC_EXPRESSION' 
          IN TYPEOF (arg)
THEN
          REPEAT i := 1 TO 
                    SIZEOF(arg\multiple_arity_generic_expression.operands);
                    result := result + used_variables(
                              arg\multiple_arity_generic_expression.operands[i]);
          END_REPEAT;
         
          RETURN (result);
END_IF;
RETURN ([ ]);

END_FUNCTION; -- used_variables

public class FUsed_variables
          public static Value run(SdaiContext _context, Value arg)