cast method
Implementation
@override
Value? cast(ValueType newType) {
if (newType == valueType) {
return this;
}
if (newType == ValueType.Int) {
var parsedInt = int.tryParse(value);
if (parsedInt != null) {
return IntValue(parsedInt);
} else {
return null;
}
}
if (newType == ValueType.Float) {
var parsedFloat = double.tryParse(value);
if (parsedFloat != null) {
return FloatValue(parsedFloat);
} else {
return null;
}
}
throw badCaseException(newType);
}