Overview Schemas Index

Generic_expression_arm (jsdai.SGeneric_expression_arm)


FUNCTION Used_variables
          (arg : Generic_expression) : SET [0:?] OF Generic_variable;

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

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

IF 'GENERIC_EXPRESSION_ARM.UNARY_GENERIC_EXPRESSION' 
          IN TYPEOF  (arg)
THEN 
          RETURN (Used_variables (arg\Unary_generic_expression.operand));
END_IF;

IF 'GENERIC_EXPRESSION_ARM.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
'GENERIC_EXPRESSION_ARM.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)