Calling a function
A function call invokes an EGL-generated function or a system function. When the called function ends, processing continues either with the statement that follows the call or (in complex cases) with the next process required in an expression or in a list of parameters.
The function can be qualified with the name of a library or package, or with the keyword this. For more on when these qualifiers are required, see Scope
- a literal
- a constant
- a variable
- a more complex numeric, text, or date/time expression, potentially including a function invocation or substring
- a reference variable or an expression that evaluates to a reference
if(getCustomer())
...
endA BOOLEAN function that returns TRUE or a numeric function that returns a non-zero value passes the test.
You can use a literal as an argument if the access modifier is in or inOut. (Note that if the modifier is inOut, the argument is treated as if the in modifier were in effect.) The EGL-generated code creates a temporary variable of the parameter type, initializes that variable with the value, and passes the variable to the function.
- The following rules apply to structured records that
do not have the BasicRecord
stereotype:
- The type of the parameter and argument must be identical
- The access modifier must be inOut
- For structured records that have the BasicRecord stereotype,
the type
of the parameter and argument can vary:
- If the access modifier is in, the size of the argument you pass must be greater than or equal to the size of the receiving parameter.
- If the access modifier is Out or inOut, the size of the argument you pass must be less than or equal to the size of the receiving parameter.