- override
Creates a Expression by multiplying this member with the argument. Both
members may need to be hoisted to expressions themselves before this can
occur.
Warning: This operation may throw a ParserException if the resulting
expression is no longer linear. This is because a non-linear Expression
may not be used to create a constraint. At least one of the Expression
members must evaluate to a constant.
For example: ((left + right) >= (cm(2.0) * mid) declares a midpoint
constraint. Notice that at least one the members of the right hand
Expression is a constant.
Source
@override
Expression operator *(EquationMember m) {
_Multiplication args = _findMulitplierAndMultiplicand(m);
if (args == null) {
throw new ParserException(
'Could not find constant multiplicand or multiplier',
<EquationMember>[this, m]
);
}
return args.multiplier._applyMultiplicand(args.multiplicand);
}