cast method
Implementation
@override
Value cast(ValueType newType) {
if (newType == valueType) {
return this;
}
if (newType == ValueType.Int) {
return IntValue(this.value ? 1 : 0);
}
if (newType == ValueType.Float) {
return FloatValue(value ? 1.0 : 0.0);
}
if (newType == ValueType.String) {
return StringValue(value ? 'true' : 'false');
}
throw badCaseException(newType);
}