reportBinaryExpressions
This report is especially relevant for m-code that will be used for
code generation. It reports all binary expressions for which the
order of evaluation might matter. For this report, an expression is a
binary expression if it uses a binary operator. These operators are:
:
, ^
, ==
, <=
, >=
, ~=
, >
, <
, &
, &&
, |
, ||
, +
,
-
, *
, .``*
and /
. An expression will be reported by
reportBinaryExpressions if any of these are met:
-
A user-defined function is called on both sides of the operator.
-
A user-defined function is called on one side of the operator and a relevant variable is accessed on the other side of the operator. Relevant variables are:
-
Handle objects.
-
Persistent variables
-
Global variables
-
If a variable is accessed for which the datatype could not be reliably
obtained, it is also considered a relevant variable when the fourth
preference described in section
Preferences is set to false
. The datatype of
variables used in the code are unknown for example for the inputs of the
checked main function, or outputs of user-defined function calls.
Disabling the preference may lead to fewer (incorrect) results being
reported.
Exemption tag: %@ok<BINEX>