operatorMultiply method
Implementation
FutureOr<ASTValue> operatorMultiply(
VMContext context, ASTValue val1, ASTValue val2) {
var t1 = val1.type;
var t2 = val2.type;
if (t1 is ASTTypeInt) {
if (t2 is ASTTypeInt) {
var v1 = val1.getValue(context) as int;
var v2 = val2.getValue(context) as int;
var r = v1 * v2;
return ASTValueInt(r);
} else if (t2 is ASTTypeDouble) {
var v1 = val1.getValue(context) as int;
var v2 = val2.getValue(context) as double;
var r = v1 * v2;
return ASTValueDouble(r);
}
}
if (t1 is ASTTypeDouble) {
if (t2 is ASTTypeNum) {
var v1 = val1.getValue(context) as double;
var v2 = val2.getValue(context) as num;
var r = v1 * v2;
return ASTValueDouble(r);
}
}
throwOperationError('*', t1, t2);
}