setIdentifierValue method
Sets an identifier value.
Implementation
Object? setIdentifierValue(String identifier, Object? value, {bool constant = false}) {
if (!ScrinyParser.isValidIdentifier(identifier)) {
throw ArgumentError('Invalid identifier : $identifier.');
}
if (!isVariableValueValid(value)) {
throw ArgumentError('Invalid value : $value.');
}
_Value? currentValue = _values[identifier];
if (currentValue?.constant == true) {
throw ArgumentError('Cannot modify a constant : $identifier.');
}
_values[identifier] = _Value(
value: value,
constant: constant,
);
return currentValue?.value;
}